OpenCV断言以ROI失败

迪伦

我正在尝试在新窗口中显示每个圆圈,但是出现此错误;错误

我不知道为什么会这样。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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章