【问题标题】:Image Segmentation (MATLAB)图像分割 (MATLAB)
【发布时间】:2017-04-20 11:15:08
【问题描述】:

如何从背景中分割出这张番茄的图像?我尝试了mathworks做的分水岭法;不幸的是,一些背景与番茄的强度相同,并且在该背景点和周围较暗的点之间创建了一个边缘,因此番茄和一些背景被分割在一起。

我试图找到渐变以显示番茄的外边缘,但并非所有渐变都非常清晰,因此在某些部分似乎没有连接到番茄周围。我的想法是,如果我可以连接它并填充整个边界,我可以通过从原始图像中提取填充的像素来有效地分割这个番茄。如果有人可以提供帮助,我将不胜感激。

我包含了原始图像和渐变图像的图片,使用以下命令完成。

I = imread('Insert Image');
figure, imshow(I);

hy = fspecial('sobel');

hx = hy';
Iy = imfilter(double(I), hy, 'replicate');
Ix = imfilter(double(I), hx, 'replicate');
gradmag = sqrt(Ix.^2 + Iy.^2);
figure, imshow(gradmag,[]), title('Gradient magnitude (gradmag)')

【问题讨论】:

  • 您可能会在基于与您的问题相关的边缘线索的图像分割中找到this thread

标签: image matlab image-processing image-segmentation


【解决方案1】:

您可以尝试 Graphcut 分割方法。 我刚刚尝试了各种分割方法,发现 Graphcut 分割对于给定的图像效果很好:

链接:

https://www.youtube.com/watch?v=efUh0zcpsXc

【讨论】:

  • 一个非常好的结果,但这需要交互式监督。此解决方案无法自动运行。
  • 前景区域和背景区域的自动种子点检测需要研究,以便我们可以将上述结果修改为自动切图分割。
猜你喜欢
  • 2023-03-06
  • 2017-11-16
  • 1970-01-01
  • 1970-01-01
  • 2012-12-09
  • 2016-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多