做了个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)
结果是:
原图片:
结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
您可能感兴趣的文章:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。