图像修复的方法与系统的制作方法

文档序号:6340826阅读:110来源:国知局
专利名称:图像修复的方法与系统的制作方法
技术领域
本发明涉及一种图像修复的方法与系统。
背景技术
随着计算机及数字技术的发展,数字图像以其方便保存和处理等优点而被人们所广泛使用。然而,数字图像在存储介质中数据的丢失,压缩、传输过程中因外界噪点的干扰或自身信息的丢失都有可能造成数字图像的损坏。有刮痕或污渍斑点的损坏老旧照片在扫描成数字图片后也需要对其进行修补。此外,由于特殊的要求,需要除去图像中的定物体或文字,移除后留下的空白区域需要填补。因此,人们迫切期望得到一种简单、自动、快速的图像编辑方法,轻松的完成图像修复。目前,国内外针对图像修复问题的解决思路主要包括基于变分非线性偏微分方程 PDE(Partial Differential Equations)的图像修复、基于纹理合成的图像修复。其中基于变分非线性偏微分方程的图像修复将待修复区域周围信息沿着等照度线方向通过逐渐扩散的方式修复图像中的空洞。基于纹理合成的图像修复方法将图像未丢失信息作为推导图像丢失信息的训练集,在训练集中寻找最匹配的样本填入图像空白区,实现图像的有效修
Μ. ο基于变分非线性偏微分方程的图像修复方法修复结果不稳定,不能有效修复大丢失区域,在修复结果的中心有明显的失真,修复效果欠佳,而且该方法需要反复迭代,效率不高。基于纹理合成的图像修复方法容易导致图像结构的错误繁殖,修复效果不够理想,并且其本身的计算比较耗时,导致图像修复的效率较低。现有技术中的图像修复的方法存在修复效果较差并且修复效率较低的问题,对于该问题,目前尚未提出有效解决方案。

