无法一次显示五张Mat图像(C ++,OpenCV)

时间:2014-05-01 18:34:36

标签: c++ opencv mat

在下面的代码中,使用一种方法输入Mat图像并输出编辑过的Mat图像。代码工作正常,虽然我无法同时在屏幕上显示所有五个图像,因为运行代码时,只显示最后一个输出图像。理想情况下,代码应在同一窗口中显示每个输出图像的较小缩小版本。

void method (Mat input)
{
    ...

    imshow("Output", output);
}

int main()
{
    img_1 = imread("img1.jpg");
    img_2 = imread("img2.jpg");
    img_3 = imread("img3.jpg");
    img_4 = imread("img4.jpg");
    img_5 = imread("img5.jpg");

    method(img_1);
    method(img_2);
    method(img_3);
    method(img_4);
    method(img_5);

}

1 个答案:

答案 0 :(得分:3)

如果你想要几个highgui窗口,每个窗口都需要一个不同的名称:

void method (Mat input, const string & name)
{
    ...

    imshow(name, output);
}

 method(img_1, "image 1");
 method(img_2, "image 2");
 method(img_3, "image 3");
 // ...