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

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

时间: 2024-08-06 20:02:50

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

图像滤镜艺术---(Sketch Filter)素描滤镜

(Sketch Filter)素描滤镜 素描滤镜的实现方法比较简单,这里我们直接写出算法过程如下: 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),来控制素描的边缘强度: 以上就是素描的算法实现. 核心

图像滤镜艺术---Glow Filter发光滤镜

Glow Filter发光滤镜 Glow Filter发光滤镜是一种让图像产生发光效果的滤镜,它的实现算法如下: 1,对原图P进行高斯模糊得到图像A: 2,将P和A进行"叠加"图层混合处理,公式如下: Result(x,y) = ((basePixel(x,y) <= 128) ? (mixPixel(x,y) * basePixel(x,y) / 128):(255 - (255 - mixPixel(x,y)) * (255 - basePixel(x,y)) / 128))

filter 图片滤镜的各种设置

filter 图片滤镜 给当前元素加滤镜_改变它的明亮度 定义:filter 属性定义了元素(通常是<img>)的可视效果(例如:模糊与饱和度).作用在图片上或元素上.div{ },或 div img{ }结果是一样的. 1. brightness()明亮度-->0-1 1为自己本身的两度 1 div{ 2 -webkit-filter:brightness(.5) 3 } 4 5 div img{ 6 -webkit-filter:brightness(.5) 7 } 2.graysc

Atitit.html css &#160;浏览器原理理论概论导论attilax总结

Atitit.html css  浏览器原理理论概论导论attilax总结 1.1. 浏览器是怎样工作的:渲染引擎,HTML解析(连载二)1 2. 5.1.1 DOM标准 1011 3. <WebKit技术内幕>(朱永盛...)[简介_书评_在线阅读] - .html2 4. HTML5与CSS3权威指南(第3版 上册)2 5. HTML5权威指南[非常全面详实的网页设计参考书]3 6. 深入理解Android:WebKit卷4 1.1. 浏览器是怎样工作的:渲染引擎,HTML解析(连载二)

Atitit &#160;补充说明 sql知识图谱与线路图attilax总结补充说明

Atitit  补充说明 sql知识图谱与线路图attilax总结补充说明 1. 常见编程语言的分类  :命令式语言.函数式语言.逻辑语言1 1.1. 按照编程语言的代际划分,又2gl,3gl,4gl,5gl   ,sql属于4gl1 1.2. 按照领域范围可分为通用语言与dsl领域特定语言,sql语言属于dsl1 2. 如何判断一门编程语言完备不完备,为什么脚本语言往往不完备?1 2.1. Sql语言又多少内置函数?2 2.2. Sql语言中的变量与数据结构,很多是表和视图一类复合结构2 2.

Atitit 函数式编程与命令式编程的区别attilax总结 &#160;qbf

Atitit 函数式编程与命令式编程的区别attilax总结  qbf 1.1. 函数式程序就是一个表达式.命令式程序就是一个冯诺依曼机的指令序列. 命令式编程是面向计算机硬件的抽象,有变量(对应着存储单元),赋值语句(获取,存储指令),表达式(内存引用和算术运算)和控制语句(跳转指令),一句话,命令式程序就是一个冯诺依曼机的指令序列. 而函数式编程是面向数学的抽象,将计算描述为一种表达式求值,一句话,函数式程序就是一个表达式. 1.2. 面向对象语言中,数据类型分为两种--基本类型和对象类型(

Atitit.jdk&#160;java8的语法特性详解&#160;attilax&#160;总结

Atitit.jdk java8的语法特性详解 attilax 总结 1.1. 类型推断这个特别有趣的.鲜为人知的特性1 2. Lambda1 2.1. 内部迭代意味着改由Java类库来进行迭代,而不是客户代码.例如:1 2.2. Stream 流失接口 管道(pipelines)模式2 2.3. 方法引用(Method reference)2 2.4.  默认方法(Default method)2 2.5. 生成器函数(Generator function)2 2.6. 新加入的Nashorn

atitit.系统架构图 的设计 与工具 attilax总结

atitit.系统架构图 的设计 与工具 attilax总结 1. 架构图的4个版式(标准,(左右)悬挂1 2. 架构图的层次结构(下属,同事,助手)1 3. wps ppt1 4. 使用EDraw画系统架构图2 5. 系统架构常用软件: 1. MindManager 画思维导图 2. Microsoft Office Visio 内有uml建模工具, 上图也可以用此软件画出来 3. Axure RP Pro 可以用来画产品原型2 6. Smartdraw_百度百科2 1. 架构图的4个版式(标

Atitit.二维码功能的设计实践 attilax 总结

1.1. 二维码要实现的功能1 1.2. 现有二维码功能设计不足的地方(待改进)1 1.3. 二维码组件1 1.4. Java版  zxing类库..2 1.5. Php版 laveral框架版3 1.6. Phpqrcode框架版3 1.7. Qa集合与注意事项3 1.1. 二维码要实现的功能 显示二维码 保持二维码图片为文件 直接输出二维码图片流 Img 的src为二维码图片 一般要传递order_id 或者一个url参数为主. 1.2. 现有二维码功能设计不足的地方(待改进) Java 与