基于 Canvas 技术把视频或图片转换成字符显示

本文记录了作者研究如何使用Canvas技术将视频或图片转换为字符显示的过程。首先,创建内存画布并绘制图片以获取像素数据;其次,将图片转换为灰度图像;接着,设定字符宽高并计算每个字符区块的灰度值;最后,根据灰度值输出对应字符,可调整阈值以实现类似PS的阈值效果。提供了在线演示地址。
摘要由CSDN通过智能技术生成

在网上看到一个把图像转换成文字显示的视频,于是研究了一下,并记录下思路。

先贴上效果显示图:
在这里插入图片描述

1、先创建一个内存画布,把图片画上去,然后获取图片像素数据

2、通过数据将图片转换成灰度图像,也就是黑白照那种,没有颜色。在图像学中有一个转换公式就是 gray = ~~(R * 0.299 + G * 0.587 + B * 0.114); RGB 为像素的值

3、设置字符的宽高,计算每个字符对应的图像的区块灰度值,相当于把图片压缩。区块灰度值的计算为每个像素的灰度值相加除以像素数量

4、通过灰度值输出相应字符,还可以设置阈值进行效果控制,好比 PS 中的阈值特效一样,灰度值大于这个阈值就输出为空白

演示地址:https://www.tianlunvip.com/tool/imgtochar.html

	function toChars(context, width, height, rowChars) {
   
		var pixels = [],
			output = "",
			imageData = context.getImageData(0, 0, width, height),
			rowChars = width < rowChars ? width : rowChars,
			char_w = width / rowChars
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值