SVM中用hog训练

  只是加载数据的这块 自己做个记录

训练部分

    Mat  SrcImage=imread(files[i].c_str());
        //Mat SrcImagex = SrcImage.reshape(1, 1);
        ///*
        Mat dst, dst_gray;
        resize(SrcImage,dst,Size(64,64));// 改变大小
        cvtColor(dst,dst_gray,COLOR_BGR2GRAY);
        
        HOGDescriptor detector(Size(32, 32), Size(16, 16), Size(8, 8), Size(4, 4),9);
        vector<float> descriptors;//直方图向量
        //vector<Point>locations;
        detector.compute(dst_gray, descriptors,Size(8,8));
        cv::Mat tres;
        tres = Mat(descriptors, true);//vector2mat
        tres = tres.t();
        trainingImages.push_back(tres);
        //*/
        //trainingImages.push_back(SrcImagex);
        trainingLabels.push_back(1);

 

预测部分

 

Mat inMat = imread(files[i].c_str());
        //Mat p = inMat.reshape(1, 1);

        Mat dst, dst_gray;
        resize(inMat,dst,Size(64,64));// 改变大小
        cvtColor(dst,dst_gray,COLOR_BGR2GRAY);
        HOGDescriptor detector(Size(32, 32), Size(16, 16), Size(8, 8), Size(4, 4),9);
        vector<float> descriptors;//直方图向量
        //vector<Point>locations;
        detector.compute(dst_gray, descriptors,Size(8,8));
        cv::Mat tres;
        tres = Mat(descriptors, true);//vector2mat


        tres = tres.t();


        tres.convertTo(tres, CV_32FC1);
        int response = (int)svm.predict(tres);
        if (response == 1)
        {
            result++;
        }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值