zoukankan      html  css  js  c++  java
  • OpenCV+Hog预测

    #include <iostream>
    #include <opencv2/opencv.hpp>  //头文件
    #include <stdio.h>  
    #include <time.h>  
    #include <opencv2/core/core.hpp>  
    #include <opencv2/highgui/highgui.hpp>  
    #include <opencv2/ml/ml.hpp>  
    #include <io.h> //查找文件相关函数
    
    using namespace cv::ml;
    using namespace cv;  //包含cv命名空间
    using namespace std;
    Mat detector_HOG(Mat image)
    {
        HOGDescriptor *hog = new HOGDescriptor(cvSize(64, 64), cvSize(16, 16), cvSize(8, 8), cvSize(8, 8), 9);
    
        Mat featureMat;
        vector<float> descriptors;
        hog->compute(image, descriptors, Size(1, 1));
        featureMat = Mat::zeros(1, descriptors.size(), CV_32FC1);
    
        for (int j = 0; j < descriptors.size(); j++)
        {
            featureMat.at<float>(0, j) = descriptors[j];
        }
        return featureMat;
    }
    
    void svm_pridect_HOG(Ptr<SVM> &model, Mat test)
    {
        Mat tmp;
        float validity = 0;
        float rst;
        tmp = detector_HOG(test);
    
        tmp.convertTo(tmp, CV_32F);
    
        rst = model->predict(tmp);
    
        cout << rst << endl;
    
    }
    
    int main() 
    {
    
    
        // 创建分类器并设置参数
        
        
        Ptr<ml::SVM>svm = StatModel::load<SVM>("svm_hog_726_2.xml");
        Mat src= imread("0.jpg",0);
        Mat image;
        resize(src, image, Size(64, 64));;
        svm_pridect_HOG(svm, image);
    }
  • 相关阅读:
    SpringBoot详细研究-01基础
    JDK1.8快速入门
    海外酒店业务学习
    NOSQL快速入门
    移动前端技术快速入门
    Spring快速入门
    Java基础组件快速入门
    JavaWeb快速入门
    TLS 与 python thread local
    python 类修饰器
  • 原文地址:https://www.cnblogs.com/hsy1941/p/12432724.html
Copyright © 2011-2022 走看看