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 - 调整曲线的图像
DiffusionFilter - 抖动
DitherFilter - 有序抖动
ExposureFilter - 改变图像的曝光度
GainFilter - 调节增益和偏置
GammaFilter - 调整图像伽玛
GrayFilter - 图像灰度
GrayscaleFilter - 转换成灰度图
HSBAdjustFilter - 调节色调,饱和度和亮度
InvertAlphaFilter - 反转Alpha通道
InvertFilter - 反转图像色彩
LevelsFilter - 调整图像的水平度
LookupFilter - 改变图像色彩查询表
MapColorsFilter - 颜色替换
MaskFilter - 遮罩
PosterizeFilter - 分色
QuantizeFilter - 量化的图像为256色,比如说,GIF出口
RescaleFilter - 颜色缩放因子
RGBAdjustFilter - 调整红、绿、蓝三个分量
SolarizeFilter - 过渡曝光
ThresholdFilter - 颜色阈值
TritoneFilter - 创建一个三色调图像
变形和扭曲
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());
参考资料
ImageMagick使用for java(im4java) - 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:[email protected]
转载请注明来源: http://www.cnblogs.com/attilax/
Atiend