如何从图像中删除某些背景?


11

橙子

这是经过Gabor滤波后获得的图像...除了亮白色的圆形缺陷外,还有什么方法可以去除图像中的线条。

尝试使用其他方向的gabor过滤器得到以下结果:

在此处输入图片说明

达到阈值后:哪个还可以,但还不算太好

在此处输入图片说明

中值过滤后:

在此处输入图片说明

提前致谢


2
用中值过滤器做得很好。一切顺利。
Rethunk 2012年

这似乎是应用扩散滤波器的好方案。另外,请尝试询问:<br/> dsp.stackexchange.com/ <br> photo.stackexchange.com/ <br>
Danny Varod 2012年

您是否在阈值之后应用了中值过滤器?如果是这样,请尝试无限制的尝试。
丹尼·瓦罗德

是的,我在阈值设置后尝试过,并且在此之前也得到了几乎相同的结果
vini 2012年

Answers:


12

如果您的Gábor滤波器的输出是可靠的,并且图像数据中的变化不是很高,以致结果看起来完全不同,那么您可以使用以下方法(部分内容已提到):

  1. 使用任何自动阈值算法对第二张图像进行二值化处理。如您所见,将起作用的阈值范围很大。

  2. 使用组件标记算法以唯一的值标记像素的每个连接区域。

  3. 计算图像中每个组成部分的属性,该属性描述对象与实心圆的接近程度。为此,您可以使用例如compactness。我使用了低于等效磁盘半径内的像素分数。该半径是与对象具有相同面积的磁盘的半径。

    1. 面积只是计算对象的像素数
    2. 给定圆弧面积,计算圆弧半径也应易于管理
    3. 对于此半径内的像素,您需要每个图像对象的中心,但这只是对象像素所有位置的平均值。如果您是物理学家,那么您就会知道几个点质量的质心。这是等效的。
    4. 现在,您为每个对象的每个像素计算距其中心的距离,并检查其是否小于圆半径。将两个数字相除,即可得到内部像素和外部像素的分数。
  4. 取分数最高的物体。注意:只有一个像素的对象将获得1的值。因此,您应该设置大小阈值,并且只接受较大的对象,例如10像素。

要看到自动二值化应该起作用,这是阈值非常低和非常高的结果:

在此处输入图片说明 在此处输入图片说明

更新组件标签

组件标签的选择对于您的应用程序并不重要。我建议,如果您必须自己实现它,请使用一种非常简单的方法。Wikipedia网站的一过一通版本非常简单。基本上,您会遍历二进制图像,并且遇到一个白色像素且尚未被标记的像素时,可以对该对象使用新的标记,并从该像素开始。

用标签标记该对象的过程基本上类似于泛洪填充。这是Wikipedia站点上算法的内部步骤1-4。您从这个标记的像素开始,并将其所有邻居放置在堆栈中(它们使用了vector)。对于堆栈上的像素,请检查它是否是前景并且尚未标记。如果必须标记它,则可以将其所有邻居再次放置在堆栈中。这样做直到堆栈为空。

然后,您继续扫描图像。与Wiki网站上的描述不同,您不必从原始图像中删除像素,而当标签图像中的值不同于0时,只需跳过。


您在这里引用了什么组件标记算法?
vini 2012年

1
@vini,我更新了我的帖子。声子,谢谢。我们使用了许多形态学方法,尤其是紧凑性在不久前非常有用。

是的,太好了:)
vini 2012年

6

一些想法:

  1. 根据边缘强度的密度过滤掉边缘。使用圆形核的近似值,求出平均边缘强度(或其他度量)。穿过等于或高于阈值的任何边缘,将低于阈值的任何边缘设置为黑色。
  2. 使用形态学的“关闭”操作(先扩张,然后腐蚀)清理图像,然后使用区域标记算法(又称连通分量,斑点)查找所有斑点。根据大小,长轴与短轴之比等过滤斑点数据。
  3. 尝试使用高斯模糊,找到一个二值化阈值以分割来自黑暗的光线,然后按照上面的步骤2中所述过滤斑点。(要快速逼近高斯模糊,请捏紧双眼皮并在图像上斜视。)
  4. 在Photoshop或GIMP中尝试一些过滤器。

编辑:中值过滤步骤之后,您已完成大部分操作。做得好!我在上面建议的第2项(关闭,然后标记区域)是一种将您带入其余部分的技术。


yup会尝试让您知道会发生什么
vini 2012年

1

您可以尝试激活轮廓。尽管它可能很慢,但可以处理这种复杂情况。

或者,您可以使用一些先验知识来处理此图像。例如,您知道blob事物是“大”和“连接”的。因此,当您计算每个连接区域的数量时,就可以找到它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.