老实说,我也不知道什么是霓虹,但是在网上搜滤镜算法的时候看到了这个算法,就顺手实现了,所以童鞋们有什么想要实现的算法,可以把原理告诉我~
事实上,它实现的结果和我之后要写的彩色边缘很像,都奉献给大家了。
算法原理:
对于3*3点阵,首先计算原图象像素f(i,j)的红,绿,蓝分量与相同行f(i+1,j)及同列f(i,j+1)相邻象素的梯度,即差的平方之和的平方根,然后将梯度值作为处理后的象素g(i,j)的红,绿,蓝分量值。
设r1,g1,b1分别为原图象象素f(i,j)的红,绿,蓝分量值,r2,g2,b2分别为相同行相邻象素f(i+1,j)的红,绿,蓝分量值,r3,g3,b3分别为同列相邻象素f(i,j+1)的红,绿,蓝分量值,rr,gg,bb为处理后象素g(i,j)的红,绿,蓝分量值,则:
rr1=(r1-r2)^2 rr2=(r1-r3)^2
gg1=(g1-g2)^2 gg2=(g1-g3)^2
bb1=(b1-b2)^2 bb2(b1-b3)^2
rr=2*(rr1+rr2)^0.5
gg=2*(gg1+gg2)^0.5<