图像修复-简要笔记

图像修复-简要笔记,第1张

1.简介

2.方法

3.其他

参考文献

        图像修复是一种使用相邻区域中可用的空间信息,以不可检测的方式,填充缺失或损坏区域的技术,是图像处理的研究课题。图像修复是图像处理的重要研究子类。图像修复是一种古老的恢复图像的方法,这些图像因划痕而损坏并且陈旧。它在计算机图形学中起着重要作用,保留了历史遗产并消除了不需要的物体。已经提出了几种用于图像修复的算法,如基于PDE(偏微分方程)的修复,基于样例的修复,双边滤波修复,快速数字修复。可以通过在等照线方向上传播已知信息来重建丢失的信息。等照度线是强度相等的线。图像修复可以通过与加权平均内核进行卷积来实现。

        有时需要从图像中删除不需要的物体和划痕。不需要的对象可以是徽标,文本等。删除可以手动完成,但这是一项繁琐的任务。不需要的物体和划痕不能直接擦除,因为擦除会在该区域留下白色补丁。通过使用相邻的空间信息,填充不需要的和白色的补丁。该方法称为图像修指山察复。

        使用图像修复可以删除在背景下的洞,就好像被删除的对象永远不存在一样。 因此,图像修复旨在填充孔洞以创建令人满意的信息延续,使得中立观察者不容易识别出有编辑过的痕迹。修复不能重建原始图像,但是可以通过与原始图像非常相似的部分填充丢失或不需要的唯逗对象。Marcelo Bertalmio是第一个提出图像修复概念的人。

        图像修复算法有广泛的应用,包括: 

        a)物体移除:用户指定的物体可以通过视觉上合理的方式使用修复技术来移除。 

        b)划痕消除:通过在包含划痕的部分应用图像修复算法,可以恢复因划痕而损坏的旧图像。

        c)传输过程中损坏图像的校正:图像在无线传输中经常被破坏。通过将丢失的部分视为修复域,可以恢复原始图像。

        d) 产生视觉上令人惊叹的效果:在图像中,可以通过使用修复技术产生所需的惊人效果。

        e)文本删除:修复算法可用于消除图像上不需要的文本。 

        f)其他应用,如红眼校正,旧损坏影片的恢复,压缩等等。

        修复方法唯茄可分类为基于扩散的修复、基于样本的修复、基于卷积的修复[1,2]。

        基于扩散的修复方法在像素级上,将已知图像的信息扩散到未知区域。它利用变分方法概念和PDE(偏微分方程)。此方法不能够为纹理图像提供令人满意的结果,同时还会产生模糊。如果要修复的区域很小,则可以使用这种方法。

        在基于样本的修复方法中,通过来自周围已知区域的信息在补丁级别的对缺失区域进行填充。该方法在恢复纹理和重复结构方面提供了令人印象深刻的结果。然而,它们在没有任何示例的情况下重建几何体的能力是有限的并且未被充分理解。这种方法克服了扩散算法的缺点。所提出的图像修复算法遵循以下步骤:1)计算每个补丁的优先级;2)选择最优补丁;3)顺序式地进行填充。填充孔洞的方法是从全局图像中确定的。

        基于卷积的修复算法[3]通过将受损像素的邻域与适当的内核卷积来绘制图像。它们非常快,但它们在高对比度损坏边缘处没有很好的效果。该方法中,使用要修复的图像的梯度来计算掩模系数。该算法快速,可迭代,易于实现,并提供非常充分的结果。

        Oliveira等人提出了一种使用卷积运算的快速图像修复算法。在他们的算法中,要修复的区域与预定义的扩散掩模重复地进行卷积。该模型与各向同性扩散非常相似。在该方法中,扩散掩模的中心权重被认为是零,因为其原始图像中的相关像素是未知的。它能够在对称背景图像中移除大的物体,并且不是模糊,但是当在自然图像中移除大的对象时会失败或者产生差的结果。

        图像修复是一种在图像中填充缺失数据的技术,是图像处理的研究课题。它以一种不可检测的方式填充损坏和丢失的数据。图像修复的目的是以一种视觉上看似合理的方式重建缺失的区域,使之在人眼看来是合理的。在这里,讨论了4篇论文的修复方法,即1) 基于全局与局部一致的修复 ;2) 基于门控卷积的修复 ;3) 基于对抗边缘学习的修复 ;4) 基于前景感知的修复 。

[1]     Amasidha K S, Awati A S,Deshpande S P, et al. Digital Image Inpainting: A Review[J]. InternationalResearch Journal of Engineering and Technology (IRJET), 2016, 3(1).

[2]     Chavda P, Gagnani L, Chavda P,et al. Survey on Image Inpainting Techniques: Texture Synthesis, Convolutionand Exemplar Based Algorithms[J]. International Journal for Innovative Researchin Science and Technology, 2015, 1(7): 100-106.

[3]     Noori H, Saryazdi S,Nezamabadi-Pour H. A convolution based image inpainting[C]//1st Internationalconference on Communications Engineering. 2010: 130-134.

基础

你们可能家里都会有一些老照片已经有黑高侍点啊,划痕啊等。你有想过修复它们么?我们不能简单的在绘图工具里把他们擦除了就完了。因为这样只是把黑色的东西变成白色的而已,实际上没用。在这种情况下,会用到一种技术叫图像修复。基本的思想很简单:用周围的像素替换坏掉的像素,这样看上去就和周围一样了。比如下面这张:

很多算法被设计来干这个,OpenCV提供了两个,可以用同一个函数来访问: cv2.inpaint()

第一个算法是基于论文" An Image Inpainting Technique Based on the Fast Marching Method"。 是基于快速匹配方法的。假设图像里的一个区域要修复。算法从这个区域的边界开始,逐弯漏渐地进入区域,把边界内的所有东西填充上。它取要修复的部分周围的一个像素周围的一小片邻居。这个像素被周围已知的像素的标准加权和替换掉。选择权重是很重要的。要修复的点周围像素的权重较高。和正常边界近的,还有在边界轮廓上的像素的权重较高。当像素被修复以后,它会通过快速匹配方法(FMM)移动到最近的像素。FMM保证那些已知像素周围的像素首先被修复,所以这个就像人工启发式的 *** 作一样。这个算法使用标志cv2.INPAINT_TELEA开启。

第二个算法基于论文" Navier-Stokes, Fluid Dynamics, and Image and Video Inpainting ".这个算法基于流体动力学和偏微分方程。基本原则是启发式。它首从已知区域先沿着边缘到未知区域访问(由于边缘应该是连续的)。在匹配边要修复区域边界的梯度向量时持续画等值线(把相同亮度的点用线连起来,类似于轮廓线)。这时候用到流体动力学。之后会填充颜色以减小最小方差。这个算法用标志cv2.INPAINT_NS启用。

编码

我们需要创建和输入图像相同大小的掩图,需要修复的区域对应的像素要非0.剩下的就简单了。我的图像被一些黑色划痕给破坏了(实际上是我自己加的)。我用绘图工具对应的标记出来。埋念烂

看下面的结果。第一个图片是输入图像,第二个是掩图,第三个是用第一种算法的结果,最后一张是第二种算法的结果。

END


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12475383.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存