Как показать изображение в opencv, когда в цикле? - PullRequest
1 голос
/ 10 апреля 2011

У меня есть 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 Ответ

1 голос
/ 10 апреля 2011

Вы должны позволить системе обновлять изображения. Вставьте в цикл вызов cvWaitKey, который должен решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...