2011-07-14 62 views

回答

13

以下是使用分水嶺分割圖像的一種方法。你還可以做更多的事情(例如,如果還沒有完成胞質分裂,將兩個細胞核融合在一起),但下面的步驟應該給你一個第一個想法。

(1)確定細胞背景的閾值,細胞核閾

%# read image 
img = imread('http://i.stack.imgur.com/nFDkX.png'); 
%# normalize to 0...1 
imgN = double(img-min(img(:)))/(max(img(:)-min(img(:)))); 
th1=graythresh(imgN); 
th2 = graythresh(imgN(imgN>th1)); 

cellMsk = imgN>th1; 
nucMsk = imgN>th2; 

figure,imshow(cellMsk+nucMsk,[]) 

enter image description here

(2)平滑原始圖像(以避免oversegmentation),並處細胞核作爲最小值

[xx,yy]=ndgrid(-5:5,-5:5); 
gf = exp((-xx.^2-yy.^2)/20); 
filtImg = conv2(imgN,gf,'same'); 

figure,imshow(filtImg,[]) 

filtImgM = imimposemin(-filtImg,nucMsk); 

enter image description here

(3)流域,掩模細胞,並顯示

ws = watershed(filtImgM); 
ws(~cellMsk) = 0; 

lblImg = bwlabel(ws); 

figure,imshow(label2rgb(lblImg,'jet','k','shuffle')); 

enter image description here

(4)現在可以使用REGIONPROPS標記圖像上,以提取所需的統計信息。

+0

非常感謝你!!!! – Glove

0

查看圖像處理工具箱watershedthis post對細胞分割上的「史蒂夫對圖像處理的博客的圖像。