我正在尝试在新窗口中显示每个圆圈,但是出现此错误;错误
我不知道为什么会这样。Rect对象提供正常值:rect值
码:
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";
}
}
使用Google我发现了这一点:OpenCv断言失败
但是我看不出有什么问题。
该错误意味着您的矩形region
超出了图像的范围src
。
实际上,您正在使用错误的值构造矩形,它应该是:
Rect region(x, y, h, h);
因为第3个和第4个参数是宽度和高度,而不是右下角的坐标。
或者,您可以使用接受左上角和右下角点的构造函数:
Rect region(Point(x,y), Point(x+h, y+h));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句