做了個(gè)Python的小練習(xí),網(wǎng)上有人是利用PIL中的Image來實(shí)現(xiàn)的,覺得Opencv庫挺方便的,于是利用Opencv庫來實(shí)現(xiàn)了一下,代碼如下:
# -*- coding: utf-8 -*- # feimengjuan # 實(shí)現(xiàn)將圖片轉(zhuǎn)為字符畫 import cv2 ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft//|()1{}[]?-_+~<>i!lI;:,/"^`'. ") # 將灰度值轉(zhuǎn)為字符 def get_char(gray_number): length = len(ascii_char) unit = (256.0 + 1)/length return ascii_char[int(gray_number/unit)] if __name__ == '__main__': image1 = cv2.imread('8.jpg') image = cv2.resize(image1,(85,110)) gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY) txt = "" for i in range(image.shape[0]): for j in range(image.shape[1]): # 對(duì)打開的圖片的每個(gè)坐標(biāo)的灰度值做判斷, # 用get_char()獲取該顏色灰度值對(duì)應(yīng)的字符,然后拼接成字符串txt txt += get_char(gray[i,j]) txt += '/n' print txt #字符畫輸出到文件中 f = open('output.txt','w') f.write(txt) 結(jié)果是:
原圖片:

結(jié)果:

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選