OpenCV Assertion failed with ROI
我试着让每个圆都在一个新窗口中,但是我得到了这个错误;误差
我不知道为什么会这样。rect对象提供正常值:记录值
代码:
1 2 3 4 5 6 7 8 | void scanCircle(int x, int y, int h, Mat src, int rad) { try { Rect region = Rect(x, y, x + h, y + h); Mat roi = src(region).clone(); } catch (...) { cout <<"Error"; } |
}
有了谷歌,我发现了一个:opencv断言失败
但是我不知道怎么了。
错误意味着矩形
事实上,你用错误的值构造矩形,应该是:
1 | Rect region(x, y, h, h); |
因为第3和第4个参数是宽度和高度,而不是右下角的坐标。
或者可以使用接受左上和右下点的构造函数:
1 | Rect region(Point(x,y), Point(x+h, y+h)); |