[关闭]
@cleardusk 2018-12-24T12:48:52.000000Z 字数 667 阅读 1337

图像处理之 project

雁栖湖


说明

本程序是将图片转换为 ascii 文本(本意是侧重人脸的),imgs 文件夹有几张运行的结果,可以看看效果。由于时间受限,实现的功能较少。但核心算法是
已经实现了的,原理也比较简单。如果文本编辑器支持的行列数比较少,可以用浏览器打开进行缩放,效果更好。

运行

  1. gjz_img2txt('./imgs/tly1.png', 6, 'mean', false)

第一个参数是读取图片的路径。
第二个参数 step 是步长的意思,每隔 step 个像素进行采样。step 越大,输出的 ascii 越小。
第三个参数是不同的灰度化方法,mean 意思是对输入 RGB 通道的图像 RGB 分量取平均作为单通道的灰度图,即 ,还可以选择 normal,就是常规的灰度化 ,当然输入若是单通道的就不用灰度化了。
第三个参数是是否进行直方图均衡化,对于对比度比较差的图片,可以设置为 true

调用该函数后会在图片的路径写一个 txt,文件名就是 ${file_name}.txt

一般图片较清楚,后两个参数设置为 meanfalse 效果较好。

原理

跟打印机打印不同灰度的文稿一样,人眼对不同密度的点会产生不同 level 的 intensity 效果。具体见 gjz_img2txt_core.m 文件。

代码

已经移植到 Python:https://github.com/cleardusk/ImageToAscii

补充

若有任何疑问,欢迎与我讨论~

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注