[英]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.