簡體   English   中英

OpenCV 斷言失敗,投資回報率

[英]OpenCV Assertion failed with ROI

我試圖在新窗口中獲取每個圓圈,但是我收到此錯誤; 錯誤

我不知道為什么會這樣。 Rect 對象給出正常值: rect values

代碼:

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 assertion failed

但是我看不出有什么問題。

該錯誤意味着您的矩形region超出了圖像src的邊界。

事實上,你正在用錯誤的值構造矩形,它應該是:

Rect region(x, y, h, h);

因為第三個和第四個參數是寬度和高度,而不是右下角的坐標。

或者您可以使用接受左上角和右下角點的構造函數:

Rect region(Point(x,y), Point(x+h, y+h));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM