码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-11-07 07:52:16      阅读:310      评论:0      收藏:0      [点我收藏+]

标签:media   底片   模糊   mail   透明   and   lte   algorithm   水平   

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

 

 

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://www.cnblogs.com/attilax/

Atiend

 

 

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

标签:media   底片   模糊   mail   透明   and   lte   algorithm   水平   

原文地址:http://www.cnblogs.com/attilax/p/6037095.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!