Atitit 图像处理之仿油画效果 Oilpaint油画滤镜 水彩画 漫画滤镜 v2

 

Atitit 图像处理之仿油画效果 Oilpaint油画滤镜 水彩画 漫画滤镜 v2

 

1.1. 具体源码参考1

2. 油画 水彩画具有几个比较明显的特点如下:1

2.1. 明暗层次(灰度)较少  也就5级别够用了1

2.2. 颜色泛用   使用的颜色比较单一,一般不会超过7种颜色,不像真实照片那样,具有丰富的颜色种类;2

3. 水彩画滤镜算法如下:2

3.1. 这个其实就是灰度层次降低维度的过程。3

3.2. 模板半径Radius用来调节水彩画的水彩程度。即是颜色的降低维度的过程3

3.3. 稍微搜一下就能找得到很多啊。不过网上很多自称是油画算法的东西,其实只是毛玻璃(即随机地在附近找一个像素点来替代当前位置),感觉实际效果还不如用开闭运算。 3

 

1.1. 具体源码参考

Atitit Atitit 图像处理之  Oilpaint油画滤镜 水彩画 源码实现

2. 油画 水彩画具有几个比较明显的特点如下:

2.1. 明暗层次(灰度)较少  也就5级别够用了

图片真彩色层次很多,256个之多 层次越多,细节越强。。普通油画一般明亮层次10级不到,一下图片对比是5级灰度层次与10级的对比。。可能一般人也就5级别够用了。。

 

2.2. 颜色泛用   使用的颜色比较单一,一般不会超过7种颜色,不像真实照片那样,具有丰富的颜色种类;

 2,边缘较强  所有事物都有比较明显的黑色边缘,给人一种分割分明且突出的感觉

 

对于颜色泛用,表现在图像算法中,实际上就是减少颜色的种类,对颜色种类进行降维,这一点,我们可使用颜色聚类算法,双边滤波算法等等,其中,双边滤波在使颜色平坦的同时,还可以保留边缘信息

 

 

3. 水彩画滤镜算法如下:

灰度,离散化(聚类)。。

灰度层次N就是水彩画最多使用的颜色明暗层次,一般7种一下为好

1,假设原始图像为F(x,y),灰度化得到G(x,y);

2,构建一个半径为Radius的正方形模板M,边长为2*Radius+1;

3,将M在F上依次遍历每个像素,对于当前像素P(x,y):

设置灰度层次N,由于图像灰度值范围为0-255, 主要用来对像素的灰度层次聚类

3.1首先按照N将0-255的范围划分为等距的N个灰度层次,对于模板中对应的像素,我们按照其灰度值,依次将其放入相应的灰度层次

3.2统计N个灰度层次像素数目,计算像素数最多的那个层次内,像素的各个颜色分量均值Mean,这个均值RGB就是模板中心像素P(x,y)的值。

 

 

3.1. 这个其实就是灰度层次降低维度的过程。

注意:油漆桶数N可以调节图像平滑度,灰度层次

3.2. 模板半径Radius用来调节水彩画的水彩程度。即是颜色的降低维度的过程

 

3.3. 稍微搜一下就能找得到很多啊。不过网上很多自称是油画算法的东西,其实只是毛玻璃(即随机地在附近找一个像素点来替代当前位置),感觉实际效果还不如用开闭运算。

 

参考

图像滤镜艺术---水彩画滤镜 - 综合编程类其他综合 - 红黑联盟.html

JAVA实现水彩画滤镜.html

 

 

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

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

转载请注明来源: http://www.cnblogs.com/attilax/

Atiend

 

 

posted @ 2016-11-12 18:30  attilaxAti  阅读(576)  评论(0编辑  收藏  举报