我在尝试从原始图像创建ROI时出现以下错误。我理解错误的含义(我的意思是,我理解其中的原因)。 但我不明白,我的代码中哪一行给了我这个错误?在我的整个代码中,有几个地方我从原始框架创建ROI。
错误: 的
OpenCV Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) in Mat, file /tmp/buildd/ros-hydro-opencv2-2.4.6-3precise-20140130-1854/modules/core/src/matrix.cpp, line 323
terminate called after throwing an instance of 'cv::Exception'
what(): /tmp/buildd/ros-hydro-opencv2-2.4.6-3precise-20140130-1854/modules/core/src/matrix.cpp:323: error: (-215) 0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows in function Mat
答案 0 :(得分:2)
在调试器中运行代码并查看失败的位置,或检查堆栈跟踪以查看调用它的函数。
或者,如果你不能这样做,请在每个roi电话前放一个printf("ok1");
等。
答案 1 :(得分:0)
除非你做一些事情要找到它,否则无法知道你的代码的哪一行被抛出,例如:
根据使用投资回报率的经验,您可能尝试在某处使用投资回报率对图像进行子集化,并且您已经超出界限。或您的投资回报率为0,0。