Opencv光流運動物體追蹤的示例分析-創(chuàng)新互聯(lián)

小編給大家分享一下Opencv光流運動物體追蹤的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比文成網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式文成網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋文成地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。

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

Opencv光流運動物體追蹤的示例分析

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

光流法的前提假設(shè):

(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;  
}

圖像跟蹤結(jié)果1:

Opencv光流運動物體追蹤的示例分析

圖像跟蹤結(jié)果2:

Opencv光流運動物體追蹤的示例分析

視頻流跟蹤:

Opencv光流運動物體追蹤的示例分析

以上是“Opencv光流運動物體追蹤的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站muchs.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享題目:Opencv光流運動物體追蹤的示例分析-創(chuàng)新互聯(lián)
文章位置:http://muchs.cn/article26/pshcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、電子商務(wù)標簽優(yōu)化、企業(yè)建站品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化