图像修补
来源:互联网 发布:linux 查找80端口占用 编辑:程序博客网 时间:2024/04/28 02:17
图像修补就是使用坏点周围的像素取代坏点,这样它看起来和周围像素就比较像了。
OpenCV 使用函数 cv2.inpaint() 来实施。
第一个算法是根据 Alexandru_Telea 在 2004 发表的文章实现的。它是基于快速行进算法的。以图像中一个要修补的区域为例。算法从这个区域的边界开始向区域内部慢慢前进,首先填充区域边界像素。它要选取待修补像素周围的一个小的邻域,使用这个邻域内的归一化加权和更新待修复的像素值。权重的选择是非常重要的。对于靠近带修复点的像素点,靠近正常边界像素点和在轮廓上的像素点给予更高的权重。当一个像素被修复之后,使用快速行进算法(FMM)移动到下一个最近的像素。FMM 保证了靠近已知(没有退化的)像素点的坏点先被修复,这与手工启发式操作比较类似。可以通过设置标签参数为 cv2.INPAINT_ TELEA 来使用此算法。
第二个算法是根据 Bertalmio,Marcelo,Andrea_L.Bertozzi, 和 Guillermo_Sapiro在 2001 年发表的文章实现的。这个算法是基于流体动力学并使用了偏微分方程。基本原理是启发式的。它首先沿着正常区域的边界向退化区域的前进(因为边界是连续的,所以退化区域非边界与正常区域的边界应该也是连续的)。它通过匹配待修复区域中的梯度向量来延伸等光强线(isophotes,由灰度值相等的点练成的线)。为了实现这个目的,作者是用来流体动力学中的一些方法。完成这一步之后,通过填充颜色来使这个区域内的灰度值变化最小。可以通过设置标签参数为 cv2.INPAINT_NS 来使用此算法。
第一幅图是退化的输入图像,第二幅是掩模图像。第三幅是使用第一个算法的结果,最后一副是使用第二个算法的结果。
- 图像修补
- 图像修补
- 图像轮廓凹陷修补
- 图像轮廓缺陷修补
- opencv学习之图像修补
- opencv-图像修补,图像修复,inpaint
- opencv3实现图像修补-inpaint函数
- opencv(27)---分水岭算法及图像修补
- 【OpenCV学习笔记】三十二、分水岭算法及图像修补
- opencv之分水岭算法分割及图像修补
- Opencv图像识别从零到精通(31)----图像修补,分离合并通道
- 基于opencv的相机之图像修补功能实现(十二)
- eweb上传漏洞修补
- 后台登陆漏洞修补
- VPN就是一种修补
- struts漏洞修补
- 如何修补软件、系统漏洞?
- 如何正确修补系统漏洞?
- Linux内核Ramdisk(initrd)机制
- 最小生成树Prim算法理解
- ScrollPane的使用
- 数字与字母乱序输入a34b56c7777d8,数字在前字母在后输出345677778abcd
- 博弈游戏
- 图像修补
- 2016年4月3日清明野三坡之旅
- 问题 N: C/C++经典程序训练2---斐波那契(Fibonacci)数列
- C语言实现继承和多态
- HTTP Header 详解
- swift基本语法(总结提炼版)之012 swift 之闭包
- 摘抄-程序员如何写出杀手级的简历
- 将web应用部署到Linux下面的tomcat服务器
- C# winform程序防止前台卡死