分割半透明的材料,例如玻璃


11

我完全陷入关于玻璃物体分割的问题。我需要使对象尽可能精确。我的方法是不同的。首先,我尝试删除背景,以便仅保留一些清晰的轮廓。但这仅适用于具有尖锐边缘/渐变的对象。否则,对象本身也将被删除。我张贴了两个不同的图像。

图片1 图片2

我试图通过形态学操作(例如灰度膨胀和其上的分界线)去除背景。但这并没有太大帮助。之后,我尝试使用k = 3的k均值来使修改后的背景与玻璃的灰度和黑色值分开。在某些情况下,这并不成功,但总体/平均而言却并非如此。我还尝试使用整体模糊的滤镜进行Canny边缘检测,但这导致以开放轮廓,大量噪点等形式出现的结果较弱。

Canny具有自动阈值结果:

testimg = imread('http://i.imgur.com/huQVt.png');  
imshow(testimg)
imedges = edge(testimg,'canny');
imshow(imedges);

第二张图片也一样。

精明输出#1 坎尼输出#2

如您所见,玻璃内部和外部都有大量噪声,并且玻璃边缘的边缘加倍。即使边缘有缝隙。

因此,我需要您的建议以获取一种通用的方法来处理半透明材料的问题,而不仅仅是这两个图像。

1)在不损坏对象的情况下移除背景的其他想法?

2)其他使对象与背景分离的分割方法?

如果可能,则使用Matlab,IPT或统计工具箱提示。任何其他提示也欢迎!

谢谢您的提前答复。真诚的


背景总是一样的吗?
endolith

几乎,变暗或变亮。
mchlfchr 2012年

1
从每张图像中减去背景将是一个开始,使其更加均匀:imgur.com/9WhcB
endolith 2012年

1
你什么意思?你有没有玻璃的背景图片吗?
endolith

1
@DennisJaheruddin我知道边缘不是黑线。边缘定义为强度/频率的变化,这意味着其灰度值或多或少地快速变化。不过,正如您可能从上下文中看到的那样,Canny方法在这里不会成为选择的武器,因为背景,我(使用Canny)会产生很多噪音。而且我无法预测自动阈值/ sigma。因此,我需要一种消除背景的方法,而不是消除对象本身的方法。
mchlfchr 2012年

Answers:


3

为什么不只使用简单的2D FFT(高斯)高通滤波器呢?

我使用MATLAB快速完成了这项工作

使用高通FFT的碎片1:

http://i47.tinypic.com/rbjxnd.jpg

在#2上执行相同的操作。

使用高通FFT的碎片2:

http://i45.tinypic.com/209kms0.jpg

如您所见,背景和玻璃区域被抹去,仅边缘被描出。我没有花任何时间,但是您可以将HP过滤输出的阈值设置为具有更清晰的边缘,或者将HP截止值提高到更高。

这是否是您想要获得的更多结果?


1

这不是试图回答整个问题的尝试,但是我确实有一个“清洁图像”的想法。

您说您已经尝试过形态学运算,但这是对构思的一种变体,希望能进行升级。

本文:A. Vichik,R。Keshet和D. Malah:树半格及其应用上的自对偶形态学提出了一种增强经典形态学算子的方法,该方法可以为它们添加更多所需的属性。

该文章建议根据所需属性选择图像的分层表示,然后提出一种在该表示上定义算符(例如腐蚀,膨胀,张开,顶帽)的方法 。用他们自己的话说:

我们已经提出了产生新形态学算子一般框架(...)

我在此答案的第二部分语义方法)中解释了这些分层的树形结构,您可以在其中添加我在此处链接的文章中提到的“ 极值分水树” (再次)

这是对(引用作者)“传统灰度数学形态学”的一种升级,因为这些操作保留了表示形式所需的属性。例如,如果你的等级表示是自对偶,你的运营商将真正的自对偶(例如,使用比较 -self-双开闭由重建这不是真正的自对偶)。

链接的文章还提供了一些过滤噪音的结果-您可以将文章(以及文章中引用的论文)的结果与所需的结果(至少在视觉上)进行比较,并在开始之前查看它是否对您有用编码。

因此,虽然选择最简单的表示(max- / min-)树将完全产生经典运算,但是选择最适合您的需求的自对偶树可能会为您提供足够强大的方法。

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.