如何在循环中显示opencv中的图像?

时间:2011-04-10 18:10:13

标签: c opencv computer-vision

我有IplImage *结构,我正在尝试使用循环向用户显示图像,并询问他们所显示的图像是否正常。

基本上,在传递这种使用cvShowImage的方法时显示图像。但是,由于它是循环的,它似乎不起作用。在我点击y之前,我只看到灰色屏幕。如果我点击y并且它会中断,则会显示图像。

这是我所拥有的要点。

    char response;
    int showing_img = 1;

    SaveImage1(); // these methods just save the IplImage structure.
    SaveImage2();

    cvShowImage("Image 1", img_1);
    cvShowImage("Image 2", img_2);

    while (1)
    {
        if (!showing_img)
        {
            cvShowImage("Image 1", img_1);
            cvShowImage("Image 2", img_2);
            showing_img = 1;
        }

        printf("Are these good?  y/n please\n");
        scanf("%c", &response);
        if (response == 'y')
        {
            break;
        }
        if (response == 'n')
        {
            cvReleaseImage(&img_1);
            cvReleaseImage(&img_2);
            showing_img = 0;
            SaveImage1(1);
            SaveImage2(1);
        }
    }

我应该怎么做呢?

1 个答案:

答案 0 :(得分:1)

您必须让系统更新图像。在循环中插入对cvWaitKey的调用,这应该可以解决您的问题。