我正在尝试使用calcOpticalFlowPyrLK进行功能跟踪。功能如下使用
TermCriteria termcrit(CV_TERMCRIT_ITER | CV_TERMCRIT_EPS,20,0.03);
尺寸winSize(31,31);
vector< uchar>状态;
vector<浮动> ERR;
calcOpticalFlowPyrLK(prevGray,grey,point [0],point [1],status,err,winSize,3,termcrit,0,0,0.001);
所有参数都是正确的。在点[0]中,已经给出了一组点。但是当我尝试执行程序时,它会出现以下错误。我正在使用Visual C ++ 2010.
.....................................
GFFER.exe中0x74c426df(msvcr100.dll)的第一次机会异常:0xC0000005:访问冲突写入位置0x058fe000。 GFFER.exe中0x74c426df(msvcr100.dll)的未处理异常:0xC0000005:访问冲突写入位置0x058fe000。
.....................................
你知道我怎么能解决这个问题。
提前致谢!!
答案 0 :(得分:0)
访问违规写入位置
将数据写入未初始化的位置时似乎发生错误。 在您的代码中,指向[1] ,状态和错误是写发生的唯一位置。< / p>
状态和错误并正确定义。问题必须是point[1]
。它是vector<Point2f>
类型。
为什么不尝试使用两个单独的向量而不是一个向量数组,比如point0 point1。