# can i use k-means algorithm for segmenting the cell nucleus and cytoplasm?

7 ビュー (過去 30 日間)
sou 2015 年 3 月 7 日

i have used k-means clustering algorithm for segmenting cells but it doesn't. i didn't know about k-means algorithm in detail. i don't know whether this algorithm suits or not. suggest me a way. i have attached my image that i have been working. the inner dark region is nucleus and outer region is cytoplasm.
<<
>>

サインインしてコメントする。

### 採用された回答

Image Analyst 2015 年 3 月 7 日
##### 7 件のコメント表示非表示 6 件の古いコメント
Image Analyst 2015 年 4 月 21 日
sou, then you need to improve the color segmentation algorithm.
Braiki, I'm not sure what you said. Something about errors, but you didn't provide the errors or the code.

サインインしてコメントする。

### その他の回答 (1 件)

Alex Taylor 2015 年 4 月 23 日

In this case, I found that I was able to get a reasonably good segmentation of the nucleus by working directly in the RGB colorspace instead of LAB as is done in the example:
%%Read and display input image
A = im2double(A);
imshow(A)
numRows = size(A,1);
numCols = size(A,2);
numPoints = numRows*numCols;
X = reshape(A,numRows*numCols,[]);
Normalize features to be zero mean, unit variance
X = bsxfun(@minus, X, mean(X));
X = bsxfun(@rdivide,X,std(X));
%%Classify color features using kmeans
% Repeat k-means clustering five times to avoid local minima when searching
% for means that minimize objective function. The only prior information
% assumed in this example is how many distinct regions of texture are
% present in the image being segmented. There are two distinct regions in
% this case.
L = kmeans(X,3,'Replicates',5);
%%Visualize segmentation using |label2rgb|
L = reshape(L,[numRows numCols]);
figure
imshow(label2rgb(L))
%%Visualize segmented image using |imshowpair|
% Use imshowpair to examine the foreground and background images that
% result from the mask BW that is associated with the label matrix L.
Aseg1 = zeros(size(A),'like',A);
Aseg2 = zeros(size(A),'like',A);
BW = L == 2;
BW = repmat(BW,[1 1 3]);
Aseg1(BW) = A(BW);
Aseg2(~BW) = A(~BW);
figure
imshowpair(Aseg1,Aseg2,'montage');

サインインしてコメントする。

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by