我正在学习OpenCV来校准和纠正相机。相机已经过校准,现在我正在使用cvRemap(src,dst,mapx,mapy)来解除左右相机拍摄的两张图像的扭曲。
每次程序运行到包含cvRemap()的行时,都会抛出一个名为的未处理异常:
testagain.exe中的0x757dc41f处的未处理异常:Microsoft C ++ 异常:cv ::内存位置0x003fe73c的异常..
控制台说:
OpenCV错误:断言失败(src.type()== dst.type()&& dst.size()== mapx.size())在未知函数中,文件.. \ .. \。 。\ src \ opencv \ modules \ imgproc \ src \ imgwarp.cpp,第3294行
我是根据学习OpenCV 做的。请注意,cvRemap的格式为:cvRemap(const CvMat* src, const CvMat* dst, const CvMat* mapx, const CvMat* mapy)
。一些猜测:
由于mapx和mapy是由另一个程序生成并由我自己读取的,因此包含一些负值和一些大于图片分辨率的值(640 * 480),我手动处理这些值并设置它们回到分辨率范围。我希望这不会成为问题。
在此试验之前,我通过cvInitUndistortRectifyMap()
计算了mapx和mapy,当我调用cvRemap时,没有异常。我不知道为什么。