最近在做图像识别方面的东西,先写个总结。主要分为四个过程:
1、获取样本
2、提取HOG特征
3、训练SVM分类器
4、图像识别
下面来详细说说各个过程:
1、获取样本
刚开始自己以为样本需要什么特定的格式,后来发现是我考虑的太多了,其实什么格式都行,只要包含我们所需要的信息,方便我们读取。先建一个txt文档,里面包含所有样本图片的图片名、起点坐标、大小、类别。格式如:1.jpg 0 0 30 30 1 ;name x y width hight category。有多少个样本就有多少行这样的数据,然后把所有图片和这个txt文档放在一个目录下。
建一个样本Sample的结构体用来保存从txt文档中读出的样本图片的各种信息,最好是写个函数能够将文档中读出的string类型的一行数据分开保存,保存结果如下:
Sample s;//结构体
s.name=1.jpg;