• 大小: 2.25MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-19
  • 语言: Matlab
  • 标签: svm  hog  

资源简介

hog+svm图像二分类*(MATLAB版本),需要安装libsvm工具箱(环境是MATLAB2014a+libsvm3.23)。里面包含正负样本集图片。

资源截图

代码片段和文件信息

function hog_svm_2classify
%hog+svm实现图像二分类
clc; 
clear ;  
%% 训练阶段  
ReadList1  = textread(‘pos_list.txt‘‘%s‘‘delimiter‘‘\n‘);%载入正样本列表  
sz1=size(ReadList1);    
label1=ones(sz1(1)1); %正样本标签设为1

ReadList2  = textread(‘neg_list.txt‘‘%s‘‘delimiter‘‘\n‘);%载入负样本列表  
sz2=size(ReadList2);  
label2=zeros(sz2(1)1);%负样本标签设为0  

label=[label1‘label2‘]‘;%标签汇总  
total_num=length(label);  
data=zeros(total_num1764);  

%读取正样本并计算hog特征  
for i=1:sz1(1)  
   name= char(ReadList1(i1));  
   image=imread(strcat(‘F:\svm\程序\HOG+SVM\实现图像二分类\pos\‘name)); 
   im=imresize(image[6464]);  
   img=rgb2gray(im);  
   hog =hogcalculator(img);  
   data(i:)=hog;  
end  

%读取负样本并计算hog特征  
for j=1:sz2(1)  
   name= char(ReadList2(j1));  
   image=imread(strcat(‘F:\svm\程序\HOG+SVM\实现图像二分类\neg\‘name));  
   im=imresize(image[6464]);  
   img=rgb2gray(im);  
   hog =hogcalculator(img);  
   data(sz1(1)+j:)=hog;  
end  

[train test] = crossvalind(‘holdOut‘label);  
cp = classperf(label);  
svmStruct = svmtrain(data(train:)label(train));  
save svmStruct svmStruct  
classes = svmclassify(svmStructdata(test:));  
classperf(cpclassestest);  
fprintf(‘CorrectRate = %f\n‘cp.CorrectRate);  

%% 训练完成后保存 svmStruct即可对新输入的对象进行分类了无需再执行上面训练阶段代码  
load svmStruct  
test=imread(‘test2.jpg‘);  
     
im=imresize(test[6464]);  
figure;  
imshow(im);  
img=rgb2gray(im);  
hogt =hogcalculator(img);  
classes = svmclassify(svmStructhogt);%classes的值即为分类结果 
if classes==1
    fprintf(‘测试对象为狗狗\n‘);
elseif classes==0
    fprintf(‘测试对象为猫咪\n‘);
end

%% 子函数 hogcalculator.m
function F = hogcalculator(img cellpw cellph nblockw nblockhnthet overlap isglobalinterpolate issigned normmethod)
 % HOGCALCULATOR calculate R-HOG feature vector of an input image using the
 % procedure presented in Dalal and Triggs‘s paper in CVPR 2005.
 %

% Author:   timeHandle
 % Time:     March 24 2010
 %           May 12,2010 update.
 %
 %       this copy of code is written for my personal interest which is an 
 %       original and inornate realization of [Dalal CVPR2005]‘s algorithm
 %       without any optimization. I just want to check whether I understand
 %       the algorithm really or not and also do some practices for knowing
 %       matlab programming more well because I could be called as ‘novice‘. 
 %       OpenCV 2.0 has realized Dalal‘s HOG algorithm which runs faster
 %       than mine without any doubt ╮(╯▽╰)╭ . Ronan pointed a error in 
 %       the code,thanks for his correction. Note that at the end of this
 %       code there are some demonstration code,please remove in your work.


 % 
 % F = hogcalculator(img cellpw cellph nblockw nblockh
 %    nthet overlap isglobalinterpolate issigned normmethod)
 %
 % IMG:
 %       IMG is the input image.
 %
 % CELLPW CELLPH:
 %       CELLPW and CELLPH are cell‘s pixel width and height respectively.
 %
 % NBLOCKW NBLCOKH:
 %   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      18165  2019-01-09 21:38  实现图像二分类\hog_svm_2classify.m

     文件     204539  2018-08-13 17:29  实现图像二分类\neg\001.jpg

     文件      96337  2018-08-13 17:29  实现图像二分类\neg\002.jpg

     文件      17069  2018-08-13 17:36  实现图像二分类\neg\003.jpg

     文件      76468  2018-08-13 17:32  实现图像二分类\neg\004.jpg

     文件      41452  2018-08-13 17:37  实现图像二分类\neg\005.jpg

     文件      14968  2019-01-09 16:14  实现图像二分类\neg\006.jpg

     文件      13477  2019-01-09 16:14  实现图像二分类\neg\007.jpg

     文件       9609  2019-01-09 16:14  实现图像二分类\neg\008.jpg

     文件      19519  2019-01-09 16:14  实现图像二分类\neg\009.jpg

     文件      11870  2019-01-09 16:14  实现图像二分类\neg\010.jpg

     文件       6976  2019-01-09 16:14  实现图像二分类\neg\011.jpg

     文件      15828  2019-01-09 16:14  实现图像二分类\neg\012.jpg

     文件      16946  2019-01-09 16:14  实现图像二分类\neg\013.jpg

     文件      19743  2019-01-09 16:14  实现图像二分类\neg\014.jpg

     文件      17538  2019-01-09 16:14  实现图像二分类\neg\015.jpg

     文件      14978  2019-01-09 16:14  实现图像二分类\neg\016.jpg

     文件      10546  2019-01-09 16:14  实现图像二分类\neg\017.jpg

     文件      12772  2019-01-09 16:14  实现图像二分类\neg\018.jpg

     文件      12464  2019-01-09 16:14  实现图像二分类\neg\019.jpg

     文件      16300  2019-01-09 16:14  实现图像二分类\neg\020.jpg

     文件      15512  2019-01-09 21:31  实现图像二分类\neg\021.jpg

     文件      17547  2019-01-09 21:31  实现图像二分类\neg\022.jpg

     文件      14928  2019-01-09 21:33  实现图像二分类\neg\023.jpg

     文件      16010  2019-01-09 21:33  实现图像二分类\neg\024.jpg

     文件       8320  2019-01-09 21:33  实现图像二分类\neg\025.jpg

     文件        225  2019-01-09 21:34  实现图像二分类\neg_list.txt

     文件      16363  2019-01-09 16:08  实现图像二分类\pos\001.jpg

     文件     135559  2018-08-13 17:25  实现图像二分类\pos\002.jpg

     文件       9123  2019-01-09 16:08  实现图像二分类\pos\003.jpg

............此处省略34个文件信息

评论

共有 条评论