image to char

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/he_wen_jie/article/details/81671965
import cv2

ascii_char = list('#8XOHLTI)i=+;:,. ')

length = len(ascii_char)

imgname = "timg1.jpg"

def get_char(gray, mode):
    if mode:
        return  ascii_char[gray * length/256]
    else:
        return  ascii_char[-gray * length/256-1]

img  = cv2.imread(imgname,0)
img = cv2.GaussianBlur(img,(3,3),0)
img = cv2.Canny(img, 50, 150)

img_h,img_w = img.shape

new_h = 60
new_w = int(img_w*1.5 * new_h / img_h)
print(new_w*1.2)
img  = cv2.resize(img,(new_w,new_h))

# cv2.imshow('Canny', img)
# cv2.waitKey(0)
# cv2.destroyAllWindows()

with open('lena.txt','w') as f:
    for i in range(new_h):
        txt = ''
        for j in range(new_w):
            txt += get_char(img[i][j],0)
        f.write(txt+'\n')
        print(txt)

猜你喜欢

转载自blog.csdn.net/he_wen_jie/article/details/81671965
今日推荐