clf;clear;clc; % 剔除原始数据
tic
%显示训练图像工作路径;
cd('F:\aaaaa\image.orig')
files=dir('*.jpg');
m=size(files,1);%m为所有图像的总数;
%获取图像的PHOG特征向量;
bin = 8;%直方图的方向个数;
angle = 360;%方向角度;
L=3;%图像分三层;
roi = [1;225;1;250];%提取图像大小;
C=[];
for k=1:m
p = anna_phog(files(k).name,bin,angle,L,roi);
C(k,:)=p;%C为该图像的PHOG特征矩阵;
end
Q=[];
%获取颜色直方图
for k=1:m
I=imread(files(k).name); % 文件名
siz=size(I);
I1=reshape(I,siz(1)*siz(2),siz(3)); % 每个颜色通道变为一列
I1=double(I1);
[N,X]=hist(I1, [0:1:255]); % 如果需要小矩形宽一点,划分区域少点,可以把步长改大,比如0:5:255
% (这个很好,就是所谓的把步长改大,特征的维度减少,那么特征对结果的影响就会减小,如果颜色直方图的判别结果比较差,就把颜色直方图的 步长增宽)
% bar(X,N(:,[3 2 1]));
R=N(:);
Q(k,:)=R;%颜色直方图特征矩阵
end
D=[];
D=[C';Q'];%特征矩阵
[centers, assignments] = vl_kmeans(D,400, 'verbose', 'distance', 'l1', 'algorithm', 'elkan') ;%聚类
B = pdist2(D',centers');
%G1=B(1:2:end,:); %奇数行
%G2=B(2:2:end,:);%偶数行
%[train_scale,test_scale,ps] = scaleForSVM(G1,G2,0,1);
%设置图像标签
label=[];
for i=1:10
A=i*ones(100,1);
label=[label;A];
end
indices = crossvalind('Kfold',100,5); %交叉验证,产生10个fold,即indices里有等比例的1-10
aaa=[];bbb=[];
test=(indices==1);
train=~test;
aaa=repmat(train,10,1);
bbb=repmat(test,10,1);
data_train=B(aaa,:);%训练集数据
label_train=label(aaa,:);%训练集标签
data_test=B(bbb,:);%测试集数据
label_test=label(bbb,:); %测试集标签
[train_scale,test_scale,ps] = scaleForSVM(data_train,data_test,0,1);%归一化
model = svmtrain(label_train,train_scale,'-t 2 -c 1024 -p 1e-30 -g 0.01');
%model = svmtrain(label_train,train_scale,'-t 2 -c 1024 -p 1e-30 -g 0.0078');%对图像进行训练;
[predict_label1, accuracy1, dec_values] = svmpredict(label_test,test_scale, model); %进行测试
[C1,order1]=confusionmat(label_test,predict_label1);%分类混淆矩阵
T1=toc
maodong2056
- 粉丝: 0
- 资源: 3
最新资源
- (全新整理)ESG榜单冲击数据(2000-2022年)
- 碳排放权交易明细数据(2024年5月更新).dta
- (2024年最新更新)!!!碳排放权交易明细数据
- 2017年A股上市公司人均薪酬指标相关资料
- JavaScript 要点总结
- 2004年至2024年间东风股份股东户数变化
- 人工智能-检索增强生成-利用开源大模型,通过RAG(检索增强生成)技术,实现基于企业内部知识图谱的,可内网运行的大模型智能客服
- 大学生职业规划.pptx
- 2023-04-06-项目笔记 - 第三百二十二阶段 - 4.4.2.320全局变量的作用域-320 -2025.11.19
- 《Linux操作系统实用教程(第2版)》- 配套软件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