文档章节

谈谈偏微分方程在图像特效中的应用

abcijkxyz
 abcijkxyz
发布于 2016/11/22 16:46
字数 678
阅读 9
收藏 0

       在很早之前,iOS上有这样一款软件叫Pimple Eraser,它实现的功能非常简单,就是把人脸中的痘痘给去掉,而且效果很不错。当然你得手动的选择痘痘的位置和大小。不过可惜的是,这款软件的交互做的不是很好。大约一年之后,美图秀秀新的版本也实现了同样的功能,而且它的人机交互功能做得比 Pimple Eraser好的多,由此成为美图秀秀新的亮点。与此类似,百度魔图其实早就有这一功能,不过他们做出来的效果真的是不敢恭维,难道魔图团队就没有一个深入钻研算法的?

      首先要说的是,我不是上述软件开发的作者中的任何一员。但是,我可以猜测的是美图秀秀和Pimple Eraser用的就是偏微分方程修复的算法,而百度魔图用的是加权均值修复,所以后者的效果没法和基于偏微分修复的效果相媲美。其实在大名鼎鼎的PhotoShop图像处理软件中,它的污点修复工具就是用PDE去实现。

      图像修复基本上可以分为两大类。一是对于细小裂缝的修复,这类基本上用PDE的效果比较好。另外一类,就是对大块空洞的修复,这类问题一般用纹理填充的方法。PhotoShop里面,选择【填充】--【纹理识别】菜单实现的就是对大块空洞的纹理填充算法。PS的算法对大块空洞纹理填充的方法在很多时候不尽人意,目前已经有很多更好更快的算法已经被提出。

      由于偏微分方程离散化之后需要求解一个大规模的线性方程组,一般使用高斯赛德尔迭代算法。所以基于偏微分方程的修复的难点在于计算量大,而且很占系统RAM资源。关于这方面的文献可以在网上找到很多,而且有matlab代码可供参考。

      由于人脸的痘痘一般只在人脸部分,所以我根据这一特点,采用局部修复的方法,实现了经典的TV模型数字图像修复算法。能够快速的去除人脸上的痘痘,而且系统占用RAM资源很小。

      下面是测试图片:

 

 

 

从修复结果上看,虽然有头发挡住了痣的部位,但是修复的结果还是可以勉强接受的。

本文转载自:http://www.cnblogs.com/celerychen/archive/2013/03/26/2982418.html

共有 人打赏支持
abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
私信 提问
如何自学图像编程

现在,图像类信息越来越多了,对图像的编程需求也越来越多。图像类项目的特点是性价比高,单行代码的价格一般是普通的程序的10倍,每行代码能够卖几块钱。很多人把目光放在这个上面。刚才又有...

最美的回忆
2017/06/21
0
0
Qt Quick 图像处理实例之美图秀秀(附源码下载)

在《Qt Quick 之 QML 与 C++ 混合编程详解》一文中我们讲解了 QML 与 C++ 混合编程的方方面面的内容,这次我们通过一个图像处理应用,再来看一下 QML 与 C++ 混合编程的威力,同时也为诸君揭...

foruok
2014/07/16
0
0
UI设计师必备的五款界面设计工具

在前几篇文章中,我们分享了一些最受欢迎的原型设计工具,今天我们来谈谈界面设计工具。工具的重要性对于设计师来讲不言而喻。任何想法都需要借助工具来实现。想要成为一名出色的UI设计师,你...

爱原型设计
08/07
0
0
4- OpenCV+TensorFlow 入门人工智能图像处理-灰度化处理

图片特效及线段文字的绘制 特效1: 灰度处理 完成彩色图片灰度化。彩色图片有三个颜色通道RGB 灰度图片也是三通道的话,RGB值相等。 单通道的灰度图片的值,需要经过RGB值进行计算。 图中两个...

天涯明月笙
04/08
0
0
21个演示展示强大的jQuery特效

就在不久之前, Flash 是被web设计师用来为网站添加交互的重要技术之一!自从Ipad诞生, 并且不支持 Flash Player, 加速了web开发中使用其他技术代替flash,比如 jQuery, Ajax 还有其它。 尽管...

楚广明
2011/12/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Kafka+Flink 实现准实时异常检测系统

1.背景介绍 异常检测可以定义为“基于行动者(人或机器)的行为是否正常作出决策”,这项技术可以应用于非常多的行业中,比如金融场景中做交易检测、贷款检测;工业场景中做生产线预警;安防...

架构师springboot
35分钟前
3
0
DecimalFormat 类基本使用

/* * DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度 * 0 表示如果位数不足则以 0 填充 * # 表示只要有可能就把数字拉上这个位置 * */ public static void main(String[] args){...

嘴角轻扬30
52分钟前
4
0
This APT has Super Cow Powers.

在Debian/Ubuntu上,apt包管理器内嵌着一个彩蛋. 如果你在命令行界面输入 apt help 在最后一行能找到This APT has Super Cow Powers. 说明该apt具有超级牛力 牛力是个什么梗? 则说明你的系统...

taadis
今天
3
0
起薪2万的爬虫工程师,Python需要学到什么程度才可以就业?

爬虫工程师的的薪资为20K起,当然,因为大数据,薪资也将一路上扬。那么,Python需要学到什么程度呢?今天我们来看看3位前辈的回答。 1、前段时间快要毕业,而我又不想找自己的老本行Java开发...

糖宝lsh
今天
9
0
携手开发者共建云生态 首届腾讯云+社区开发者大会在京举办

本文由云+社区发表 北京时间12月15日,由腾讯云主办,极客邦科技、微信、腾讯TEG协办的首届腾讯云+社区开发者大会在北京朝阳悠唐皇冠假日酒店举办。在会上,腾讯云发布了重磅产品开发者平台以...

腾讯云加社区
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部