我正在尝试将灰度转换为更大的黑色图像.我得到这个错误OpenCV错误:断言失败

I am trying to put a grayscale into a bigger black image. I am getting this error OpenCV Error: Assertion failed

本文关键字:错误 图像 失败 OpenCV 黑色 断言 灰度 转换      更新时间:2023-10-16

我是opencv的新手。我正在尝试将灰度放入更大的黑色图像中,我的代码如下。

Mat  imageGray, padded;
imageGray= imread("/home/nick/workspace/trial/src/imageGray.bmp", CV_LOAD_IMAGE_GRAYSCALE);
int padding  = 20;
padded.create(imageGray.rows + 2*padding, imageGray.cols + 2*padding , imageGray.type());
padded.setTo(cv::Scalar::all(0));
imageGray.copyTo(padded(Rect(padding, padding, imageGray.rows, imageGray.cols)));
imshow("Trial",padded);

我得到断言错误

OpenCV Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) 

创建Rect的sintax是(x,y,WIDTH,HEIGHT),请尝试:

imageGray.copyTo(padded(Rect(padding, padding, imageGray.cols, imageGray.rows)));
                                                           ^               ^