Python 利用PIL将图片转为字符
来源:互联网 发布:中银淘宝卡年费逾期 编辑:程序博客网 时间:2024/05/16 15:56
Python 利用PIL将图片转为字符
PIL(Python Imaging Library)是Python语言的一个图像处理库,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,而且API非常简单易用,可以用它实现很多图像处理功能。
这里介绍一种用PIL将图片转换为字符的方法。
实现的效果为:
原图像:
转换后的字符:
CCO$Q$C?COOO?COHNHMMMNM$$MN$C?O$?>77777::::::::::-CCO$Q$CCCCCCQ$QMNHMNMNH7$H??COHQ7>77777!::::::::--CCO$QOCCCCCOHH$QNNMNNHH$OCCQQ$$!>777777!:::::::---COO$QOCCCCCOQHQQQHH$OC?!>?C$$??!7777777!::::::::::COO$QOCCCCCOHQQQCOO>>>!-!>>7C????77777?!::::::::::COO$$OCCCCCOQC7????C?>!::!O??C?77??777?>::::::::--COOQ$OCCCCC??>!>OO7C$!>!!:C?>$H?>77777?>:::::::---?OOQ$OCCCC?7>!:?HC!7C!>:::>7>7NO:>77777>:::::::::-COOQ$OCCC77>>!:?Q>!>>!----:>!:?7:!>>7>7>:::::::::-COOQ$OCC7>!>>::>?!>>!:-----!>!!>!:>7>>>7!:::::::--COOQ$O?>!!!>7!!>>>7?!------!7>>>7OHQO7!!7!::::::--COOQ$O7!::>OHQC77777!:-----:>>>?HHQHNH7!>7!:::::::CO$Q$?!!:7QNNNNQC7?7>:-----:>>?QQ$QQ$H$77>>!::::::OOOQC>>!!QNQHHQHHC??>::-----!>OQQHNNHOQ?CC7!!:::--OO$O>>7?OHONHNNHHHC7!:---;---:$QQHHHN$Q7>?C?!:::--OOO>>OQCOQQNHNNNQNO!:--;;;;;--$QQHHHHHH>::7$7!::--OO??QH?!?HHHHHHHHNO:------;;--?$QHHNNQ7:!>>$O>::--OO?$HC!!!ONNHHNHQQ>::------;---:!>77>--:>77$Q7!:--OOOHQ?7>>>7?COC>!!-::-::-------;;;;.;;-!>7?COO!:--OOOQQO?OCC?>!::--;-:::!::::!:-;;-;-;;--:!>?7C$7:--OCQO$QO$O?7>!--;;---:!!!!!!!!-;;;----;-:!!??CQC!-:OOHOCQ$OC77!:------:7777777?7>-;-------:!7?77CO77CO$HOO$QOC?7!::::---->OQO77C$?-;;;--:::::!>>>>7C$$$O$$$CC$$$C7>!!!::---;>?C7777!------::::::!>>>>COC?$O?777?CO?7>!!:-:!!!!!>>??7>!:::!::-::::!>7>>:7?77O?>>7777??7>>!:!!!!!!>!!7?>>!!!!!!!:::!!!7C?>!>7>>O7!>7?$$O?>>!::!!>>!>>>>7?7>>!!>!!!::::!!?OOC????CC?>7C$Q$?7>!!!!!!!>>>>>>7?7>>>>7>!::::!::!?OO$$C??OC7?$Q$OC7!!!:!!!!7777>7?C?7>77>!!!::::!!!!>7C?7>>$O$$OC?7>>!!::!:!!>>777??????7>!!!!!::::!!!>>77777?CO???>7>!!!:::!!!!>>>>7777>>>!!:!:::::::!!!777777??77>>>>!!:::::!!!!!!!>>>>>>!!!::::!::!!::!>?>>77>7777>!!!::::!!!!!!:!!!!!>!!!!!!::::::::!!!!>>>777!?7!>>>!:!!!!!!!!!:!!!!!!!!:!!::::::::::::!!!!>77!:?>-->7>!:!!!:::!!::!!!!!:!:::::::::::!:::!!:>7>!::7!.-:>!::!!::!!!:::!::!::::::::::::::!:::!:-!!:-!>?-.;-:::::::!!:!!!:::::::!:::::::::::::::!:-----:!>;.;---::::::::!!:::::::::::::::::::::::!!:--:---:!.;-----::::::::::::::::::::::::::::::::!!:---::::-.;--:--:::::::::!::::::::::::::::::::!!!!::--::::-;--::---::::::!:::::::::::::::::::::!!!!!!:--:::::;--:::::::::::::::::::!!!!::!!::!!!!!!!!!!:--:::!;;-:::!!!::!!!!!!!!!!!!!!>!!!!:!!!!!!!!!!!!::::!>>;;-:::!!!!!!!!!!!!!!!!!!!!!!!!:!!!!!!!!!!!!:::>>77;;-:::!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!::!7777;;-::!!!!!>!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:!7>77;;-:!!!!!>!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:!????;;-::!!!!!!!!!!!!!:!!!!!!!!!!!!!!!!!!!!!!!!!:>?C$Q;;-:::!!!!!!!!!!!!:!!!!!!!!!!!!!!!!!!!!!!!!!:!?O$Q
Python程序代码:
#!/usr/bin/env python# -*- coding: utf-8 -*-import sysfrom PIL import Imagedef image_to_text(pixels, width, height): color = "MNHQ$OC?7>!:-;. " string = "" for h in xrange(height): for w in xrange(width): rgb = pixels[w, h] string += color[int(sum(rgb) / 3.0 / 256.0 * 16)] string += "\n" return stringdef load_and_resize_image(imgname, width, height): img = Image.open(imgname) if img.mode != 'RGB': img = img.convert('RGB') w, h = img.size rw = width * 1.0 / w rh = height * 1.0 / h r = rw if rw < rh else rh rw = int(r * w) rh = int(r * h) img = img.resize((rw, rh), Image.ANTIALIAS) return imgdef image_file_to_text(img_file_path, dst_width, dst_height): img = load_and_resize_image(img_file_path, dst_width, dst_height) pixels = img.load() width, height = img.size string = image_to_text(pixels, width, height) return stringif __name__ == '__main__': imgname = sys.argv[1] w = int(sys.argv[2]) h = int(sys.argv[3]) print image_file_to_text(imgname, w, h)
0 0
- Python 利用PIL将图片转为字符
- 将图片转为字符数据
- python中利用PIL(Python Image Library) 将矩阵转换为图片
- 利用Python PIL、cPickle将图片读取和保存为pkl格式文件
- 将图片转为ASCII字符画
- [Java]将Base64编码字符转为图片
- 利用Opencv将图片转为视频
- h5利用file将图片转为base64
- 利用cython将python转为c代码
- 使用Python将文本转为图片
- python 将文字转为图片Logo
- 利用python pil 实现给图片上添加文字
- 【CTF】用python PIL将RGB值转化为图片
- 【python】PIL resize图片
- django 利用PIL 保存图片
- 利用FFmpeg将Jpeg图片转为任意视频容器格式
- 利用FFmpeg将Jpeg图片转为任意视频容器格式
- 利用FFmpeg将Jpeg图片转为任意视频容器格式
- 蓝桥杯 01字串
- 转场视图
- uvaoj-455:周期串
- Karma的第一次使用
- 范式理论
- Python 利用PIL将图片转为字符
- 三种ViewController跳转的异同
- swoole(一)
- 数据库三范式
- 改进版的冒泡排序(双向冒泡算法)
- 【官方】Android Studio中使用Git托管到GitHub
- 命令行模式下备份、还原 MySQL 数据库
- java 单链表实现栈
- Java设计模式(十五)----观察者模式