我正在进行肝肿瘤分割和分类的项目。我分别使用“区域生长”和“ FCM”进行肝脏和肿瘤分割。然后,我将灰度共生矩阵用于纹理特征提取。我必须使用支持向量机进行分类。但是我不知道如何规范化特征向量,以便将其作为SVM的输入。谁能告诉我如何在Matlab中编程吗?

对于GLCM程序,我给出了肿瘤分割图像作为输入。我说得对吗我认为,如果是这样,我的输出也将是正确的。

我尝试过的glcm编码是

I = imread('fzliver3.jpg');
GLCM = graycomatrix(I,'Offset',[2 0;0 2]);
stats = graycoprops(GLCM,'all')
t1= struct2array(stats)


I2 = imread('fzliver4.jpg');
GLCM2 = graycomatrix(I2,'Offset',[2 0;0 2]);
stats2 = graycoprops(GLCM2,'all')
t2= struct2array(stats2)

I3 = imread('fzliver5.jpg');
GLCM3 = graycomatrix(I3,'Offset',[2 0;0 2]);
stats3 = graycoprops(GLCM3,'all')
t3= struct2array(stats3)

t=[t1,t2,t3]
xmin = min(t); xmax = max(t);
scale = xmax-xmin;
tf=(x-xmin)/scale


这是正确的实现吗?另外,我在最后一行出现错误。

我的输出是:第1至6列

stats = 

   Contrast: [0.0510 0.0503]
Correlation: [0.9513 0.9519]
     Energy: [0.8988 0.8988]
Homogeneity: [0.9930 0.9935]
t1 =

Columns 1 through 6

0.0510    0.0503    0.9513    0.9519    0.8988    0.8988
Columns 7 through 8

0.9930    0.9935
stats2 = 

   Contrast: [0.0345 0.0339]
Correlation: [0.8223 0.8255]
     Energy: [0.9616 0.9617]
Homogeneity: [0.9957 0.9957]
t2 =

Columns 1 through 6

0.0345    0.0339    0.8223    0.8255    0.9616    0.9617
Columns 7 through 8

0.9957    0.9957
stats3 = 

   Contrast: [0.0230 0.0246]
Correlation: [0.7450 0.7270]
     Energy: [0.9815 0.9813]
Homogeneity: [0.9971 0.9970]
t3 =

Columns 1 through 6

0.0230    0.0246    0.7450    0.7270    0.9815    0.9813
Columns 7 through 8

0.9971    0.9970


第7至12列

0.0510    0.0503    0.9513    0.9519    0.8988    0.8988
第13至18列

0.9930    0.9935    0.0345    0.0339    0.8223    0.8255


第19至24列

0.9616    0.9617    0.9957    0.9957    0.0230    0.0246


输入图像是:



评论

您用什么来实现模糊C均值算法?

@穆罕默德,先生,我不明白。如果您在询问有关软件的信息,我使用过Matlab。

是的,我意识到这一点,但是我的意思是您是使用内置库来实现Fuzzy-C-Means细分,还是您编写了自己的库或导入了第三方库?我问是因为我也对实现分段算法感兴趣,而且我的平台也是MATLAB。

@Mohammad不,先生,我没有安装任何特定于FCM的库。我使用了FCM阈值处理。请参考Matlab中央文件交换。希望对您有用。

好的方法,但是我有ENVI 4.0软件。我希望处理Landsat 7卫星图像以评估树的体积

#1 楼

您在使用Matlab吗?如果是这样,那么您要么需要一个包含SVM分类器的Bioinformatics Toolbox,要么可以下载libsvm,其中包含用于训练和测试的Matlab包装。

那么您将需要一些标记数据。您是否将肝脏肿瘤分类为健康肝脏?然后,您将需要肝脏肿瘤和健康肝脏的图像,每个图像都被标记为这样。

然后您需要计算一些特征。这些是什么,取决于问题的性质。纹理功能似乎是一个不错的开始。考虑使用共现矩阵或局部二进制模式。

编辑:
从R2014a版本开始,统计和机器学习工具箱中有一个fitcsvm函数,用于训练二进制SVM分类器。还有fitcecoc用于训练多类SVM。

评论


$ \ begingroup $
谢谢。我已经下载了libsvm。我还使用灰度共生矩阵计算了纹理特征。但是我不知道如何为svm程序提供输入。请参考stackoverflow.com/questions/9751265/…请指导我。
$ \ endgroup $
– Gomathi
2012年3月22日14:17

#2 楼

本文完全基于标记的GLCM类处理同一类型的监督分类:用于脑肿瘤分类的GLCM纹理特征