我在相对较小(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);
你看到后面检测到很多分数,但是当我使用
时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
);
它只返回前面的点,如图像打击:
但我需要所有视频的矢量。那么我怎样才能从后面获取向量?
编辑:
我做错了是因为我正在过滤小矢量。
答案 0 :(得分:0)
我的猜测是你在显示光流向量之前正在进行某种处理/过滤。