0

嗨,我是 matlab 的新手……我想检测图像中的病态细胞。

首先我用这段代码分割图像:现在我想提取它的特征......我该怎么办?请指导我?谢谢

he = imread('hestain.png');
imshow(he), title('H&E image');
text(size(he,2),size(he,1)+15,...
     'Image courtesy of Alan Partin, Johns Hopkins University', ...
     'FontSize',7,'HorizontalAlignment','right');

cform = makecform('srgb2lab');
lab_he = applycform(he,cform);
ab = double(lab_he(:,:,2:3));
nrows = size(ab,1);
ncols = size(ab,2);
ab = reshape(ab,nrows*ncols,2);
nColors = 3;
% repeat the clustering 3 times to avoid local minima
[cluster_idx cluster_center] = kmeans(ab,nColors,'distance','sqEuclidean', ...
                                      'Replicates',3);
pixel_labels = reshape(cluster_idx,nrows,ncols);
imshow(pixel_labels,[]), title('image labeled by cluster index');

segmented_images = cell(1,3);
rgb_label = repmat(pixel_labels,[1 1 3]);
for k = 1:nColors
    color = he;
    color(rgb_label ~= k) = 0;
    segmented_images{k} = color;
end
imshow(segmented_images{1}), title('objects in cluster 1');

imshow(segmented_images{2}), title('objects in cluster 2');

imshow(segmented_images{3}), title('objects in cluster 3');

这是图像: 在此处输入图像描述

现在我想提取它的特征......我该怎么办?请指导我?谢谢

4

2 回答 2

3

matlab中的regionprops函数会提取检测到的blob的不同属性,这里有一个链接regionprops

于 2012-08-10T15:42:24.337 回答
0

通过查找其特征值和特征向量来查找每个集群(即细胞)的属性。这些将表明您的细胞的“管状”。您也可以计算每个单元格的矩。

我不知道你的“病态”细胞是什么样子,所以如果没有人知道“病态”细胞是什么样子,就不可能想出一种区分健康细胞和病态细胞的方法。再张贴一张生病细胞长什么样子的图片。

您可以了解每个单元的管度和矩的属性,并存储它们。然后使用支持向量机对健康与病态细胞进行分类。使用 SVM-Light。http://svmlight.joachims.org/

安库尔

于 2012-08-24T06:15:30.943 回答