c++ - 在OpenCV C++中创建空白图像

标签 c++ image opencv opencv4

我正在尝试使用OpenCV创建空白图像(以后要填充),但它必须与预定义图像具有相同的大小,作为新图像。我尝试了以下代码:

(图像将是成功显示的莉娜的照片)

    Mat lena1(Size(image.cols,image.rows),CV_8UC1);
    namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
    //imshow( "Display Image", image );
    imshow("blank", lena1);

但是由于某种原因,它仍然显示“图像”,而不显示lena1(那将是具有与预定义图像相同大小的空白图像)。

谢谢!

最佳答案

要创建空白图像(填充有零的图像),请使用cv::Mat::zeros()。它将创建一个矩阵,其中包含您选择的尺寸和类型,并用零填充。

就您而言,请使用以下代码,

Mat lena1 = Mat::zeros(Size(image.cols,image.rows),CV_8UC1);

要用预加载的图像填充该图像,
image.copyTo(lena1);

关于c++ - 在OpenCV C++中创建空白图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59750687/

相关文章:

c++ - 未调用构造函数和 "pointer being freed was not allocated"错误

c++ - 有没有在 C/C++ 中定义数据类型的情况下从用户那里获取输入

c++ - Mac OSX libc++ 缺少 std::uncaught_exceptions 符号

python - 无法检测到不超过一种颜色的轮廓

如果目标进程未打开,C++获取进程ID获取本地ID

javascript - (循环中的图像)大量图像并且想要显示如果图像确实存在则显示图像否则删除/隐藏图像节点

Java转换低内存占用的图像格式

html - 为什么转化跟踪使用像素,为什么图像可能会暴露您的信息?

c++ - 如何分割白板区域?

如果移动窗口,C++ CreateDIBitmap 返回 null