一种基于图像修补技术的快速去除图像污点的方法

文档序号:6370287阅读:99来源:国知局
专利名称:一种基于图像修补技术的快速去除图像污点的方法
技术领域
本发明涉及图像处理领域,特别涉及一种基于图像修补技术的快速去除图像污点的方法。
背景技术
由于长期暴露在恶劣的环境下,灰尘覆盖不均等原因造成镜头污染,而导致成像质量下降,使图像含有污点。这些污点主要是由于光线在沿直线传播的过程中,遇到镜头上积聚各类污染物(如指纹的污染物,灰尘,污垢)的阻挡而形成的。而机器视觉系统有时候不得不使用在工作过程中带上灰尘的相机,这样产生的污点图像对后续的图像分析与理解带来极大的干扰。目前也有ー些方法研究去除图像上污点的方法,例如中值滤波器,虽然对于一般的脉冲杂质能够处理的很好,但是由于大部分的粉尘所造成的杂点都比较大,所以利用传统的去杂质的方法将会失败。另外,也有人提出利用Adobe Photoshop的修复笔刷工具或Ulead PhotoImpact的修容工具来将小污点去掉,其用法是先在没有小污点的景象区域中选定要填补小污点的材质,接着在利用滑鼠在小污点的位置上拖拽,这样就能把刚刚所选定区域上的材质填补进去而将小污点移除。但是缺点为必须人为手动选取要拿掉的小污点并找材质来填补,所以耗时耗力。

发明内容
本发明要解决的技术问题是提供一种基于图像修补技术的快速去除图像污点的方法。该方法能够自动侦测污点的位置,同时利用图像修补技术将图像中令人困扰的污点去除,并且维持图像中的材质与线性结构的完整。本发明采用的技术方案为一种基于图像修补技术的快速去除图像污点的方法,其特征在于实现步骤如下(I)将镜头污染的相机,使其光圈开到最小,并对着一张白纸或任何全白的物体拍摄;(2)将(I)中相机拍摄的图像结合Sobel算子以及形态学的扩张运算有效地侦测污点的位置,作为之后进行图像修补所使用的遮罩。只要是同一台照相机所拍摄的图像,都套用同样的遮罩,将图像中的污点的位置标记出来;(3)对于同一相机拍摄的含有污点的图像,根据(2)中的遮罩,标记出污点的位置,找出要填补区域;(4)沿着污点区域的轮廓的每个像素,以其为中心定义ー个patch块,计算每个patch的优先权大小;(5)选择具有最大优先权的patch作为待匹配块,在原图中完好信息区域中捜索找到待匹配块的最佳匹配块进行替换贴补;(6)更新贴补后的图像信息,如果图像的污点区域修补完毕则输出去除污点后的图像,否则重复步骤(4)- (6)。本发明与现有技术相比的优点在干首先,本发明利用了发明内容中步骤(1),
(2)所述的方法,对相机中的污点的位置进行标记,该方法能够有效地自动侦测出污点的位置,而不需要人工手动标记污点的位置;其次,本发明的发明内容步骤(5)中最佳匹配块的搜索采用局部捜索算法,与全局捜索相比该算法能够减少捜索空间,提高效率的同时可以达到满意的修补效果;再次,本发明的发明内容步骤(6)中被修补区域的置信度的更新规则考虑到随着填充过程的进行,来自源区域样本的直接拷贝和捜索相似块距离的非零,不可避免地会产生ー些累积误差,因此将相似度也作为置信度的衡量标准,该方法能够使有较大误差的样本块就有较小的置信度,避免了误差的累积,从而可以有效避免冗余像素的产生。


