作者:刘志军,6年+Python使用经验, 高级开发工程师,目前在互联网医疗行业从事Web系统构架工作
个人公众号:Python之禅(微信ID:vttalk)
GitHub上有个很有意思的项目,这个项目就是将一张图片转换成一个网页,例如这张蒙娜丽莎的微笑转换成网页之后的效果对比:
左边是原图,右边是网页的效果,网页其实是由文字“爱”组成的。 具体的实现原理就是将图片切成很多个N*N的小块,然后将每个小块的像素平均值当做合成像素的颜色,最后渲染到 HTML 页面中对应位置的文字颜色。
原项目GitHub地址:https://github.com/xlzd/img2html不过它只能支持Python2,我Fork了一份,将其转换为了 Python3 的版本。
安装
直接通过 GitHub 进行安装
$ pip install git+https://github.com/lzjun567/img2html
命令行使用方式
安装完成后,可以直接使用命令 img2html 执行,-i 和 -o 两个参数是必须指定的,前者表示要转换的图片,后者表示输出的文件名,如果没有指定 o 参数,那么 HTML 将直接输出在控制台,其它参数都是可选的。
usage: img2html -i IN -o OUTimg2html : Convert image to HTMLoptional arguments: -b #RRGGBB, --background #RRGGBB background color (#RRGGBB format) -s (4~30), --size (4~30) font size (int) -c CHAR, --char CHAR characters -t TITLE, --title TITLE html title -f FONT, --font FONT html font -i IN, --in IN 要转换的图片 -o OUT, --out OUT 输出文件名例如$ img2html -i mnls.jpg -o test.html
代码调用
fromimg2html.converterimportImg2HTMLConverter
converter = Img2HTMLConverter(char='爱')
html = converter.convert("mnls.jpg")
withopen("mnls.html", mode='w', encoding="utf-8")asf:
f.write(html)
Python3版本链接:https://github.com/lzjun567/img2html
主要修改的地方有两处,一个是字符串不兼容的问题,第二个是修复了 itertools.cycle 没有next方法的问题。整个项目就一个文件,可以 Fork 下来读读他的源代码。
Python的爱好者社区历史文章大合集:
小编的转行入职数据科学(数据分析挖掘/机器学习方向)【最新免费】
小编的Python的入门免费视频课程!
小编的Python的快速上手matplotlib可视化库!
崔老师爬虫实战案例免费学习视频。
陈老师数据分析报告扩展制作免费学习视频。
玩转大数据分析!Spark2.X + Python精华实战课程免费学习视频。
爱我请给我好看!
领取专属 10元无门槛券
私享最新 技术干货