利用字符串生成工具可以方便的打印出自己想要字符图案,以及如何将图片转换为ASCII ART输出。
最终可以用命令行输出各种彩色图像---->>
一般字符图案
我们在使用一些开源软件的时候,启动打开的字符图形很好看。于是搜索到了一些工具来实现:
"""
_ _ _
| | | | ( )
| | ___ | |_|/ ___ __ _ ___
| | / _ \ | __| / __| / _` | / _ \
| |____ | __/ | |_ \__ \ | (_| | | (_) |
\_____/ \___| \__| |___/ \__, | \___/
__/ |
|___/
"""
1.网站taag
可以随意输入内容,调节字体、宽、高。
#一条小鳄鱼
# __ __
# _ _ /_@)_@) \ /^^\ /^\ /^^\_
# _/oo \____/~''. . . '~\ /'\'' ~ ''~~' -'\_
# / '.'. ~.~.~. .' ~ | /'\~~..''''.'' '' ~\_
# ('_'_'_'_'_'_'_'_ ' : ' \_/' '.'' . '. .'' '. ~\_
# ~V~V~V~V \ ~\ '' '~ ' '' ~ ` ~ '' ~\_
# /\~/\~/\~/\~/|/ ' '' _ ' ~ '' ' ~ '' __ ' .. \_
#
# \~ '. . : .:: ~. :. /_'''_'' \_' :'''_ : _ ''/''_' '_ \:_ '''' #''..\/\/\/~/\~ ''~~~~~O
# ~~ \-~ `---~~~---- \(_)(_)(_)/ ~ ~~' ~\(_)(_)(_)\_~_~_~_~_~/˜¤¹
如果想要在python中输出,只需要把上面的字符串赋值然后使用print函数打印即可,需要用多行注释来包含这些字符:
2.命令行工具figlet
figlet [ -cklnoprstvxDELNRSWX ] [ -d fontdirectory ]
[ -f fontfile ] [ -m layoutmode ]
[ -w outputwidth ] [ -C controlfile ]
[ -I infocode ] [ message ]
安转后直接在命令行中使用即可。更多高级用法参考doc
图片字符串图案
3.在python中显示字符串图片
这种方法的主要原理是利用一组视觉密度不同的字符,按照灰度去替换每一个像素:
可以将图像的灰度定义为不同的级别来显示:
gscale1 = "$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~i!lI;:,\"^.
gscale2 = "@%#*+=-:. " 这种灰度级别少一些
然后读入图像,将图像映射为长宽等比的矩阵;
然后将颜色灰度值映射到定义的灰度级别上来。
import sys
import cv2
grays = "@%#*+=-:. " #由于控制台是白色背景,所以先密后疏/黑色背景要转置一下
gs = 10 #10级灰度
#grays2 = "$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~i!lI;:,\"^.` "
#gs2 = 67
img = cv2.imread('where/your/img.jpg',0) #读入灰度图
#宽(列)和高(行数)
w = img.shape[1]
h = img.shape[0]
ratio = float(w)/h #调整长宽比 (**注:此比例为win cmd,ratio需要根据不同终端的字符长宽调整)
s