hog matlab代码1——实现hog+svm图像二分类
来源:互联网 发布:网络短信免费发送 编辑:程序博客网 时间:2024/05/29 03:53
最近因为需要实现hog+svm的分类代码,网上找了一些例子,觉得这篇博客还不错:http://blog.csdn.net/libin88211/article/details/19968205,下面结合该博客写一下步骤,供新手们交流学习~~(如果侵犯了版权问题的话,可以联系删除,尊重作者原创~~)
hog干嘛的?hog就是提取图片特征的。hog源程序参考http://blog.csdn.net/huangli19870217/article/details/7695458
准备工作:
1、创建正阳本文件夹“pos”将正阳本放入
pos文件夹用来存放正阳样本的,下图是我自己准备的(就是一些狗狗的图像)
2、创建负样本文件夹“neg”将负样本放入
neg文件夹用来存放负样本,下图准备的是一些猫的(当然,负样本嘛,随便的,可以是其他的东东,不一定非要是猫,只要正阳样本是狗就行~~)
这里正负样本都是20个。
3、制作正阳本文件列表pos_list.txt
制作参考下图:
4、制作负样本文件列表neg_list.txt
制作参考下图:
5、执行下面程序进行训练,测试
- clc;
- clear ;
- %% 训练阶段
- ReadList1 = textread('pos_list.txt','%s','delimiter','\n');%载入正样本列表
- sz1=size(ReadList1);
- label1=ones(sz1(1),1); %正阳本标签
- ReadList2 = textread('neg_list.txt','%s','delimiter','\n');%载入负样本列表
- sz2=size(ReadList2);
- label2=zeros(sz2(1),1);%负样本标签
- label=[label1',label2']';%标签汇总
- total_num=length(label);
- data=zeros(total_num,1764);
- %读取正样本并计算hog特征
- for i=1:sz1(1)
- name= char(ReadList1(i,1));
- image=imread(strcat('D:\daily\冰\机器学习\pos\',name));
- im=imresize(image,[64,64]);
- img=rgb2gray(im);
- hog =hogcalculator(img);
- data(i,:)=hog;
- end
- %读取负样本并计算hog特征
- for j=1:sz2(1)
- name= char(ReadList2(j,1));
- image=imread(strcat('D:\daily\冰\机器学习\neg\',name));
- im=imresize(image,[64,64]);
- 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(svmStruct,data(test,:));
- classperf(cp,classes,test);
- cp.CorrectRate
- %% 训练完成后保存 svmStruct即可对新输入的对象进行分类了无需再执行上面训练阶段代码
- load svmStruct
- test=imread('test.jpg');
- im=imresize(test,[64,64]);
- figure;
- imshow(im);
- img=rgb2gray(im);
- hogt =hogcalculator(img);
- classes = svmclassify(svmStruct,hogt);%classes的值即为分类结果
源代码以及图片文件已经上传CSDN,这里给出链接~~
http://download.csdn.net/detail/jcy1009015337/9716482
阅读全文
1 0
- hog matlab代码1——实现hog+svm图像二分类
- matlab实现hog+svm图像二分类
- matlab版hog+svm图像二分类
- matlab版hog+svm图像二分类
- Matlab实现HOG+SVM图像分类
- SVM+HOG对图像进行分类(MATLAB实现)
- HOG+SVM进行图像分类
- 8.2 hog+svm分类代码
- SVM+HOG对图像进行多分类(OpenCV实现)
- HOG Matlab代码 3——关于 HOG 代码 的一些解释 1&2
- python实现HOG+SVM
- HOG特征的SVM分类器训练代码
- HOG特征的SVM分类器训练代码
- HOG Matlab代码
- HOG matlab 代码
- HOG Matlab代码 2
- 利用opencv的hog+svm实现细胞识别分类器
- 基于opencv的hog+svm简单分类实现
- Hibernate 缓存策略
- Java接口与抽象类的区别
- python小程序-0004
- 电信联通共享检测技术及防封杀
- 最优化问题-梯度下降(Gradient Descent)算法&样例代码以及相关扩展
- hog matlab代码1——实现hog+svm图像二分类
- 学习springmvc的第十天(保存)
- AngularJS-1-helloworld
- ubuntu 16.04 搭建 pptp vpn
- 六.scrapy crawlspider
- Makefile:160: recipe for target 'all' failed (Ubuntu 16.06 + Opencv3.2)解决办法
- VC++常用命名法和宏定义
- 设计模式->行为型模式->状态模式
- iOS之一则形象说明,完美诠释内存管理机制