Atitit (Sketch Filter)素描滤镜的实现  图像处理  attilax总结v2

Atitit (Sketch Filter)素描滤镜的实现  图像处理  attilax总结 v2

 

 

1.1. 素描滤镜的实现方法比较简单,这里我们直接写出算法过程如下: 1

1.2. 颜色减淡COLOR_DODGE的公式如下 1

1.3. 貌似javafx的类库可以实现颜色减淡叠加,我是自己实现的 2

1.4. Java Image Filters是一款基于Java的图像处理类库,特别是在图像滤镜特效方面, 2

1.4.1. 色彩调整 2

1.4.2. 变形和扭曲 5

1.5. 参考资料 9

 

 

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,否则会脸部变黑色。。如果b255,则除磷错误,需要直接返回255即可

 

1.3. 貌似javafx的类库可以实现颜色减淡叠加,我是自己实现的

/AtiPlatf_cms/src/com/attilax/img/SketchImg.java

BufferedImage copy =(BufferedImage) new SketchImg(fx).setGausRadis(25).filter(imgx.toImg(fx));

1.4. Java Image Filters是一款基于Java的图像处理类库,特别是在图像滤镜特效方面,

Java Image Filters简直就是强大到天衣无缝。它几乎提供了PS上大部分的图像特效。比如反色特效、图像扭曲、水波和纹理等效果。

更多特效大家可以去它的官方网站,也可以下载这个类库使用。链接见文末的软件首页和软件下载

以下是Java Image Filters提供的所有图像滤镜特效以及每一种特效实现算法思路:

1.4.1. 色彩调整

ChannelMixFilter - 混合RGB通道

ContrastFilter - 调整亮度和对比度

CurvesFilter - 调整曲线的图像

DiffusionFilter - 抖动

DitherFilter - 有序抖动

ExposureFilter - 改变图像的曝光度

GainFilter - 调节增益和偏置

GammaFilter - 调整图像伽玛

GrayFilter - 图像灰度

GrayscaleFilter - 转换成灰度图

HSBAdjustFilter - 调节色调,饱和度和亮度

InvertAlphaFilter - 反转Alpha通道

InvertFilter - 反转图像色彩

LevelsFilter - 调整图像的水平度

LookupFilter - 改变图像色彩查询表

MapColorsFilter - 颜色替换

MaskFilter - 遮罩

PosterizeFilter - 分色

QuantizeFilter - 量化的图像为256色,比如说,GIF出口

RescaleFilter - 颜色缩放因子

RGBAdjustFilter - 调整红、绿、蓝三个分量

SolarizeFilter - 过渡曝光

ThresholdFilter - 颜色阈值

TritoneFilter - 创建一个三色调图像

1.4.2. 变形和扭曲

BicubicScaleFilter - Scaling with bicubic interpolation

CircleFilter - 让图像扭曲成圆环

CropFilter - 图像区域剪裁

DiffuseFilter - Diffuse the pixels of an image

DisplaceFilter - 玻璃效果

DissolveFilter - 随机像素透明溶解的图像

FieldWarpFilter - Warp images using a field warp algorithm

FlipFilter - 翻转和旋转图像

KaleidoscopeFilter - 万花筒效果

MarbleFilter - 大理石纹效果

MirrorFilter - 镜像效果

OffsetFilter - 偏移平铺图像

PerspectiveFilter - 透视畸变

PinchFilter - Whirl-and-pinch distortion

PolarFilter - 极坐标转换效果

RippleFilter - 纹波失真

RotateFilter - 翻转图像

ScaleFilter - 原点缩放图像

ShearFilter - Shear an image

SphereFilter - 镜头畸变

SwimFilter - 水下波纹效果

TileImageFilter - 图像平铺效果

TwirlFilter - 扭曲变形

WarpFilter - A general grid image warp

WaterFilter - 模拟水波效果

 

1. //为每一个动作注册名称和对应的滤镜  

2.     ContourFilter("轮廓",new ContourFilter()),  

3.     DespeckleFilter("去斑",new DespeckleFilter()),  

4.     DiffusionFilter("扩散",new DiffusionFilter()),  

5.     EdgeFilter("滤光",new EdgeFilter()),  

6.     EmbossFilter("浮雕",new EmbossFilter()),  

7.     EqualizeFilter("补偿",new EqualizeFilter()),  

8.     Flush3DFilter("3D",new Flush3DFilter()),  

9.     LevelsFilter("水平",new LevelsFilter()),  

10.     LightFilter("光源",new LightFilter()),  

11.     MedianFilter("中线",new MedianFilter()),  

12.     OilFilter("曝光",new OilFilter()),  

13.     PlasmaFilter("等离子",new PlasmaFilter()),  

14.     QuantizeFilter("量子化",new QuantizeFilter()),  

15.     SmearFilter("风化",new SmearFilter());  

 

1.5. 参考资料

ImageMagick使用for javaim4java- IT之常青藤 - 博客频道 - CSDN.NET.html

 

图像滤镜艺术---(Sketch Filter)素描滤镜 - Trent1985的专栏 - 博客频道 - CSDN.NET.html

java 图像特效之素描 - epleone的专栏 - 博客频道 - CSDN.NET.html

JAVA灰度化、二值化图片如此简单方便 - - 博客频道 - CSDN.NET.html

图像处理 - 流浪的鱼 - 博客频道 - CSDN.NET.html

JavaFX使用摄像头API的示例 - 蛙声梦塘-Yizdream 专栏 - 博客频道 - CSDN.NET.html

图像处理之基于像素的图像混合 - 流浪的鱼 - 博客频道 - CSDN.NET.html

 

 

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 

汉字名:艾提拉(艾龙)   EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

Atiend

 

 

posted @ 2016-11-07 02:44  attilaxAti  阅读(31)  评论(0编辑  收藏  举报