python Opencv将图片转为字符画
程序员文章站
2022-04-29 18:33:13
做了个python的小练习,网上有人是利用pil中的image来实现的,觉得opencv库挺方便的,于是利用opencv库来实现了一下,代码如下:
# -*- c...
做了个python的小练习,网上有人是利用pil中的image来实现的,觉得opencv库挺方便的,于是利用opencv库来实现了一下,代码如下:
# -*- coding: utf-8 -*- # feimengjuan # 实现将图片转为字符画 import cv2 ascii_char = list("$@b%8&wm#*oahkbdpqwmzo0qlcjuyxzcvunxrjft/\|()1{}[]?-_+~<>i!li;:,\"^`'. ") # 将灰度值转为字符 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]): # 对打开的图片的每个坐标的灰度值做判断, # 用get_char()获取该颜色灰度值对应的字符,然后拼接成字符串txt txt += get_char(gray[i,j]) txt += '\n' print txt #字符画输出到文件中 f = open('output.txt','w') f.write(txt)
结果是:
原图片:
结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。