2016-12-05 362 views
1

我如何從後臺分割這個番茄圖像?我嘗試了數學工作的分水嶺方法;不幸的是,一些背景與西紅柿具有相同的強度,並且在背景斑點和周圍較暗的斑點之間產生邊緣,所以番茄以及一些背景被一起分割。圖像分割(MATLAB)

我試圖找到漸變,以顯示番茄的外緣,但並非所有的都是非常明確的,所以它似乎在某些部分不會連接到番茄周圍。我的想法是,如果我可以連接並填充整個邊界,我可以通過從原始圖像中提取填充的像素來有效地分割這個番茄。如果有人可以幫助,我會非常感激。

我包含了原始圖像和漸變圖像的圖片,用下面的命令完成。

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)') 

tomato image

gradient image

+0

您可能會發現[此線索](HTTP:// stackoverflow.com/a/19510366/1714410)基於與問題相關的邊緣線索進行圖像分割。 – Shai

回答

1

你可以嘗試Graphcut分割方法。 我只是嘗試了各種分割方法,發現Graphcut分割爲給定的圖像做工精細:

Interactive Graph Cut Segmentation Mask

鏈接:

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

+0

一個非常好的結果,但這需要**交互式監督**。該解決方案無法自動工作。 – Shai

+1

需要研究前景區域和背景區域的自動種子點檢測,以便將上述結果修改爲自動圖形分割。 –