Atitit (Sketch Filter)素描滤镜的实现 图像处理 attilax总结
Sch lg java d sketch filter aigo se ,ma sinsho ..byedu 3page ma ...
素描滤镜的实现方法比较简单,这里我们直接写出算法过程如下:
1,对原图S进行去色命令得到灰度图A;
2,对A进行反色得到图像B;
3,对B进行高斯模糊得到图C;
4,将C与B进行颜色减淡的图层混合算法:
P(x,y) = Pb(x,y) + (Pb(x,y)* Pc(x,y)) / (256 - Pc(x,y));
在步骤3中,可以添加变量edgeIntensity(edgeIntensity>=0),来控制素描的边缘强度;
以上就是素描的算法实现。
对于素描,先介绍算法,一般而言素描的算法如下:
1.图像灰度化
2.求图像的底片
3.对底片进行高斯模糊
4.模糊后的结果与灰度图像进行图像混合,效果为颜色减淡(图像混合,后面我也会写一篇文章讨论下),公式为:
C =MIN( A +(A×B)/(255-B),255)
既然知道了算法,现在开始代码:
Java Image Filters是一款基于Java的图像处理类库,特别是在图像滤镜特效方面,Java Image Filters简直就是强大到天衣无缝。它几乎提供了PS上大部分的图像特效。比如反色特效、图像扭曲、水波和纹理等效果。
更多特效大家可以去它的官方网站,也可以下载这个类库使用。链接见文末的软件首页和软件下载。
以下是Java Image Filters提供的所有图像滤镜特效以及每一种特效实现算法思路:
色彩调整
ChannelMixFilter - 混合RGB通道
ContrastFilter - 调整亮度和对比度
CurvesFilter - 调整曲线的图像