图像分类svm算法思想,基于svm的图像分类
【图像分类】基于HOG特征结合SVM的图像分类识别,带matlab代码_ MATLAB仿真技术博客_博客
1内容介绍为了满足人工智能在目标识别方法上的应用需求,需要具备对海量数据进行智能分类、识别和解释的能力。进一步挖掘目标特征数据库的数据,将基于HOG SVM的目标识别算法应用到红外目标识别过程中。选取汽车、直升机、飞机、舰船、无人机等采集目标。结合HOG算子和SVM分类方法,实现目标检测和分类算法,从而实现智能目标分类的研究,为进一步分析目标特性和导引头智能算法设计提供支持。
2部分代码%%使用hog特征对图像进行多分类,svm训练,一对一
%% 1数据集,包括训练和测试(注意你的图像存储路径,我会在附录中给你一个样本下载图像链接)
IMD strain=image datastore( train _ images ,
包含子文件夹,真,
LabelSource , foldernames );
IMD test=image datastore( test _ image );
%%显示训练图片类型标签和数量计数。
train _ disp=countEachLabel(IMD strain);
disp(Train _ disp);
%% 2对训练集中的每一幅图像进行hog特征提取,测试图像相同。
%对图像进行预处理,主要是获取特征的特征尺寸,这与图像尺寸和Hog特征参数有关。
imageSize=[256,256];%按此尺寸缩放所有图像。
image1=readimage(imdsTrain,1);
scaleImage=imresize(image1,imageSize);
[features,visualization]=extracthogffeatures(scale image);
im show(scale image);坚持住;绘图(可视化)
%对所有训练图像执行特征提取。
numImages=length(imdsTrain。文件);
feature strain=zeros(numi images,size(features,2), single );% featuresTrain是单精度。
对于I=1:numi images
imageTrain=readimage(imdsTrain,I);
imageTrain=imresize(imageTrain,imageSize);
featuresTrain(i,)=extracthogfeafeatures(image train);
目标
%所有训练图像标签
trainLabels=imdsTrain。标签;
%开始svm多分类训练。注:fitcsvm用于二分类,fitcecoc用于多分类,1 VS 1方法。
classifer=fitcecoc(feature strain,train labels);
%%预测并显示预测效果图。
numTest=length(IMD test。文件);
对于i=1:numTest
testImage=readimage(IMD test,I);
scaleTestImage=im resize(testImage,imageSize);
feature test=extracthogfeafeatures(scaleTestImage);
[predictIndex,score]=predict(classifer,feature test);
图;im show(testImage);
Title([预测图像:,char(predict index)]);
目标
3运行结果
4参考文献[1]蒋经纬,程传瑞。基于HOG SVM的图像分类系统的设计与实现[J].漯河职业技术学院学报,2017,16(2):4。
[2]宋,周泽亚,等.基于HOG特征和SVM分类器的智能红外图像检测与分类方法[J].红外线,2022(043-004)。
有些理论引用自网络文献。如有侵权,联系博主删除。
原创作品来自matlab研究助手,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。