I tried mosaic art as a practice of OpenCV with Python.
output.txt
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111000000000011111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111000011111111111111111111100011111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111100011111111111111111111111111111111100111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111100111111111111111111111111111111111111111110011111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111110011111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111100111111111111111111111111111111100011111100011111111110111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111110110000000001111111111111111111001111111111111111001111111100111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111000111111111111100111111111111100111111111111111110001011111111001111111111111111111111111111111111111111111
111111111111111111111111111111111111111100111111111111111111100111111111011111111111111100011111100111111110111111111111111111111111111111111111111111
111111111111111111111111111111111111111011111111111111111111111011111101111111111111100111111111111011111111101111111111111111111111111111111111111111
111111111111111111111111111111111111100111111111111111111111111101111011111111111001111111111111111101111111110111111111111111111111111111111111111111
111111111111111111111111111111111111001000001111111111111111111110111011111110011111111111111111111110111111111101111111111111111111111111111111111111
111111111111111111111111111111111110011111111111000000111111111111010111100011110000111111111111111110111111111110111111111111111111111111111111111111
111111111111111111111111111111111101011111111111111111111100000011100000111110000000001111111111111110111111111111011111111111111111111111111111111111
111111111111111111111111111111110010111111111110000001111111111111100111111100000000000111111111111110111111111111101111111111111111111111111111111111
111111111111111111111111111111110110111111111100000000011111111111100111111100000000000111111111111110111111111111110111111111111111111111111111111111
111111111111111111111111111111101111011111111000000000011111111111100111111110000000001111111111111110111111111111111011111111111111111111111111111111
111111111111111111111111111111011111011111111100000000111111111111011011111111000000011111111111111101111111111111111011111111111111111111111111111111
111111111111111111111111111111011111101111111110000001111111111110111101111111111111111111111111111101111111111111111101111111111111111111111111111111
111111111111111111111111111110111111110111111111111111111111111101111110111111111111111111111111111011111111111111111101111111111111111111111111111111
111111111111111111111111111110111111111011111111111111111111111011100111011111111111111111111111101111111111111111111110111111111111111111111111111111
111111111111111111111111111101111111111110111111111111111111100000000000010111111111111111111110111111111111111111111110111111111111111111111111111111
111111111111111111111111111101111111111111100111111111111100100000000000000100111111111111110011111111111111111111111111011111111111111111111111111111
111111111111111111111111111101111111111111111110000000001111000000000000000011110000000000111111111111111111111111111111011111111111111111111111111111
111111111111111111111111111101111111111111111111111111111111000000000000000011111111111111111111111111111111111111111111011111111111111111111111111111
111111111111111111111111111101111111111111111111111111111111000000000000000011111111111111111111111111111111111111111111011111111111111111111111111111
111111111111111111111111111101111111111111111111111111111111000000000000000011111111111111111111111111111111111111111111011111111111111111111111111111
111111111111111111111111111101111111111111111111111111111111100000000000000111111111111111111111111111111111111111111111011111111111111111111111111111
111111111111111111111111111101111111111111111111111111111111111000000000011111111111111111111111111111111111111111111111011111111111111111111111111111
111111111111111111111111111101111111111111111111111111111111111111000011111111111111111111111111111111111111111111111111011111111111111111111111111111
111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111
111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111
111111111111111111111111111110111111111111111111111111111111111000000000000000000001111111111111111111111111111111111101111111111111111111111111111111
111111111111111111111111111111011111111111111111111100000000000000000000000000000000000000000001111111111111111111111101111111111111111111111111111111
111111111111111111111111111111011111111111111100000000000000000000000000000000000000000000000000000011111111111111111011111111111111111111111111111111
111111111111111111111111111111101111111111100000000000000000000000000000000000000000000000000000000000001111111111111011111111111111111111111111111111
111111111111111111111111111111110111111110000000000000000000000000000000000000000000000000000000000000000011111111110111111111111111111111111111111111
111111111111111111111111111111110111111100000000000000000000000000000000000000000000000000000000000000000001111111101111111111111111111111111111111111
111111111111111111111111111111111001111110000000000000000000000000000000000000000000000000000000000000000011111111011111111111111111111111111111111111
111111111111111111111111111111111100111111000000000000000000000000000000000000000000000000000000000000000111111110111111111111111111111111111111111111
111111111111111111111111111111111111011111111000000000000000000000000000000000000000000000000000000000111111111101111111111111111111111111111111111111
111111111111111111111111111111111111101111111111100000000000000000000000000000000000000000000000001111111111110011111111111111111111111111111111111111
111111111111111111111111111111111111110011111111111111111000000000000000000000000000000000111111111111111111101111111111111111111111111111111111111111
111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111
111111111111111111111111111111111111111111011111111111111111111111111111111111111111111111111111111111111001111111111111111111111111111111111111111111
111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111100111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111100111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111001111111111111111111111111111111111111111111111110011111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111110011111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111100011111111111111111111111111111111100111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111000111111111111111111111100001111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111110000000000000111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
image.py
import cv2 #<=Pixel manipulation
import numpy as np #<=Array manipulation
def zero_one(image):
output_width = 150 #It will be the number of characters next to the output
font_aspect = 1.8 #1:1.8 may be the best(When you make a character, the character is vertically long, so adjust the height.)
ikichi = 180 #Please adjust
im_gray = cv2.imread(image, 0)#Graying
height = im_gray.shape[0] #Get height
width = im_gray.shape[1] #Get width
if width > output_width: #When the photo is larger than the output width
im_resized = cv2.resize(im_gray,(output_width,int((output_width/width)*height/font_aspect)))
else:
im_resized = cv2.resize(im_gray,(width,int(height/font_aspect)))
ret,th = cv2.threshold(im_resized, ikichi, 255, cv2.THRESH_BINARY) #Binarization
#It seems that there are various settings, but please do so elsewhere.
th[th != 0] = 1 #In this case, the white part is converted to 1.
f = open('write1.txt', 'w') #Start reading
for array in th: #About each line
row = map(str,array)
line = "".join(row)
line.replace("[","")
line.replace("]","")
line.replace(" ","") #I'm sorry for forcibly m(_ _)m
f.write(line)
f.write("\n")
f.close() #close
print("Complete")
print("start")
zero_one("angry.png ")
It's not particularly useful, but thank you. I want to do various things with Python from now on.
Recommended Posts