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