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

Atitit 图像处理之仿油画效果 Oilpaint油画滤镜 水彩画 漫画滤镜 v2的更多相关文章

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

    Atitit Atitit 图像处理之 Oilpaint油画滤镜 水彩画 源码实现 1.1. 具体原理参考1 2. 水彩画滤镜算法如下:1 2.1. 这个其实就是灰度层次降低维度的过程.2 2.2. ...

  2. Win8 Metro(C#)数字图像处理--2.44图像油画效果算法

    原文:Win8 Metro(C#)数字图像处理--2.44图像油画效果算法  [函数名称]   图像油画效果      OilpaintingProcess(WriteableBitmap src ...

  3. 图像滤镜艺术---Oilpaint油画滤镜

    原文:图像滤镜艺术---Oilpaint油画滤镜  Oilpaint油画滤镜     图像油画效果实际上是将图像边缘产生一种朦胧,雾化的效果,同时,将一定的边缘模糊化,这样图像整体上看去像素与像素之间 ...

  4. Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx

    Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx 分类 图像处理知识点体系 v2 qb24.xlsx 分类 分类 理论知识 图像金字塔 常用底层操作 卷积扫描 ...

  5. Atitit 图像处理知识点  知识体系 知识图谱v2

    Atitit 图像处理知识点  知识体系 知识图谱v2 霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法.主要用来从图像 ...

  6. Atitit 图像处理知识点  知识体系 知识图谱

    Atitit 图像处理知识点  知识体系 知识图谱 图像处理知识点 图像处理知识点体系 v2 qb24.xlsx 基本知识图像金字塔op膨胀叠加混合变暗识别与检测分类肤色检测other验证码生成 基本 ...

  7. Atitit图像处理的用途

    Atitit图像处理的用途 1.1. 分类识别 (人脸检测,肤色识别,人类检测:1 1.2. 炫丽的动态按钮生成:色相旋转+自己的草书等图片合成,图片自动裁剪1 1.3. 集成调用自绘gui接口:识别 ...

  8. Atitit 图像处理和计算机视觉的分类 三部分 图像处理 图像分析 计算机视觉

    Atitit 图像处理和计算机视觉的分类 三部分 图像处理 图像分析 计算机视觉 1.1. 按照当前流行的分类方法,可以分为以下三部分:三部分 图像处理 图像分析 计算机视觉1 1.2. 图像处理需要 ...

  9. Atitit  图像处理Depixelizing Pixel Art像素风格画的矢量化

    Atitit  图像处理Depixelizing Pixel Art像素风格画的矢量化 在去年的时候,偶然看到hqx算法. 一个高质量的插值放大算法. 与双线性插值等插值算法相比,这个算法放大后对人眼 ...

随机推荐

  1. 编译gtk+程序报错gcc: pkg-config --cflags --libs gtk+-2.0: 没有那个文件或目录

    第一次接触gtk+.在网上搜罗良一番,装好相应的库后,编写了第一hello程序.在编译时输入以下命令:gcc -o hello hello.c 'pkg-config --cflags --libs ...

  2. Java 下的 JSON库性能比较:JSON.simple

    JSON已经成为当前服务器与WEB应用之间数据传输的公认标准,不过正如许多我们所习以为常的事情一样,你会觉得这是理所当然的便不再深入思考了.我们很少会去想用到的这些JSON库到底有什么不同,但事实上它 ...

  3. SQL事物隔离级别

    标准SQL定义了4个隔离级别 Read uncommitted 未提交读 Read committed 已提交读 Repeatable read 可重复读 Serializable 可序列化 基本语法 ...

  4. android shader 用法

    转自 http://blog.csdn.net/abcdef314159 http://blog.csdn.net/aigestudio/article/details/41799811 Shader ...

  5. Form表单提交数据的几种方式

    一.submit提交 在form标签中添加Action(提交的地址)和method(post),且有一个submit按钮(<input type='submit'>)就可以进行数据的提交, ...

  6. 河南省第四届ACM程序设计大赛

    A: 序号互换 #include <cstdio> #include <cstdlib> #include <cstring> #include <algor ...

  7. petapoco 使用 MiniProfiler Glimpse监控

    PetaPoco是一款适用于.Net(window) 和Mono( linux )的微小.快速.单文件的微型ORM. MVC MiniProfiler是Stack Overflow团队设计的一款对AS ...

  8. vim 配置

    backspace有几种工作方式,默认是vi兼容的.对新手来说很不习惯.对老vi 不那么熟悉的人也都挺困扰的.可以用set backspace=indent,eol,start来解决. indent: ...

  9. position定位

    CSS盒模型和定位的类型 为了搞清楚定位首先你得了解CSS盒模型.在上一句中的链接是我写在InstantShift 中的一篇关于盒模型的文章.我在那篇文章做了详细的讲解并会在这篇文章中做一个快速的总结 ...

  10. DataPager 分页样式(css)

    <asp:DataPager ID="> <Fields> <asp:NextPreviousPagerField ShowFirstPageButton=&q ...