Atitit (Sketch Filter)素描滤镜的实现 图像处理 attilax总结 v2
1.1. 素描滤镜的实现方法比较简单,这里我们直接写出算法过程如下: 1
1.3. 貌似javafx的类库可以实现颜色减淡叠加,我是自己实现的 2
1.4. Java Image Filters是一款基于Java的图像处理类库,特别是在图像滤镜特效方面, 2
Sch lg java d sketch filter aigo se ,ma sinsho ..byedu 3page ma ...
1.1. 素描滤镜的实现方法比较简单,这里我们直接写出算法过程如下:
1,对原图S进行去色命令得到灰度图A;
2,对A进行反色反相得到图像B;求图像的底片
3,对B进行高斯模糊得到图C;对底片进行高斯模糊 在步骤3中,可以添加变量edgeIntensity(edgeIntensity>=0),来控制素描的边缘强度;
以上就是素描的算法实现。
4,将C与a进行颜色减淡的图层混合算法:c在上面,a在下面,c的叠加模式选择颜色减淡
1.2. 颜色减淡COLOR_DODGE的公式如下
P(x,y) = Pb(x,y) + (Pb(x,y)* Pc(x,y)) / (256 - Pc(x,y));
C =MIN( A +(A×B)/(255-B),255)
(255-B)就是得到b的反相
既然知道了算法,现在开始代码:
A为原图gray图, b为上层图片,即是灰度图反相底片高斯模糊后的图片
C的最大值为255,如果超出要截取到255