ConvolutionFilter类实现了图像矩阵卷积。构造函数如下:
public ConvolutionFilter(matrixX:Number, matrixY:Number, matrix:Array, [divisor:Number], [bias:Number], [preserveAlpha:Boolean], [clamp:Boolean], [color:Number], [alpha:Number])
这里matrix即为要与图像进行卷积操作的矩阵,一般称为模板。matrixX和matrixY指明模板的大小。以3*3的模板为例。
运算的公式可以这样表示(对于每个颜色通道):
dst (x, y) = ((src (x-1, y-1) * a0 + src(x, y-1) * a1….src(x, y+1) * a7 + src (x+1,y+1) * a8) / divisor) + bias
a0—a8分别为matrix[0]—matrix[8]
可以简单理解为:一个3*3大小的模板覆盖在图像上,并在图像上移动。模板中心位置(matrix[4])处图像的像素值为模板下9个像素值与模板各个元素值的加权求和(这里的求和是分别对每个a、r、g、b每个通道进行求和),再除以一个系数divisor防止图像过饱和。最终加上偏移量bias
转载请注明:陈童的博客 » 国外互动项目1 — AS边缘检测互动