opencv GPU自带行人识别

来源:互联网 发布:hadoop分布式配置 mac 编辑:程序博客网 时间:2024/05/17 03:20

gpu 利用opencv自带的行人识别 ,效果还不错 ,没有那么卡

#include <iostream>#include "opencv2/opencv.hpp"#include "opencv2/gpu/gpu.hpp"#include <opencv2/objdetect/objdetect.hpp>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <cv.h>    using namespace cv;int main (int argc, char* argv[]){    // CvCapture *Frame=cvCaptureFromCAM(-1);     VideoCapture cap("People1.avi");     if(!cap.isOpened())      return -1;       cv::Mat Image_frame;       VideoWriter writer("VideoTest.avi", CV_FOURCC('M', 'J', 'P', 'G'), 25.0, cvSize(640, 480));     // Image_frame=cvQueryFrame(Frame);while (1)  {    cap>>Image_frame;     // imshow("Cam",Image_frame);     // cv::Mat Image = cv::imread("load.jpg" );      cv::gpu::GpuMat Image_Src,Image_Dst;      Image_Src.upload (Image_frame);     cv::gpu::cvtColor(Image_Src,Image_Dst,CV_BGR2GRAY);     vector<Rect> found;     cv::gpu::HOGDescriptor GUP_Hog;     GUP_Hog.setSVMDetector(cv::gpu::HOGDescriptor::getDefaultPeopleDetector());     GUP_Hog.detectMultiScale(Image_Dst, found);       //转为灰度值      for (size_t i = 0; i < found.size(); i++)      {          cv::rectangle(Image_frame , found[i], cv::Scalar(0,0,255), 2);      }      //  if( Image_frame.empty() )    //    break;      cv::imshow("Image",Image_frame);     // writer<< Image_frame ;      cv::waitKey(5); }    return 0;}
0 0