将calcOpticalFlowPyrLK与OpenCV 2.3.1一起使用时出错

Error using calcOpticalFlowPyrLK with OpenCV 2.3.1

本文关键字:一起 出错 calcOpticalFlowPyrLK OpenCV      更新时间:2023-10-16

我正在尝试使用calcOpticalFlowPyrLK进行特征跟踪。功能使用如下

TermCriteria termcrit(CV_termcrit_ITER|CV_TERMCARIT_EPS,20,0.03);

大小winSize(31,31);

向量<uchar>状态;

向量<float>err;

calcOpticalFlowPyrLK(prevGray,gray,point[0],point[1],status,err,winSize,3,termcrit,0,0.001);

所有参数均正确。在点[0]中,已经有一组给定的点。但当我尝试执行程序时,它给出了以下错误。我使用的是Visual C++2010。

GFFER.exe中0x74c426df(msvcr100.dll)处的首次机会异常:0xC0000005:写入位置0x058fe000的访问冲突。GFFER.exe中0x74c426df(msvcr100.dll)处未处理的异常:0xC0000005:写入位置0x058fe000的访问冲突。

你知道我该怎么解决这个问题吗。

提前感谢!!

写入位置的访问违规

将数据写入未初始化的位置时似乎会发生错误。在代码中,point[1]statuserr是发生写入的唯一位置。

状态和错误,并正确定义。问题一定出在point[1]上。它是vector<Point2f>型的吗。

为什么不尝试使用两个单独的向量,而不是一个向量数组,比如point0point1。