我想在不同的窗口中多次显示相同的图像,为此我使用了for循环,但仅获得一个窗口显示。有人可以给我关于如何在多个窗口中显示输出图像的任何建议吗?以下是带有C API的OpenCV中的代码。在这里,我只是从argv [1]加载图像并尝试在4个不同的窗口中显示它。

#include "cv.h"
#include "highgui.h"
#include <stdlib.h>
#include <stdio.h>

int main( int argc, char** argv ) {
int i;
IplImage* img = cvLoadImage( argv[1],1);
cvMoveWindow("Example1", 100, 100);
cvNamedWindow( "Example1", 1);
for(i =0; i<=4;i++) // for loop to display the same image in 4 different windows
{
 cvShowImage( "Example1", img );
}
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow( "Example1" );
}

附言我曾问过一个类似的问题show multiple images in different window in OpenCV,但该问题尚未解决,并且代码难以理解,因此我尝试使用更简单的代码来解决这个问题。

最佳答案

干得好

int i;
IplImage* img = cvLoadImage("/home/khashayar/Downloads/bug14.png", 1);
cvMoveWindow("Example1", 100, 100);
cvNamedWindow("Example1", 1);
for (i = 0; i <= 4; i++)
{
    char str[5] = "test";
    str[4] = i+48;
    cvShowImage(str, img);
}
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example1");

08-05 12:59