实验内容:
对纹理图像集利用灰度共生矩阵的二次统计量特征和最近邻法进行分类,其中每类纹理图像有8幅,总共64幅,每幅图像的大小为200x200。实验中将各类纹理图像样本按数量随机等分成两部分作为训练样本集和测试样本集,按照这种方式运行10 次对结果求平均分类正确率。观察不同的灰度共生矩阵对分类正确率的影响。
clear
close all
addpath D:\纹理图像集
percent=[];
for n=1:10
train=[];test=[];
index=0;
for i=1:8
P=randperm(8);
for j=1:4
train{i,j}=strcat(int2str(i),int2str(P(j)),'.jpg');
end
for j=5:8
index=index+1;
test{index}=strcat(int2str(i),int2str(P(j)),'.jpg');
end
end
[M,N]=size(train);
X=[];
for i=1:M
for j=1:N
name=char(train(i,j));
img_train=imread(name);%读取训练集
cum=graycomatrix(img_train,'offset',[-1 -1],'NumLevels',4);
call = graycoprops(cum, 'all');%对比度、相关、能量、均匀度
out= entropy(img_train); %计算熵
X(i,j,:)=[call.Contrast,call.Correlation,call.Energy,call.Homogeneity,out];%训练集特征向量
end
end
truenum=0;
for i=1:index
x=[];
name=char(test(i));
img_test=imread(name);%读取测试集
cum=graycomatrix(img_test,'offset',[-1 -1],'NumLevels',4);
call = graycoprops(cum, 'all');%对比度、相关、能量、均匀度
out= entropy(img_train); %计算熵
x=[call.Contrast,call.Correlation,call.Energy,call.Homogeneity,out];%测试集特征向量
arr=[];
for j=1:M
odist=[];
for k=1:N
a=X(j,k,:);
a=a(:)';
odist(k)=norm(a-x);
end
arr(j)=min(odist);
end
[gjx,mindex]=min(arr);
fprintf('%s属于第%d类 ',name,mindex);
if mod(i,4)==0
fprintf('\n');
end
num=str2num(name(1));
if num==mindex
truenum=truenum+1;
end
end
percent(n)=truenum/32;
fprintf('分类正确率为:%f\n',percent(n));
end
fprintf('10次平均分类正确率为:%f\n',mean(percent));
结果
lab_10
18.jpg属于第8类 11.jpg属于第3类 16.jpg属于第1类 15.jpg属于第4类
22.jpg属于第1类 28.jpg属于第4类 23.jpg属于第2类 25.jpg属于第2类
34.jpg属于第1类 32.jpg属于第1类 38.jpg属于第3类 31.jpg属于第4类
45.jpg属于第4类 44.jpg属于第3类 41.jpg属于第1类 43.jpg属于第7类
55.jpg属于第2类 52.jpg属于第5类 54.jpg属于第7类 56.jpg属于第2类
65.jpg属于第6类 61.jpg属于第6类 63.jpg属于第6类 66.jpg属于第7类
77.jpg属于第7类 73.jpg属于第7类 74.jpg属于第2类 78.jpg属于第7类
82.jpg属于第8类 81.jpg属于第8类 84.jpg属于第8类 83.jpg属于第2类
分类正确率为:0.468750
18.jpg属于第8类 16.jpg属于第4类 13.jpg属于第1类 11.jpg属于第8类
28.jpg属于第1类 23.jpg属于第2类 22.jpg属于第4类 27.jpg属于第2类
32.jpg属于第4类 38.jpg属于第3类 35.jpg属于第4类 33.jpg属于第3类
45.jpg属于第1类 46.jpg属于第4类 42.jpg属于第3类 47.jpg属于第4类
52.jpg属于第8类 57.jpg属于第8类 53.jpg属于第5类 58.jpg属于第8类
64.jpg属于第6类 68.jpg属于第6类 63.jpg属于第6类 65.jpg属于第6类
74.jpg属于第8类 73.jpg属于第7类 72.jpg属于第5类 78.jpg属于第5类
81.jpg属于第8类 88.jpg属于第8类 85.jpg属于第3类 86.jpg属于第8类
分类正确率为:0.500000
15.jpg属于第4类 16.jpg属于第1类 13.jpg属于第1类 11.jpg属于第1类
24.jpg属于第7类 23.jpg属于第7类 22.jpg属于第3类 21.jpg属于第2类
36.jpg属于第3类 31.jpg属于第4类 37.jpg属于第1类 35.jpg属于第4类
45.jpg属于第2类 47.jpg属于第7类 42.jpg属于第4类 41.jpg属于第1类
57.jpg属于第5类 56.jpg属于第2类 55.jpg属于第2类 54.jpg属于第7类
65.jpg属于第7类 61.jpg属于第6类 66.jpg属于第7类 67.jpg属于第6类
75.jpg属于第7类 72.jpg属于第7类 78.jpg属于第5类 71.jpg属于第7类
83.jpg属于第7类 82.jpg属于第8类 84.jpg属于第8类 81.jpg属于第8类
分类正确率为:0.468750
17.jpg属于第1类 16.jpg属于第3类 15.jpg属于第4类 18.jpg属于第1类
28.jpg属于第4类 24.jpg属于第7类 22.jpg属于第3类 21.jpg属于第2类
37.jpg属于第1类 33.jpg属于第3类 34.jpg属于第3类 31.jpg属于第4类
42.jpg属于第3类 45.jpg属于第4类 41.jpg属于第3类 44.jpg属于第3类
56.jpg属于第2类 55.jpg属于第2类 58.jpg属于第8类 53.jpg属于第7类
66.jpg属于第7类 68.jpg属于第6类 67.jpg属于第6类 65.jpg属于第6类
74.jpg属于第2类 73.jpg属于第7类 71.jpg属于第7类 77.jpg属于第7类
84.jpg属于第8类 87.jpg属于第8类 83.jpg属于第2类 85.jpg属于第3类
分类正确率为:0.437500
11.jpg属于第1类 13.jpg属于第1类 17.jpg属于第4类 14.jpg属于第1类
25.jpg属于第2类 28.jpg属于第4类 24.jpg属于第7类 21.jpg属于第2类
32.jpg属于第4类 38.jpg属于第3类 31.jpg属于第4类 33.jpg属于第3类
45.jpg属于第4类 43.jpg属于第7类 42.jpg属于第3类 44.jpg属于第3类
55.jpg属于第2类 58.jpg属于第8类 57.jpg属于第5类 51.jpg属于第7类
68.jpg属于第6类 64.jpg属于第6类 67.jpg属于第6类 66.jpg属于第6类
71.jpg属于第7类 77.jpg属于第7类 72.jpg属于第7类 78.jpg属于第5类
85.jpg属于第3类 87.jpg属于第8类 84.jpg属于第8类 81.jpg属于第5类
分类正确率为:0.562500
18.jpg属于第8类 11.jpg属于第3类 17.jpg属于第4类 16.jpg属于第4类
24.jpg属于第7类 27.jpg属于第2类 28.jpg属于第4类 26.jpg属于第7类
38.jpg属于第3类 36.jpg属于第8类 33.jpg属于第8类 37.jpg属于第1类
44.jpg属于第3类 46.jpg属于第4类 47.jpg属于第7类 43.jpg属于第7类
51.jpg属于第7类 54.jpg属于第7类 58.jpg属于第8类 53.jpg属于第7类
62.jpg属于第6类 63.jpg属于第6类 68.jpg属于第6类 64.jpg属于第6类
78.jpg属于第7类 73.jpg属于第7类 71.jpg属于第6类 77.jpg属于第6类
87.jpg属于第8类 84.jpg属于第8类 81.jpg属于第5类 88.jpg属于第8类
分类正确率为:0.375000
13.jpg属于第1类 15.jpg属于第4类 12.jpg属于第1类 16.jpg属于第1类
27.jpg属于第2类 24.jpg属于第7类 22.jpg属于第3类 26.jpg属于第8类
36.jpg属于第8类 33.jpg属于第8类 35.jpg属于第4类 34.jpg属于第3类
41.jpg属于第1类 44.jpg属于第4类 47.jpg属于第4类 45.jpg属于第2类
57.jpg属于第5类 54.jpg属于第4类 58.jpg属于第8类 56.jpg属于第2类
65.jpg属于第7类 64.jpg属于第6类 66.jpg属于第7类 67.jpg属于第6类
74.jpg属于第8类 76.jpg属于第7类 72.jpg属于第5类 78.jpg属于第5类
83.jpg属于第8类 82.jpg属于第8类 85.jpg属于第8类 81.jpg属于第8类
分类正确率为:0.468750
17.jpg属于第4类 12.jpg属于第1类 18.jpg属于第1类 13.jpg属于第1类
25.jpg属于第5类 24.jpg属于第7类 28.jpg属于第4类 23.jpg属于第7类
37.jpg属于第3类 35.jpg属于第4类 36.jpg属于第3类 34.jpg属于第3类
48.jpg属于第4类 47.jpg属于第4类 45.jpg属于第4类 44.jpg属于第4类
56.jpg属于第2类 52.jpg属于第5类 51.jpg属于第7类 53.jpg属于第7类
68.jpg属于第6类 65.jpg属于第6类 62.jpg属于第6类 61.jpg属于第6类
76.jpg属于第7类 72.jpg属于第7类 78.jpg属于第7类 73.jpg属于第7类
85.jpg属于第3类 86.jpg属于第1类 84.jpg属于第1类 88.jpg属于第8类
分类正确率为:0.625000
12.jpg属于第1类 14.jpg属于第1类 17.jpg属于第1类 15.jpg属于第4类
26.jpg属于第7类 28.jpg属于第4类 24.jpg属于第7类 22.jpg属于第1类
37.jpg属于第3类 31.jpg属于第4类 32.jpg属于第3类 36.jpg属于第3类
47.jpg属于第4类 41.jpg属于第1类 44.jpg属于第3类 45.jpg属于第4类
56.jpg属于第2类 52.jpg属于第5类 55.jpg属于第2类 53.jpg属于第7类
63.jpg属于第6类 67.jpg属于第6类 65.jpg属于第6类 66.jpg属于第7类
76.jpg属于第7类 71.jpg属于第7类 72.jpg属于第7类 77.jpg属于第7类
88.jpg属于第5类 86.jpg属于第8类 83.jpg属于第7类 82.jpg属于第5类
分类正确率为:0.531250
16.jpg属于第4类 13.jpg属于第1类 17.jpg属于第4类 14.jpg属于第1类
27.jpg属于第2类 24.jpg属于第7类 22.jpg属于第4类 25.jpg属于第2类
37.jpg属于第1类 33.jpg属于第3类 34.jpg属于第3类 31.jpg属于第1类
47.jpg属于第7类 42.jpg属于第4类 48.jpg属于第1类 46.jpg属于第1类
57.jpg属于第8类 52.jpg属于第8类 55.jpg属于第2类 54.jpg属于第7类
68.jpg属于第6类 67.jpg属于第6类 64.jpg属于第6类 61.jpg属于第6类
75.jpg属于第7类 71.jpg属于第7类 72.jpg属于第7类 73.jpg属于第5类
87.jpg属于第8类 82.jpg属于第8类 86.jpg属于第8类 83.jpg属于第7类
分类正确率为:0.531250
10次平均分类正确率为:0.496875
参考:https://blog.csdn.net/uchihalyn/article/details/104593878