我正在尝试沿着通过python 2.7和openCV 2.4.11的dsift获得的面部特征轮廓跟踪地标。我想跟踪帧之间的这些功能。
但是,我收到以下错误。我检查了输入图像是否具有1通道相等的尺寸(以及无符号的8bit类型),并且同样具有上一点:
OpenCV Error: Assertion failed ((npoints = prevPtsMat.checkVector(2, CV_32F, tru
e)) >= 0) in cv::calcOpticalFlowPyrLK, file ..\..\..\modules\video\src\lkpyramid.cpp
cv2.error: ..\..\..\modules\video\src\lkpyramid.cpp:845: error: (-215) (npoints
= prevPtsMat.checkVector(2, CV_32F, true)) >= 0 in function cv::calcOpticalFlowP
yrLK
行引起的问题:
new_pts, ttl, err = cv2.calcOpticalFlowPyrLK(self.old_img, i_img, i_old_pts, None)
有谁知道我可以从哪里开始调试它?
进行基于光流的跟踪时,我遇到了同样的问题。我尝试了许多不同的方法来解决此问题。但是徒劳。
最后,有一个示例程序,其中他们使用shi-tomsi角点检测进行跟踪,并将这些点用于LK算法中,并且效果很好。因此,我研究了Shi-Tomsi检测器输出的数据类型和尺寸,并确保要跟踪的点属于同一类型。惊醒了!
这是您需要知道的。
这应该工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句