发明内容
本发明的主要目的是提供一种图像修复的方法与系统,以解决现有技术中图像修复效果较差的问题,本发明的另一目的是解决现有技术中图像修复效率较低的问题。为了实现上述目的,根据本发明的一个方面,提供了一种图像修复的方法。本发明的图像修复的方法包括确定图像待修复区域的轮廓;分别对图像所述待修复区域的所有轮廓点设定邻域的未知像素点进行修复,将修复得到的图像作为更新后图像;重复进行上述两个步骤,对图像待修复区域从边缘向内的依次进行分层修复,直至待修复区域全部填充完毕。所述分别对所述待修复区域的所有轮廓点设定邻域的未知像素点进行修复包括: A、根据图像待修复区域的轮廓点设定邻域内的已知像素点的图像信息,将轮廓点划分为平滑轮廓点和结构轮廓点;B、对所述图像待修复区域的平滑轮廓点和结构轮廓点的设定邻域未知像素点进行修复。进一步地,所述根据图像待修复区域的轮廓点设定邻域的已知像素点的图像成份,将轮廓点划分为平滑轮廓点和结构轮廓点包括确定轮廓点P为中心点的设定邻域;计算所述设定邻域内已知像素点的梯度,统计每一梯度方向的加权梯度幅值,取最大值作为轮廓点P的加权梯度幅值,所述梯度方向是经过归一化得到的方向;如所述加权梯度幅值小于设定阈值,则该轮廓点为平滑轮廓点,反之,则该轮廓点为结构轮廓点。进一步地,所述统计每一梯度方向的加权梯度幅值是依据由设定邻域内各已知像素点与轮廓点P的距离决定的权值,进行加权求和得到的数值,其中距离越小权值越大。进一步地,对所述结构轮廓点设定邻域的未知像素点进行修复包括按照结构轮廓点的设定邻域已知像素点的加权梯度幅值,由强到弱依次修复各个结构轮廓点的未知像素点。进一步地,对所述平滑轮廓点设定邻域的未知像素点进行修复包括采用镜像的方式填充所述平滑轮廓点的设定邻域的未知像素点。进一步地,对所述结构轮廓点的设定邻域的未知像素点进行修复包括采用纹理合成的方法填充所述结构轮廓点的设定邻域的未知像素点。进一步地,在所述步骤B中,对于平滑轮廓点设定邻域的未知像素点和结构轮廓点设定邻域的未知像素点的重叠的部分,采用结构轮廓点填充的结果。根据本发明的另一方面,提供了一种图像修复的系统。本发明的图像修复的系统包括轮廓确定模块,用于确定图像待修复区域的轮廓; 修复操作模块,用于分别对图像所述待修复区域的所有轮廓点设定邻域的未知像素点进行修复,将修复得到的图像作为更新后图像;修复控制模块,用于控制所述轮廓确定模块和所述修复操作模块对图像待修复区域从边缘向内的依次进行分层修复,直至待修复区域全部填充完毕。进一步地,所述修复操作模块还用于A、根据图像待修复区域的轮廓点设定邻域内的已知像素点的图像信息,将轮廓点划分为平滑轮廓点和结构轮廓点;B、对所述图像待修复区域的平滑轮廓点和结构轮廓点的设定邻域未知像素点进行修复。进一步地,所述修复操作模块还用于确定轮廓点ρ为中心点的设定邻域;计算所述设定邻域内已知像素点的梯度,统计每一梯度方向的加权梯度幅值,取最大值作为轮廓点P的加权梯度幅值,所述梯度方向是经过归一化得到的方向;如所述加权梯度幅值小于设定阈值,则该轮廓点为平滑轮廓点,反之,则该轮廓点为结构轮廓点。进一步地,所述修复操作模块还用于依据由设定邻域内各已知像素点与轮廓点ρ 的距离决定的权值,进行加权求和得到的数值,其中距离越小权值越大。进一步地,所述修复操作模块还用于按照结构轮廓点的设定邻域已知像素点的加权梯度幅值,由强到弱依次修复各个结构轮廓点的未知像素点。进一步地,所述修复操作模块还用于采用镜像的方式填充所述平滑轮廓点的设定邻域的未知像素点。进一步地,所述修复操作模块还用于采用纹理合成的方法填充所述结构轮廓点的设定邻域的未知像素点。进一步地,所述修复操作模块还用于对于平滑轮廓点设定邻域的未知像素点和结构轮廓点设定邻域的未知像素点的重叠的部分,采用结构轮廓点填充的结果。从以上说明可以看出,本实施例的技术方案中对于图像的待修复区域进行分层处理,这样有助于减少样例修复过程的结构错误繁殖,从而提高了图像修复的效果。并且本发明实施例中对于平滑轮廓点和结构轮廓点采用不同的方式进行修复,有助于提高图像修复的效率。


说明书附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的图像修复的方法的主要步骤流程图;图2是根据本发明实施例的对图像进行分层修复的示意图;图3是根据本发明实施例的图像修复方法的一种具体流程的示意图;以及图4是根据本发明实施例的图像修复的系统的主要模块示意图。
具体实施例方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。图1是根据本发明实施例的图像修复的方法的主要步骤流程图,如图1所示,该方法主要包括如下步骤步骤Sll 确定图像待修复区域的轮廓;步骤S13 分别对图像待修复区域的所有轮廓点设定邻域的未知像素点进行修复,将修复得到的图像作为更新后图像;步骤S15 判断待修复区域是否全部填充完毕;若是,则结束流程,否则返回步骤 S11。从上述流程可以看出,本实施例的技术方案中对于图像的待修复区域进行分层处理,这样有助于减少样例修复过程的结构错误繁殖,从而提高了图像修复的效果。分层修复的思想可以从图2中看出。图2是根据本发明实施例的对图像进行分层修复的示意图。如图2所示,方框21表示图像20的损坏区域,该损坏区域即为初始的待修复区域,开始修复图像时,在第一遍执行步骤Sll和步骤S13时,修复的是方框21和方框22之间的区域,再次执行步骤Sll和步骤S13时,修复的是方框22和方框23之间的区域,依此类推,直至方框21所示的损坏区域全部修复完毕。本实施例中,为了提高图像修复的效率,在进行待修复区域的修复操作时,可以分别对待修复区域的平滑轮廓点和结构轮廓点进行处理,具体可分为如下两个步骤步骤A、根据图像待修复区域的轮廓点设定邻域内的已知像素点的图像信息,将轮廓点划分为平滑轮廓点和结构轮廓点;步骤B、对图像待修复区域的平滑轮廓点和结构轮廓点的设定邻域未知像素点进行修复。以下再对步骤A和步骤B作进一步说明。在步骤A中,可以先确定轮廓点ρ为中心点的设定邻域;然后计算设定邻域内已知像素点的梯度,统计每一梯度方向的加权梯度幅值,取最大值作为轮廓点P的加权梯度幅值;如加权梯度幅值小于设定阈值,则该轮廓点为平滑轮廓点,反之,则该轮廓点为结构轮廓点。这里统计每一梯度方向的加权梯度幅值可以是依据由设定邻域内各已知像素点与轮廓点P的距离决定的权值,进行加权求和得到的数值,其中距离越小权值越大。
对结构轮廓点设定邻域的未知像素点进行修复时,具体可以是按照结构轮廓点的设定邻域已知像素点的加权梯度幅值,由强到弱依次修复各个结构轮廓点的未知像素点。在具体的修复方式上,对于平滑轮廓点和结构轮廓点采用不同的方式,以提高修复效率。本实施例中,对平滑轮廓点设定邻域的未知像素点进行修复时,采用镜像的方式填充平滑轮廓点的设定邻域的未知像素点;对结构轮廓点的设定邻域的未知像素点进行修复时,采用纹理合成的方法填充结构轮廓点的设定邻域的未知像素点。在上述步骤B中,图像内有时会出现平滑轮廓点设定邻域的未知像素点和结构轮廓点设定邻域的未知像素点的重叠的部分。对于这部分图像,本实施例中采用结构轮廓点填充的结果,以保证图像修复的相对准确性。图3是根据本发明实施例的图像修复方法的一种具体流程的示意图,以下对该流程作出说明。在开始处理图像时,将图像颜色模式转换为Lab模式。这是考虑到Lab空间中的图像的表示更符合人眼的视觉特性,所以在Lab空间进行图像相似块的匹配,以此提高相似块的正确匹配程度,减少与人眼不符的错误结构延伸。接下来确定待修复区域的轮廓,然后分析待修复区域轮廓上各点邻域的已知像素的图像成分,将轮廓点分为平滑和结构两类。在对轮廓点进行分类时,具体可采用如下方法对轮廓上的一点P,以其为中心取邻域块P。计算该块内已知像素点的梯度,统计这些梯度的方向直方图,根据梯度直方图得到点P的邻域P包含结构的方向和该方向相应的强度,所述方向是指梯度方向为归一化得到的方向,如将360度归一化为8个主要方向,即0 45度认为属于同一方向。其中,直方图第i柱的值为方向为i的梯度的幅值加权和,权值根据邻域块内各已知像素点q与点P 的距离决定,距离越小权值越大,距离越大权值越小。以该加权梯度幅值作为待修复轮廓上各轮廓点包含结构多少的度量。如果该值越接近于零,就认为改点为平滑轮廓点,其邻域也有可能是平滑的。反之,如果该值很大,则可以认为当前点为结构轮廓点,其邻域可能包含丰富的结构。对于平滑轮廓点采用镜像的方式将已知像素向待修复区域进行修复,直到修复完所有平滑轮廓点。对于结构轮廓点,按照其邻域已知像素包含结构成分的多少排列修复顺序。在对结构轮廓点进行修复时,可以采用纹理合成的方法。具体可以是取出最优填充点的邻域块,以该邻域块中的已知像素点为参考,在图像已知区域中搜索与之最为相似的图像块;最优填充点邻域中的未知像素点以搜索到的相似图像块中的对应像素点的像素值进行填充,填充以后的未知像素点在进行下一次填充时作为已知像素点。对于同类轮廓点填充过后的像素认为是已知的;但本实施例中平滑区域的修复结果不作为结构区域修复时的依据。例如,如果一个结构轮廓点的邻域中包含了已经被填充的平滑区域的像素点, 那么这些点不作为这个结构轮廓点修复时匹配的依据,而作为未知的像素点,这也是为了避免平滑区域的填充结果对结构区域的错误覆盖。也就是说,在上述修复的过程中,如果结构点的修复结果和平滑点的修复结果如果有重叠,则以结构点的修复结果覆盖,强调结构点的修复。至此一层的图像修复完毕。然后更新待修复区域的轮廓,开始下一层的修复;重复上述步骤直到待修复区域全部填充完毕。
图4是根据本发明实施例的图像修复的系统的主要模块示意图。如图4所示,图像修复的系统40主要包括如下模块轮廓确定模块,用于确定图像待修复区域的轮廓;修复操作模块,用于分别对图像待修复区域的所有轮廓点设定邻域的未知像素点进行修复, 将修复得到的图像作为更新后图像;修复控制模块,用于控制轮廓确定模块和修复操作模块对图像待修复区域从边缘向内的依次进行分层修复,直至待修复区域全部填充完毕。修复操作模块还可用于按如下步骤进行修复操作A、根据图像待修复区域的轮廓点设定邻域内的已知像素点的图像信息,将轮廓点划分为平滑轮廓点和结构轮廓点;B、首先对图像待修复区域的平滑轮廓点的设定邻域未知像素点进行修复,再次,对图像待修复区域的结构轮廓点的设定邻域的未知像素点进行修复。修复操作模块还可用于确定轮廓点ρ为中心点的设定邻域;以及计算设定邻域内已知像素点的梯度,统计每一梯度方向的加权梯度幅值,取最大值作为轮廓点P的加权梯度幅值;如加权梯度幅值小于设定阈值,则该轮廓点为平滑轮廓点,反之,则该轮廓点为结构轮廓点。修复操作模块还可用于依据由设定邻域内各已知像素点与轮廓点ρ的距离决定的权值,进行加权求和得到的数值,其中距离越小权值越大。修复操作模块还可用于按照结构轮廓点的设定邻域已知像素点的加权梯度幅值, 由强到弱依次修复各个结构轮廓点的未知像素点。修复操作模块还可用于采用镜像的方式填充平滑轮廓点的设定邻域的未知像素点,或者采用纹理合成的方法填充结构轮廓点的设定邻域的未知像素点。修复操作模块还可用于对于平滑轮廓点设定邻域的未知像素点和结构轮廓点设定邻域的未知像素点的重叠的部分,采用结构轮廓点填充的结果。从以上说明可以看出,本实施例的技术方案中对于图像的待修复区域进行分层处理,这样有助于减少样例修复过程的结构错误繁殖,从而提高了图像修复的效果。并且本发明实施例中对于平滑轮廓点和结构轮廓点采用不同的方式进行修复,有助于提高图像修复的效率。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种图像修复的方法,其特征在于,包括确定图像待修复区域的轮廓;分别对图像所述待修复区域的所有轮廓点设定邻域的未知像素点进行修复,将修复得到的图像作为更新后图像;重复进行上述两个步骤,对图像待修复区域从边缘向内的依次进行分层修复,直至待修复区域全部填充完毕。
2.根据权利要求1所述的方法,其特征在于,所述分别对所述待修复区域的所有轮廓点设定邻域的未知像素点进行修复包括A、根据图像待修复区域的轮廓点设定邻域内的已知像素点的图像信息,将轮廓点划分为平滑轮廓点和结构轮廓点;B、对所述图像待修复区域的平滑轮廓点和结构轮廓点的设定邻域未知像素点进行修Μ. ο
3.根据权利要求2所述的方法,其特征在于,所述根据图像待修复区域的轮廓点设定邻域的已知像素点的图像成份,将轮廓点划分为平滑轮廓点和结构轮廓点包括确定轮廓点P为中心点的设定邻域;计算所述设定邻域内已知像素点的梯度,统计每一梯度方向的加权梯度幅值,取最大值作为轮廓点P的加权梯度幅值,所述梯度方向是经过归一化得到的方向;如所述加权梯度幅值小于设定阈值,则该轮廓点为平滑轮廓点,反之,则该轮廓点为结构轮廓点。
4.根据权利要求3所述的方法,其特征在于,所述统计每一梯度方向的加权梯度幅值是依据由设定邻域内各已知像素点与轮廓点P的距离决定的权值,进行加权求和得到的数值,其中距离越小权值越大。
5.根据权利要求3所述的方法,其特征在于,对所述结构轮廓点设定邻域的未知像素点进行修复包括按照结构轮廓点的设定邻域已知像素点的加权梯度幅值,由强到弱依次修复各个结构轮廓点的未知像素点。
6.根据权利要求2或3所述的方法,其特征在于,对所述平滑轮廓点设定邻域的未知像素点进行修复包括采用镜像的方式填充所述平滑轮廓点的设定邻域的未知像素点。
7.根据权利要求2、3或5所述的方法,其特征在于,对所述结构轮廓点的设定邻域的未知像素点进行修复包括采用纹理合成的方法填充所述结构轮廓点的设定邻域的未知像素点ο
8.根据权利要求2、3或5所述的方法,其特征在于,在所述步骤B中,对于平滑轮廓点设定邻域的未知像素点和结构轮廓点设定邻域的未知像素点的重叠的部分,采用结构轮廓点填充的结果。
9.一种图像修复的系统,其特征在于,包括轮廓确定模块,用于确定图像待修复区域的轮廓;修复操作模块,用于分别对图像所述待修复区域的所有轮廓点设定邻域的未知像素点进行修复,将修复得到的图像作为更新后图像;修复控制模块,用于控制所述轮廓确定模块和所述修复操作模块对图像待修复区域从边缘向内的依次进行分层修复,直至待修复区域全部填充完毕。
10.根据权利要求9所述的系统,其特征在于,所述修复操作模块还用于A、根据图像待修复区域的轮廓点设定邻域内的已知像素点的图像信息,将轮廓点划分为平滑轮廓点和结构轮廓点;B、对所述图像待修复区域的平滑轮廓点和结构轮廓点的设定邻域未知像素点进行修Μ. ο
11.根据权利要求10所述的系统,其特征在于,所述修复操作模块还用于 确定轮廓点P为中心点的设定邻域;计算所述设定邻域内已知像素点的梯度,统计每一梯度方向的加权梯度幅值,取最大值作为轮廓点P的加权梯度幅值,所述梯度方向是经过归一化得到的方向;如所述加权梯度幅值小于设定阈值,则该轮廓点为平滑轮廓点,反之,则该轮廓点为结构轮廓点。
12.根据权利要求11所述的系统,其特征在于,所述修复操作模块还用于依据由设定邻域内各已知像素点与轮廓点P的距离决定的权值,进行加权求和得到的数值,其中距离越小权值越大。
13.根据权利要求11所述的系统,其特征在于,所述修复操作模块还用于按照结构轮廓点的设定邻域已知像素点的加权梯度幅值,由强到弱依次修复各个结构轮廓点的未知像; ο
14.根据权利要求10或11所述的系统,其特征在于,所述修复操作模块还用于采用镜像的方式填充所述平滑轮廓点的设定邻域的未知像素点。
15.根据权利要求10、11或13所述的系统,其特征在于,所述修复操作模块还用于采用纹理合成的方法填充所述结构轮廓点的设定邻域的未知像素点。
16.根据权利要求10、11或13所述的系统,其特征在于,所述修复操作模块还用于对于平滑轮廓点设定邻域的未知像素点和结构轮廓点设定邻域的未知像素点的重叠的部分,采用结构轮廓点填充的结果。
全文摘要
本发明提供了一种图像修复的方法与系统,用以解决现有技术中图像修复效果较差的问题。该方法包括确定图像待修复区域的轮廓;分别对图像所述待修复区域的所有轮廓点设定邻域的未知像素点进行修复,将修复得到的图像作为更新后图像;重复进行上述两个步骤,对图像待修复区域从边缘向内的依次进行分层修复,直至待修复区域全部填充完毕。
文档编号G06T5/00GK102567955SQ20101061656
公开日2012年7月11日 申请日期2010年12月30日 优先权日2010年12月30日
发明者刘 文, 李平立, 郎咸朋 申请人:北京大学, 方正国际软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1