2015-02-11 71 views
0

我試圖段的圖像活動輪廓初始化

http://i58.tinypic.com/wu33pl.jpg

我想利用這兩個輪廓與藍色

Wanted contours image

任何人只要有一個想法,我可以使用哪種技術這種分割?

問題是我想使用主動輪廓進行分割,我希望在這種圖像中自動初始化活動輪廓。爲此,我必須找到一種方法將輪廓放入繪製初始輪廓。任何想法如何可以做到這一點,任何你可以看到,我可以採取的紋理(紋理等)? 感謝

回答

1

做這將是門檻的形象,用regionprops找到對象的一種簡單的方法,只保留那些感興趣的(在這裏,面積標準),並找到bwboundaries輪廓。

在實踐中,這給:

% Define threshold 
th_BW = 100; 

% Read image 
img = imread('myimage.jpg'); 

% Get objects and filter them 
R = regionprops(img>th_BW, 'Area', 'PixelIdxList'); 
I = find([R.Area]>1000 & [R.Area]<10000); 

% Get contours 
C = cell(numel(I),1); 
for i = 1:numel(I) 
    BW = img*0; 
    BW(R(I(i)).PixelIdxList) = 1; 
    tmp = bwboundaries(BW); 
    C{i} = tmp{1}; 
end 

% Display 
imshow(img) 
hold on 
plot(C{1}(:,2), C{1}(:,1), 'Linewidth', 2); 
plot(C{2}(:,2), C{2}(:,1), 'Linewidth', 2); 

這裏是結果:

Result image

0

如果你有最近的MATLAB的版本,嘗試Image Segmenter應用。

+0

謝謝瘋狂的老鼠和迪馬。問題是,我想使用主動輪廓,我想在這種圖像自動初始化。任何想法如何採取初始輪廓內這個圖像,你可以看到任何charactiristic我可以拿(紋理等)? – 2015-02-14 09:38:35