2014-01-05 96 views
0

我使用以下函數作爲我的跟蹤算法的基礎。找到每個像素的光流opencv

// 1。檢測功能 我的意思,這個函數提取的唯一好等特點,

cv::goodFeaturesToTrack(gray_prev, // the image 
features, // the output detected features 
max_count, // the maximum number of features 
qlevel,  // quality level 
minDist); // min distance between two features 

// 2.跟蹤功能

cv::calcOpticalFlowPyrLK(
gray_prev, gray, // 2 consecutive images 
points_prev, // input point positions in first im 
points_cur, // output point positions in the 2nd 
status, // tracking success 
err);  // tracking error 

cv::calcOpticalFlowPyrLK需要從以前的圖像點向量作爲輸入,並返回下一張照片上的適當點。 假設我要計算每個pixle代替良好特徵

在其他含義

的opical流,開始計算從(1,1)到(M,N)

+0

[Opencv跟蹤使用光流]的可能的副本(http://stackoverflow.com/questions/9701276/opencv-tracking-using-optical-flow) –

+0

@RogerRowland不,這個問題是不一樣的。 –

+0

我也可以提出這個建議嗎?它被稱爲相位相關:http://stackoverflow.com/questions/16718241/lucas-kanade-dense-optical-flow/21007222#21007222 –

回答

6

CV ::光流calcOpticalFlowPyrLK確實稀疏OF,即從特徵點開始,如果您想要它爲每個像素,請使用

calcOpticalFlowFarneback

計算密集光流(使用Gunnar Farneback算法)。

+0

非常感謝你親愛的 – user3050468