文档章节

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

abcijkxyz
 abcijkxyz
发布于 2016/11/22 16:46
字数 678
阅读 6
收藏 0
点赞 0
评论 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
粉丝 60
博文 6195
码字总数 1876
作品 0
深圳
项目经理
谈谈自动瘦脸和自动眼睛放大算法

目前,手机上各种图片特效的软件应用App盛行,典型的如camare360,美图秀秀,powercalm等。上述图像特效软件最初发布的版本的特效实现基本上是基于调色的技术,在后续发布的版本中有少量的比...

abcijkxyz ⋅ 2016/11/22 ⋅ 0

如何自学图像编程

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

最美的回忆 ⋅ 2017/06/21 ⋅ 0

Qt Quick 图像处理实例之美图秀秀(附源码下载)

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

foruok ⋅ 2014/07/16 ⋅ 0

Unity Shader入门精要学习笔记 - 第12章 屏幕后处理效果

Unity Shader入门精要学习笔记 - 第12章 屏幕后处理效果 本系列为UnityShader入门精要读书笔记总结, 原作者博客链接:http://blog.csdn.net/candycat1992/article/ 书籍链接:http://produc...

wwlcsdn000 ⋅ 01/02 ⋅ 0

21个演示展示强大的jQuery特效

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

楚广明 ⋅ 2011/12/25 ⋅ 0

深度学习AI美颜系列---AI滤镜特效算法

滤镜是图像美化中必不可少的步骤, 所谓滤镜,最初是指安装在相机镜头前过滤自然光的附加镜头,用来实现调色和添加效果。我们做的滤镜算法又叫做软件滤镜,是对大部分镜头滤镜进行的模拟,当...

trent1985 ⋅ 05/25 ⋅ 0

超过 20 个强大的 HTML5 Web 应用

1. Twimbow Twimbow 是一个基于 HTML5 开发的 Web 应用,用于帮助用户管理他的社交网络,该应用色彩非常多样。 2. Aviary Aviary 包含很多图像工具和向量编辑器,你可以在上面对图像进行一些...

红薯 ⋅ 2012/01/31 ⋅ 7

为设计师准备的 25 个最佳 Android 应用

Android 是最受欢迎的智能手机系统之一,可运行各种应用来帮助你完成任何一种工作。这些手机是高度用户友好,适合那些希望个性化他们的手机体验到最佳水平。今天我们找出25个对程序设计师最有...

oschina ⋅ 2012/06/16 ⋅ 5

[图像处理] 利用PerlinNoise实现图像雾化效果 - 附我的图像处理程序(三种特效)

时间:2017年7月2日(大三下学期) 写在前面: 最近觉得Steam的软件界面非常的美观,尤其是图片的渐隐、雾化效果看起来非常漂亮。无奈我PS技术不行,手笨做不出那样的效果…… 于是,我就自己...

Mahabharata_ ⋅ 2017/07/02 ⋅ 0

10款刚出炉的 jQuery 特效插件

5月份,又有一批优秀的jQuery特效插件新鲜出炉了! 下面要介绍的10款jQuery插件,涉及到地图、画廊、幻灯等特效,希望你能喜欢。 1. bxSlider 该插件是内容滑块和幻灯特效。在线演示点击 he...

小卒过河 ⋅ 2011/05/13 ⋅ 11

没有更多内容

加载失败,请刷新页面

加载更多

下一页

tcp/ip详解-链路层

简介 设计链路层的目的: 为IP模块发送和接收IP数据报 为ARP模块发送ARP请求和接收ARP应答 为RARP模块发送RARP请求和接收RARP应答 TCP/IP支持多种链路层协议,如以太网、令牌环往、FDDI、RS-...

loda0128 ⋅ 今天 ⋅ 0

spring.net aop代码例子

https://www.cnblogs.com/haogj/archive/2011/10/12/2207916.html

whoisliang ⋅ 今天 ⋅ 0

发送短信如何限制1小时内最多发送11条短信

发送短信如何限制1小时内最多发送11条短信 场景: 发送短信属于付费业务,有时为了防止短信攻击,需要限制发送短信的频率,例如在1个小时之内最多发送11条短信. 如何实现呢? 思路有两个 截至到当...

黄威 ⋅ 昨天 ⋅ 0

mysql5.7系列修改root默认密码

操作系统为centos7 64 1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证 2、重启 mysqld 服务:systemctl restart mysql...

sskill ⋅ 昨天 ⋅ 0

Intellij IDEA神器常用技巧六-Debug详解

在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的...

Mkeeper ⋅ 昨天 ⋅ 0

zip压缩工具、tar打包、打包并压缩

zip 支持压缩目录 1.在/tmp/目录下创建目录(study_zip)及文件 root@yolks1 study_zip]# !treetree 11└── 2 └── 3 └── test_zip.txt2 directories, 1 file 2.yum...

蛋黄Yolks ⋅ 昨天 ⋅ 0

聊聊HystrixThreadPool

序 本文主要研究一下HystrixThreadPool HystrixThreadPool hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/HystrixThreadPool.java /** * ThreadPool used to executed {@link Hys......

go4it ⋅ 昨天 ⋅ 0

容器之上传镜像到Docker hub

Docker hub在国内可以访问,首先要创建一个账号,这个后面会用到,我是用126邮箱注册的。 1. docker login List-1 Username不能使用你注册的邮箱,要用使用注册时用的username;要输入密码 ...

汉斯-冯-拉特 ⋅ 昨天 ⋅ 0

SpringBoot简单使用ehcache

1,SpringBoot版本 2.0.3.RELEASE ①,pom.xml <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.3.RELE......

暗中观察 ⋅ 昨天 ⋅ 0

Spring源码解析(八)——实例创建(下)

前言 来到实例创建的最后一节,前面已经将一个实例通过不同方式(工厂方法、构造器注入、默认构造器)给创建出来了,下面我们要对创建出来的实例进行一些“加工”处理。 源码解读 回顾下之前...

MarvelCode ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部