show me the code
这个无需多做解释,可以直接看代码,这一部分是训练部分。
#include
#include
#include
#include
#include
#include
#include
using namespace std;
using namespace cv;
using namespace cv::ml;
int main1()
{
//winsize(64,128),blocksize(16,16),blockstep(8,8),cellsize(8,8),bins9
//检测窗口(64,128),块尺寸(16,16),块步长(8,8),cell尺寸(8,8),直方图bin个数9
HOGDescriptor hog(Size(128, 128), Size(16, 16), Size(8, 8), Size(8, 8), 9);
//HOG检测器,用来计算HOG描述子的
int DescriptorDim;//HOG描述子的维数,由图片大小、检测窗口大小、块大小、细胞单元中直方图bin个数决定
Mat sampleFeatureMat;//所有训练样本的特征向量组成的矩阵,行数等于所有样本的个数,列数等于HOG描述子维数
Mat sampleLabelMat;//训练样本的类别向量,行数等于所有样本的个数,列数等于1;1表示有人,-1表示无人
Ptr svm = SVM::create();//SVM分类器
string ImgName;//图片名(绝对路径)
//正样本图片的文件名列表,为了不这么做,我们可以搜索图片路径,是最好的,不要一幅一幅图片存进去了
ifstream finPos("Image/img.txt");
if (!finPos)
{
cout
关注
打赏