检测打印图像中的缺陷/差异

时间:2015-09-01 04:28:19

标签: image opencv

我一直在尝试各种方法来检测打印图像中的缺陷。被认定为缺陷的特征可能包括划痕,变色等。

我在图像处理方面经验不足,不确定我的方法是否可以接受。

我尝试了几种方法:

给出两个图像(一个好,另一个是缺陷)

  1. 阈值和模糊
  2. 运行Canny边缘检测
  3. 使用fastNlMeansDenoising
  4. 删除噪音
  5. 对这两个图像进行XOR并使用SIFT查找可能被归类为缺陷的突出功能。
  6. 它非常有效 - 在非常有限的情况下。

    似乎这个方法在行业中被使用/提出了一点(?),如in this paper所示。但问题是,如果你有两个图像没有对齐到最轻微的位,那么你就会遇到问题,因为所有的XOR都会导致XOR-ed图像非常错误。所以对我而言,它似乎不是一个可接受的解决方案,因为每次都不可能完美地对齐两个图像(或者我可以尝试重新对齐图像)。

    我应该如何处理这个问题。有没有一种方法类似于XOR-ing,它更容忍微妙的差异?或许,一种完全不同的方法。

    可能的替代

    将两个图像分成n个像素的块。计算并比较从图像A到图像B分解的每个像素块的直方图。即使其中一个图像模糊不清,直方图应该仍然相似(不确定这是否是一个合理的假设) 。如果任何块包含黑色或白色斑点,则应标记该块以供进一步检查。

    diff 1 检测较暗的字体颜色

    diff 2 检测那些不应该在那里的眉毛

    diff 3 检测褪色/变亮区域

0 个答案:

没有答案