图像分类matlab结果,libsvm图像二分类后,分类的图像结果如何显示?

这篇博客展示了如何在已训练的分类器基础上,使用给定的代码读取新的图像,计算其纹理特征,并通过预设的模型进行预测。作者详细介绍了从加载样本列表到模型预测的整个过程,适合那些想要在实际场景中应用机器学习的人。
摘要由CSDN通过智能技术生成

这是训练后的分类器。

-------

%% 训练阶段

ReadList1  = textread('P.txt','%s','delimiter','\n');%载入云样本列表

sz1=size(ReadList1);

label1=ones(sz1(1),1); %云样本标签

ReadList2  = textread('N.txt','%s','delimiter','\n');%载入下垫面样本列表

sz2=size(ReadList2);

label2=zeros(sz2(1),1);%下垫面样本标签

label=[label1',label2']';%标签汇总

total_num=length(label);

data=zeros(total_num,10);

%读取云样本并计算纹理特征

for i=1:sz1(1)

name= char(ReadList1(i,1));

image=imread(strcat('D:\MATLAB\matlab\toolbox\libsvm-3.22\matlab\样本\20yun\',name));

img=imresize(image,[64,64]);

tex = Texture(img);

data(i,:) = tex;

end

%读取下垫面样本并计算纹理特征

for j=1:sz2(1)

name= char(ReadList2(j,1));

image=imread(strcat('D:\MATLAB\matlab\toolbox\libsvm-3.22\matlab\样本\20xia\',name));

img=imresize(image,[64,64]);

tex = Texture(img);

data(sz1(1)+j,:)= tex;

end

[train, test] = crossvalind('holdOut',label,0.7);

train_data = data(train,:);                                       %获取train标签对应的训练数据

train_data_labels = label(train,:);

train_data_labels = double(train_data_labels );

test_data = data(test,:);                                         %获取train标签对应的检测数据

test_data_labels = label(test,:);

test_data_labels =double(test_data_labels);

%% 建模预测

% 利用训练集合建立分类模型

model = svmtrain(train_data_labels,train_data, '-s 0 -t 2 -c 1 -g 0.07');

save model

[predict_label, accuracy, dec_values] =svmpredict(test_data_labels, test_data, model);

------------

重新输入一幅图像。

代码应该怎样实现??

2017-3-5 18:55 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

新输入的图

7e98a02577c1324c219fc91a02726de1.png

2017-3-5 18:56 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

想要得到结果的图

336d82c2f99443316a02eadbd7fc6338.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值