我想从图像中获取特征点的calcOpticalFlowPyrLK,当我使用goodFeaturesToTrack时,一切正常如下:
goodFeaturesToTrack(blackOutImagePrev, prevCorners, 200, 0.04, 30);
calcOpticalFlowPyrLK(blackOutImagePrev, blackOutImageNext, prevCorners, nextCorners, status, err);
由于处理速度问题,我想改变我获得特征点冲浪或快速方法的功能。对于冲浪,功能是:
final KeyPointVector kp = new KeyPointVector();
final SURF surf = SURF.create(2500, 4, 2, true, false);
surf.detect(image, kp);
由于冲浪获取功能点存储在KeyPointVector中,但prevCorners的类型是Mat。我怎么能把它转移到Mat所以我可以调用calcOpticalFlowPyrLK?或者有任何解决方法?
答案 0 :(得分:1)
看起来KeyPointVector只是KeyPoints的向量。 KeyPoints类型具有pt() method,它将返回Point2f
,您可以使用Mat
构建Mat
。因此,创建新的pt()
,并遍历关键点向量,获取带 SELECT id, first_name, last_name, birthdate
FROM customers_index
WHERE first_name @@ plainto_tsquery('simple','John')
AND last_name @@ plainto_tsquery('simple','Smith')
AND birthdate = '17.08.1967';
的点并插入。