资源简介
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个文件信息
相关资源
- 基于PCA和SVM的人脸识别.zip
- 《MATLAB 神经网络30个案例分析》所有
- SVM分类与回归的matlab代码
- 基于LABVIEW和MATLAB混合编程障碍物识别
- svm 支持向量机 回归 预测
- libsvm - 支持多类别分类的svm工具箱m
- 经典SVM算法的MATLAB程序
- matlab 基于HOG特征值模板匹配的汉字识
- 蚁群优化SVM系数
- SVM-KM Matlab源程序
- 模式识别课程作业 基于svm的人脸识别
- MATLAB的SVM安装包drtoolbox_libsvm-3.17
- SVM算法对MNIST数据集分类
- 遗传算法优化支持向量机GASVM
- 经典SVM算法matlab程序
- SVM分类器.zip
- 目标跟踪算法KCF融合HOG+CN特征,matl
- 几个常用到的matlab图像处理工具箱
- matlab流形学习算法工具包&matlab机器学
- 模式识别课程作业 matlab与libsvm环境
- libsvm工具包-Matlab
- 基于SVM+HOG的人脸检测matlab程序
- 支持向量机 SVM 和 核函数的 MATLAB 程序
- 经典SVM算法多类分类matlab程序
- 支持向量机SVM和核函数的matlab程序代
- SVM_light工具箱matlab
- MATLAB中使用SVM对大量图像进行分类识
- PSO_LSSVM程序代码及LSSVM工具箱
- 表情识别 源码Matlab LBP+LPQ SVM PCA
- matlab svm工具箱
评论
共有 条评论