国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

Opencv光流運動物體追蹤詳解

2020-01-26 13:49:19
字體:
來源:轉載
供稿:網(wǎng)友

光流的概念是由一個叫Gibson的哥們在1950年提出來的。它描述是空間運動物體在觀察成像平面上的像素運動的瞬時速度,利用圖像序列中像素在時間域上的變化以及相鄰幀之間的相關性來找到上一幀跟當前幀之間存在的對應關系,從而計算出相鄰幀之間物體的運動信息的一種方法。那么所說的光流到底是什么?

簡單來說,上圖表現(xiàn)的就是光流,光流描述的是圖像上每個像素點的灰度的位置(速度)變化情況,光流的研究是利用圖像序列中的像素強度數(shù)據(jù)的時域變化和相關性來確定各自像素位置的“運動”。研究光流場的目的就是為了從圖片序列中近似得到不能直接得到的運動場。

光流法的前提假設:

(1)相鄰幀之間的亮度恒定;
(2)相鄰視頻幀的取幀時間連續(xù),或者,相鄰幀之間物體的運動比較“微小”;
(3)保持空間一致性;即,同一子圖像的像素點具有相同的運動;

Opencv中金字塔LK光流實現(xiàn):

#include "highgui/highgui.hpp"  #include "opencv2/nonfree/nonfree.hpp" #include "opencv2/video/tracking.hpp" #include <iostream>  using namespace cv; using namespace std;  Mat image1,image2; vector<Point2f> point1,point2,pointCopy; vector<uchar> status; vector<float> err;  int main(int argc,char *argv[])  {   VideoCapture video(argv[1]);  double fps=video.get(CV_CAP_PROP_FPS); //獲取視頻幀率  double pauseTime=1000/fps; //兩幅畫面中間間隔   video>>image1;  Mat image1Gray,image2Gray;  cvtColor(image1,image1Gray,CV_RGB2GRAY);  goodFeaturesToTrack(image1Gray,point1,100,0.01,10,Mat());  pointCopy=point1;  for(int i=0;i<point1.size();i++) //繪制特征點位  {     circle(image1,point1[i],1,Scalar(0,0,255),2);    }   namedWindow("角點特征光流",0);  imshow("角點特征光流",image1);  while(true)  {   video>>image2;   if(!image2.data||waitKey(pauseTime)==27) //圖像為空或Esc鍵按下退出播放   {    break;   }   cvtColor(image2,image2Gray,CV_RGB2GRAY);   calcOpticalFlowPyrLK(image1Gray,image2Gray,point1,point2,status,err,Size(20,20),3); //LK金字塔    for(int i=0;i<point2.size();i++)   {    circle(image2,point2[i],1,Scalar(0,0,255),2);    line(image2,pointCopy[i],point2[i],Scalar(255,0,0),2);   }     imshow("角點特征光流",image2);   swap(point1,point2);   image1Gray=image2Gray.clone();  }   return 0;  } 

圖像跟蹤結果1:

圖像跟蹤結果2:

視頻流跟蹤:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 建昌县| 商河县| 阳春市| 广汉市| 崇州市| 雅安市| 石泉县| 盐亭县| 庆城县| 徐汇区| 灵丘县| 荣成市| 内丘县| 鹰潭市| 大方县| 双江| 海城市| 孟津县| 金沙县| 九江市| 莱阳市| 定远县| 铜陵市| 衡水市| 赞皇县| 大渡口区| 济宁市| 霍林郭勒市| 潞西市| 三原县| 柞水县| 吉木萨尔县| 治多县| 余庆县| 自贡市| 星座| 乌什县| 浠水县| 汾阳市| 荔波县| 外汇|