美文网首页
稠密光流跟踪

稠密光流跟踪

作者: zjh3029 | 来源:发表于2017-10-29 20:19 被阅读0次
    #include <opencv2\opencv.hpp>
    #include <iostream>
    using namespace std;
    using namespace cv;
    
    int main()
    {
      VideoCapture cap(0);
      if (!cap.isOpened())
          return -1;
      Mat matcher = imread("1.jpg");
      double minVal = -1;
      double maxVal;
      Point minLoc, maxLoc, matchLoc;
    
      Mat prevgray, gray, flow, cflow, frame;
    
      for (Mat img;waitKey(1)!=27;)
      {
          cap >> img;
    
          cvtColor(img, gray, CV_BGR2GRAY);
          if (prevgray.data)
          {
              calcOpticalFlowFarneback(prevgray, gray, flow, 0.5, 3, 5, 3, 5, 1.2, 0);
              for (int y = 0; y < img.rows; y += 10)
              {
                  for (int x = 0; x < img.cols; x += 10)
                  {
                      Point2f fxy = flow.at<Point2f>(y, x);
                      line(img, Point(x, y), Point(cvRound(x + fxy.x), cvRound(y + fxy.y)), Scalar(0,255,0));
                      circle(img, Point(x, y), 2, CV_RGB(255, 0, 0), -1);
                      imshow("FLOW", img);
                  }
              }
          }
          std::swap(prevgray, gray);
      }
      return 0;
    }
    

    相关文章

      网友评论

          本文标题:稠密光流跟踪

          本文链接:https://www.haomeiwen.com/subject/tfaypxtx.html