opencv光流不检测大多数向量

时间:2013-12-20 09:37:16

标签: opencv opticalflow

我在相对较小(288 x 360)的交通视频上使用光流,我遇到了问题。我无法得到帧中某些地方的光流向量。 此图像显示被

检测为“要跟踪的好功能”的点
  

goodFeaturesToTrack()

这样的功能:

vector<Point2f>  features1;
vector<Point2f>  features2;
int number_of_features = 2000;
goodFeaturesToTrack(frame1, features1 ,number_of_features,0.01,0.01);

enter image description here

你看到后面检测到很多分数,但是当我使用

  

calcOpticalFlowPyrLK()

得到像这样的光流向量:

TermCriteria optical_flow_termination_criteria= TermCriteria( CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, 10, .001 );

calcOpticalFlowPyrLK(
frame1, frame2, features1, features2,
optical_flow_found_feature,optical_flow_feature_error,
Size(21,21),5,optical_flow_termination_criteria
);

它只返回前面的点,如图像打击:

enter image description here

但我需要所有视频的矢量。那么我怎样才能从后面获取向量?

编辑:

我做错了是因为我正在过滤小矢量。

1 个答案:

答案 0 :(得分:0)

我的猜测是你在显示光流向量之前正在进行某种处理/过滤。