簡體   English   中英

OpenCV中的ROI圖片錯誤

[英]Error ROI image in OpenCV

我的二進制圖像有些雜音。 我想通過使用沿圖像滑動的矩形大小(10x10)來減少噪聲。

如果矩形包含20個以上的nonZero像素,我將ROI復制到目標圖像。

for (int i = 0; i < binary.rows-10; i+=10){
    for (int j = 0; j < binary.cols-10; j+=10)
    {
        cv::Rect Roi(i, j, 10, 10);
        cv::Mat countImg = cv::Mat(10, 10, CV_8UC1);
        countImg = cv::Mat(binary, Roi);

        if (cv::countNonZero(countImg)>20)
        {
            countImg.copyTo(binary_filter.rowRange(i, i + 10).colRange(j, j + 10));
        }
    }
}

程序在函數countImg = cv::Mat(binary, Roi);處遇到錯誤countImg = cv::Mat(binary, Roi); 誰能解釋?

真正的問題發生在這里:

cv::Rect Roi(i, j, 10, 10);

cv::Rect的格式(x, y, width, height)不是 (y, x, width_, height)


要使其正常運行,請將其更改為

cv::Rect Roi(j, i, 10, 10);

暫無
暫無

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

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