图I是本发明的方法流程图;图2是对着白纸拍摄的图像;图3是将Sobel算子作用于图2的結果;图4是扩张运算的结果,该图像将污点的位置标记出来,作为后续去污的遮罩;图5是拍摄的污点图像;图6将图5中的污点位置标记出来;图7是去除图像污点的结果;
具体实施例方式步骤I将镜头污染的相机,使其光圈开到最小,并对着一张白纸或任何全白的物体拍摄。步骤2将步骤I中拍摄的图像结合Sobel算子以及形态学的扩张运算有效地侦测出污点的位置,作为之后进行图像修补所使用的遮罩。只要是同一台照相机所拍摄的图像,都套用同样的遮罩,将图像中的污点的位置标记出来。步骤2. I利用Sobel算子以克服图像中有亮度变化的方法来自动侦测污点的边缘。由于污点在图像中其亮度相对较小,因此可以利用ー阶微分,也就是梯度运算将污点的边缘侦测出来。原理就是利用梯度运算能够增强微小且不连续点的能力以及能够除去缓慢变化的背景,而Sobel算子是实际计算梯度时最常用的算子,其利用给予中心点较大的加权值来达到平滑的特性。Sobel算子该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。步骤2. 2在污点边缘侦测出来之后,需要移除整个污点,因此利用形态学图像处理上的扩张运算来将污点铺满以利于后面的去除污点的处理。具体原理如下(a)用3X3的大小结构元素,扫描图像的每ー个像素;(b)用结构元素与其覆盖的ニ值图像做“与”操作;(c)如果都为0,结果图像的该像素为0,否则为I ;结果使ニ值图像扩大ー圈;扩张运算的公式如下
d十5 = 丨笑Φ}其中,A为输入的ニ值图像,B为结构元素,B(X)为B的核。用B(X)对A进行扩张的结果就是把结构元素B平移后使B与A的交集中非空的点构成的集合。扩张运算的计算是逐点进行,计算时涉及到它周围点的值及结构元素值,实际上是局部范围内点与结构元素中对应点值之和,选取 其中最大值,所以扩张运算之后,边缘得到了延伸。步骤3对于同一相机拍摄的含有污点的图像,根据步骤2中的遮罩,标记出污点的位置,找出要填补区域。这里只需要利用步骤2中的方法做一次污点侦测的操作,将图像中污点的位置侦测出来以作为遮罩,那么只有是同一台镜头污染的相机所拍摄的图像,就可以套用同样的遮罩将其污点标记出来,而不需要每张图像都要再做一次污点侦测的操作。步骤4沿着污点区域的轮廓的每个像素,以其为中心定义ー个patch块,计算每个patch的优先权大小。步骤3中已经将图像中污点的部分标记出来,而它就是将要修补的目标区域Ω,并把目标区域Ω的轮廓定义出来,我们把它定义为δ Ω,之后步骤如下步骤4. I初始化。在初始化的时候,会先给予每个像素ー个置信度值(ConfidenceValue),以C(p)表示,其规则是假如P点是在目标区域里,则C (p) =0,否则C(p) = I。步骤4. 2对于每个位在δ Ω上的点ρ,定义ー个以ρ点为中心的9X9大小的Patch,以符号Ψρ表示。之后计算每个位在轮廓上的Patch优先权P (ρ),优先权的值综合反映了待修补块的置信度和结构的強弱,由此来决定图像修补的顺序。优先权P(P)的计算公式为P(p) = C(p) XD(p)置信度C (ρ)衡量P处信息的可靠程度,计算公式如下
权利要求
1.一种基于图像修补技术的快速去除图像污点的方法,其特征在于实现步骤如下 (1)将镜头污染的相机,使其光圈开到最小,并对着一张白纸或任何全白的物体拍摄; (2)将(I)中相机拍摄的图像结合Sobel算子以及形态学的扩张运算有效地侦测污点的位置,作为之后进行图像修补所使用的遮罩,只要是同一台照相机所拍摄的图像,都套用同样的遮罩,将图像中的污点的位置标记出来; (3)对于同一相机拍摄的含有污点的图像,根据(2冲的遮罩,标记出污点的位置,找出要填补区域; (4)沿着污点区域的轮廓的每个像素,以其为中心定义ー个patch块,计算每个patch的优先权大小; (5)选择具有最大优先权的patch作为待匹配块,在原图中完好信息区域中搜索找到待匹配块的最佳匹配块进行替换贴补; (6)更新贴补后的图像信息,如果图像的污点区域修补完毕则输出去除污点后的图像,否则重复步骤(4)- (6)。
2.根据权利要求I所述的ー种基于图像修补技术的快速去除图像污点的方法,其特征在于所述步骤(2)中对于相机拍摄的白纸图像结合Sobel算子以及形态学的扩张运算有效地侦测污点位置的过程如下 首先,利用Sobel算子以克服图像中有亮度变化的方法来自动侦测污点的边缘。由于污点在图像中其亮度相对较小,因此可以利用ー阶微分,也就是梯度运算将污点的边缘侦测出来;原理就是利用梯度运算能够增强微小且不连续点的能力以及能够除去缓慢变化的背景,而Sobel算子是实际计算梯度时最常用的算子,其利用给予中心点较大的加权值来达到平滑的特性;Sobel算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,分别得出横向及纵向的亮度差分近似值; 在污点边缘侦测出来之后,需要移除整个污点,因此利用形态学图像处理上的扩张运算来将污点铺满以利于后面的去除污点的处理,具体如下 (a)用3X3的大小结构元素,扫描图像的每ー个像素; (b)用结构元素与其覆盖的ニ值图像做“与”操作; (c)如果都为0,结果图像的该像素为0,否则为I; 结果使ニ值图像扩大ー圈;扩张运算的公式如下 ^05 = {χ|5(χ)Π^^Φ} 其中,A为输入的ニ值图像,B为结构元素,B(X)为B的核。用B(X)对A进行扩张的结果就是把结构元素B平移后使B与A的交集中非空的点构成的集合; 扩张运算的计算是逐点进行,计算时涉及到它周围点的值及结构元素值,实际上是局部范围内点与结构元素中对应点值之和,选取其中最大值,所以扩张运算之后,边缘得到了延伸。
3.根据权利要求I所述的ー种基于图像修补技术的快速去除图像污点的方法,其特征在于所述步骤(3)中对于同一相机拍摄的含有污点的图像,根据步骤(2)中的遮罩,标记出污点的位置,找出要填补区域,这里只需要利用步骤(2)中的方法做一次污点侦测的操作,将图像中污点的位置侦测出来以作为遮罩,那么只要是同一台镜头污染的相机所拍摄的图像,就套用同样的遮罩将其污点标记出来,而不需要每张图像都要再做一次污点侦测的操作。
4.根据权利要求I所述的ー种基于图像修补技术的快速去除图像污点的方法,其特征在于所述步骤(4)中沿着污点区域的轮廓的每个像素,以其为中心定义ー个patch块,计算每个patch的优先权大小;步骤3已经将图像中污点的部分标记出来,而它就是将要修补的目标区域Ω,并把目标区域Ω的轮廓定义出来,我们把它定义为δ Ω,之后步骤如下 (4.1)初始化。在初始化的时候,会先给予姆个像素ー个置信度值(ConfidenceValue),以C(p)表示,其规则是假如P点是在目标区域里,则C(p) = 0,否则C(p) = I ; (4. 2)对于每个位在δ Ω上的点ρ,定义ー个以P点为中心的9X9大小的Patch,以符号Ψρ表示,之后计算每个位在轮廓上的Patch的优先权P(p),优先权的值综合反映了待修补块的置信度和结构的強弱,由此来决定图像修补的顺序;优先权P(P)的计算公式为
5.根据权利要求I所述的ー种基于图像修补技术的快速去除图像污点的方法,其特征在于所述步骤(5)选择具有最大优先权的patch作为待匹配块,在原图中完好信息区域中搜索找到待匹配块的最佳匹配块进行替换贴补,具体过程如下 选择ー个有最高优先权的Patch来被填补,以符号デ 表不,然后米用局部窗ロ空间搜索匹配块,这里局部窗ロ的尺寸设置如下WindowLength=StepLengthXPatchSize 其中,PatchSize为填充块的尺寸大小,StepLength为步长,搜索空间以当前具有最大优先权的点为中心,分别向上、下、左、右延伸WindowLength这样长的一段距离,因此实际捜索空间为Ioacalspace=(2XffindowLength+1)X (2XWindowLength+1) 这一局部窗ロ搜索空间与全局搜索相比,窗ロ尺寸从NXM减少到nXm,N、M分别为图像的行和列,n、m分别为局部窗ロ的行和列,这样减少了搜索时间,提高了图像修补的效率; 确定了匹配块的搜索空间同时需要确定块的匹配准则,这里根据两个patch块的颜色和梯度差异共同来计算目标块和样本块K。之间的相似度,相似度函数的定义为
6.根据权利要求5所述的ー种基于图像修补技术的快速去除图像污点的方法,其特征在干所述步骤(6)更新贴补后的图像信息,这里更新被修补区域的置信度,其更新公式如下C(ρ) = Cipye cod2,Mp e {ψ- Π Ω) 式中,ω是ー个可调參数;d是相似度函数所求得的值;^是具有最高优先权的Patch Wp的中心点像素;C(i)是计算出的 的置信度值;显然,由这个方程可知相似度函数值越大,像素点误差越大,置信度值越低。
全文摘要
本发明提出了一种基于图像修补技术的快速去除图像污点的方法。首先,用镜头污染的相机拍摄一张白纸图像,并结合Sobel算子以及扩张运算侦测出污点的位置,作为遮罩。对于同一台相机拍摄的图像,套用上述遮罩标记出图像中污点区域。然后,对于污点区域轮廓上的每个像素,定义一个patch块并计算每个patch块的优先权。选出具有最大优先权的patch块,搜索找到最佳匹配块进行替换贴补。接着,更新贴补后的图像信息,并进行再次修补直至图像的污点区域修补完毕。本发明提供的去除图像污点的方法,能够自动的,快速的针对有污点的图像进行修补,且很好地保持了图像的线性结构。
文档编号G06T5/50GK102693534SQ20121016699
公开日2012年9月26日 申请日期2012年5月25日 优先权日2012年5月25日
发明者王俊秀, 百晓, 郭周晓, 魏韡 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1