/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
电脑视频转字符画是一款非常有趣的视频处理软件,能够帮助用户将视频内容转换为黑白色的字符画内容,让你的视频内容更加有趣,让用户得到不一样的体验,感兴趣的用户欢迎下载使用!
1,在程序中输入播放视频地址即可将对应视频转为字符画在控制台输出,同时会有窗口输出原视频。
2,输入地址中不要包含空格,否者会报错。可以通过向程序传递参数方式解决这一问题。
3,输入0时会抓取电脑摄像头得到视频(电脑没有摄像头,没有试)。
4,可以通过Esc退出程序(有原视频窗口时),可通过按1键关闭原视频窗口。
5,支持视频格式avi其他不详自己实验,仅测试了ctrl.flv和badapple.avi两者都在testvideo.zip中。
7,转换字符视频会发生变形。(控制台字体设为了3,7也就是说对应像素不是正方形)
8,基本思路(没啥技术含量):对像素矩阵遍历根据其灰度在控制台对应位置填上对应字符。
首先大家都知道,视频可以看做是由许许多多张图片组成的,当每秒展示的图片足够多时,视频也就动起来了,那么我们要做的就是把视频中的每张图用字符表示出来,视频也就字符化了;
那么我们要解决的问题就是,把每张图片用字符表示:众所周知,图片是由像素点构成的,每个像素又由三种颜色(红绿蓝)组成各种色彩的小点儿
许多这样的像素小点儿就构成了一幅彩色的坤坤,当我们把每个这样的小点儿用字符表示时,那么视频也就字符化了;
那么我们要解决的问题变成了,把每个像素对应成一个字符表示出来,由于我们的自符是没有颜色的
所以转换之前我们只保留每个像素的明暗程度即可表示图像的轮廓,即把彩色图像转换成灰度图像。
那么现在的问题就变成了把每个像素的明暗程度用字符表示,比如亮一些的用“#”字符表示,暗一些的用“。”字符表示。
众所周知{:1_918:},计算机中像素的明暗程度是由数字的大小表示的,其实我们人眼看起来的亮暗对计算机来说只是数字的大小
比如当像素点的值为255时,这个像素就比较白(亮),当像素点的值为0时,这个像素就比较白(暗)。
现在我们捋一下:数组(数字)代表像素,像素组成图像,图像组成视频,只要我们把数字映射成字符,那么坤坤也就字符化了,下边这个经典的结构图更清晰些:
对于一张8位图,亮度范围为0-255,由于只需要明暗信息,上图的三个数组只保留一个然后将其中的数字用字符对应,
比如32对应“空格”字符,65对应“A”字符,97对应“a”字符,等等,这是啥,没错,ASCII表啊!!现成的映射关系!!
我们只要将这些数字用chr(x)直接输出就好了,由于ASCII的字符数比较少不够256个,
而且有些字符长短不齐甚至无法打印,我们只截取一部分表格,比如这样chr(int(x / 30 +32))。
1.修复已知软件问题
2.优化字符转换速率