我正在进行肝肿瘤分割和分类的项目。我分别使用 Region Growing 和 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
这是一个正确的实现吗?另外,我在最后一行得到一个错误。
我的输出是:
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
t =
第 1 至 6 列
0.0510 0.0503 0.9513 0.9519 0.8988 0.8988
第 7 至 12 列
0.9930 0.9935 0.0345 0.0339 0.8223 0.8255
第 13 至 18 列
0.9616 0.9617 0.9957 0.9957 0.0230 0.0246
第 19 至 24 列
0.7450 0.7270 0.9815 0.9813 0.9971 0.9970
??? Error using ==> minus
Matrix dimensions must agree.
输入图像是: