图片漫画效果(DoG算子和双边滤波)

2024-03-01 12:48

本文主要是介绍图片漫画效果(DoG算子和双边滤波),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://hi.baidu.com/zyqhi2010/blog/item/ac400a2988d70537d52af102.html对比下面两张图(从 http://hi.baidu.com/cwyalpha/blog/item/647745a9f33570f61e17a235.html 里翻出来的。。),漫画有3个特点:

1.边缘清晰,内部模糊(同色)

2.颜色少。

3.描边(桌沿,袋口,腿)

 

对下图做漫画处理。


将图像边缘保留的情况下内部模糊有几种方法,中值滤波,双边滤波。

测试中值滤波后有麻点感,效果一般。

双边滤波原理如下:

左边的高斯函数,给距离较近的点的像素值给了较高的权值,右边的高斯函数,给梯度较近的点的像素值给了较高的权值。这样在沟壑处不会出现模糊。而且高斯函数的沟壑高度参数合适的话,沟壑两边会越来越模糊,沟壑会越来越清晰。

 

对图片做多次双边滤波,把沟壑两边的色彩抹平

一次双边滤波:

 

四次:

 

八次:

 

多做几次,同区域颜色基本趋同,不过双边滤波速度太慢。8次差不多就可以进行量化减少颜色了。

RGB空间不适合做色差分析,转LAB空间在L上对色彩处理。

锯齿量化效果很差,如下,

做下图的量化处理

中间弯曲部分是tanh函数。

 

效果如下。

 

微分描边如下

 

canny如下

 

DoG如下

 

只有DoG能可调的保留连续边缘。

 

3步合起来如下

 

跳过量化操作的话是这种效果。

 

matlab, opencv, android-opencv都弄了遍。。就是双边滤波太慢了。有加速算法。有空找来看看。

 

这篇关于图片漫画效果(DoG算子和双边滤波)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/762494

相关文章

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

如何使用CSS3实现波浪式图片墙

《如何使用CSS3实现波浪式图片墙》:本文主要介绍了如何使用CSS3的transform属性和动画技巧实现波浪式图片墙,通过设置图片的垂直偏移量,并使用动画使其周期性地改变位置,可以创建出动态且具有波浪效果的图片墙,同时,还强调了响应式设计的重要性,以确保图片墙在不同设备上都能良好显示,详细内容请阅读本文,希望能对你有所帮助...

Python脚本实现图片文件批量命名

《Python脚本实现图片文件批量命名》这篇文章主要为大家详细介绍了一个用python第三方库pillow写的批量处理图片命名的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言源码批量处理图片尺寸脚本源码GUI界面源码打包成.exe可执行文件前言本文介绍一个用python第三方库pi

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

Python利用PIL进行图片压缩

《Python利用PIL进行图片压缩》有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所以本文为大家介绍了Python中图片压缩的方法,需要的可以参考下... 有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所有可以对文件中的图

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片

Java实战之自助进行多张图片合成拼接

《Java实战之自助进行多张图片合成拼接》在当今数字化时代,图像处理技术在各个领域都发挥着至关重要的作用,本文为大家详细介绍了如何使用Java实现多张图片合成拼接,需要的可以了解下... 目录前言一、图片合成需求描述二、图片合成设计与实现1、编程语言2、基础数据准备3、图片合成流程4、图片合成实现三、总结前

使用Python实现图片和base64转换工具

《使用Python实现图片和base64转换工具》这篇文章主要为大家详细介绍了如何使用Python中的base64模块编写一个工具,可以实现图片和Base64编码之间的转换,感兴趣的小伙伴可以了解下... 简介使用python的base64模块来实现图片和Base64编码之间的转换。可以将图片转换为Bas

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo