canvas的像素级操作——3.使用卷积矩阵

利用卷积矩阵(Convolution Matrix)操作像素,我们可以很方便的得到诸如模糊、边缘检测、锐化、浮雕和斜角这样的效果。

常用的矩阵类型是 3 x 3 矩阵,另外还有5 x 5的矩阵。

工作原理:http://flex4jiaocheng.com/blog/280

点阵图中的每一个像素被称为“初步像素”,用与卷积矩阵同样面积的“初步像素”从左到右从上到下与卷积矩阵中相应位置的值相乘,再将得到的9个或25个中间值相加,就得到了“初步像素”矩阵中央的一个值的结果值再与Divisor(因子)相除,与Offset(偏移量)相加,最后得到终值。如下图所示:

应用卷积矩阵实现特效:

 

上面demo中卷积的实现函数来自于在HTML 5 的 Canvas 中应用卷积矩阵对图像处理

推荐一篇有趣的文章:卷积的物理意义