Создать пустое изображение в OpenCV C ++ - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь создать пустое изображение (позже будет заполнено) с использованием OpenCV, но оно должно быть того же размера с предопределенным изображением, что и новое изображение. Я попробовал следующий код:

(изображение будет изображением Лены, которое успешно отображается)

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

Но по какой-то причине он по-прежнему показывает «изображение», а не lena1 (что будет пустым изображением с такими же размерами предварительно определенного изображения).

Спасибо!

1 Ответ

2 голосов
/ 15 января 2020

Чтобы создать пустое изображение (изображение, заполненное нулями), используйте cv :: Mat :: zeros (). Он создаст матрицу с размером и типом по вашему выбору, который заполнен нулями.

В вашем случае используйте следующий код,

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

Чтобы заполнить его предварительно загруженное изображение,

image.copyTo(lena1);
...