jave image to ascii
背景:
最近在研究词云(word cloud)发现个很有意思的东西。
不知道大家有没有看到过下面这种注释
比如
/***
* _ooOoo_
* o8888888o
* 88" . "88
* (| -_- |)
* O\ = /O
* ____/`---'\____
* . ' \\| |// `.
* / \\||| : |||// \
* / _||||| -:- |||||- \
* | | \\\ - /// | |
* | \_| ''\---/'' | |
* \ .-\__ `-` ___/-. /
* ___`. .' /--.--\ `. . __
* ."" '< `.___\_<|>_/___.' >'"".
* | | : `- \`.;`\ _ /`;.`/ - ` : | |
* \ \ `-. \_ __\ /__ _/ .-` / /
* ======`-.____`-.___\_____/___.-`____.-'======
* `=---='
*
* .............................................
* 佛祖保佑 永无BUG
*/
又比如
/*** 初音镇楼
*_______________#########_______________________
*______________############_____________________
*______________#############____________________
*_____________##__###########___________________
*____________###__######_#####__________________
*____________###_#######___####_________________
*___________###__##########_####________________
*__________####__###########_####_______________
*________#####___###########__#####_____________
*_______######___###_########___#####___________
*_______#####___###___########___######_________
*______######___###__###########___######_______
*_____######___####_##############__######______
*____#######__#####################_#######_____
*____#######__##############################____
*___#######__######_#################_#######___
*___#######__######_######_#########___######___
*___#######____##__######___######_____######___
*___#######________######____#####_____#####____
*____######________#####_____#####_____####_____
*_____#####________####______#####_____###______
*______#####______;###________###______#________
*________##_______####________####______________
*/
这些是怎么生成的呢?后面我找到一个小工具jave(注意不是java)下载地址:https://download.csdn.net/download/huanglin6/86777263
官网在这:http://www.jave.de/
1、下载工具
注意因为是java编写的,所以是需要安装java环境的,官网要求最低是(JRE) 1.2
2、安装工具
下载完后直接解压,不需要安装可以直接使用
双击jave.jar运行
3、使用工具
I、Convert an Imager to ASCII
我们可以直接使用Convert an Imager to ASCII来讲图片转换成ASCII
II、上传图片
选中要转换的图片后可以在下面看到预览的效果
III、图片处理
我们可以对转换效果做一些测试
根据上面的几个选项大概猜到应该是通过算法对图片的二进制进行灰度,然后通过梯度下降检测出边缘,以此来显示图片的轮廓的。
IV、转换设置
V、最后调整
发现最下面还有些比较孤立的1,看到很奇怪,我们可以使用左边的橡皮擦给修一下
VI、最终效果
修补后效果好多了
VII、导出