OpenCV cvNamedWindow не отображается под Fedora - PullRequest
0 голосов
/ 16 декабря 2009

Как видно из названия, я просто пытаюсь заставить всплывающее окно с именем. Я работаю с OpenCV уже больше года, и раньше у меня не было этой проблемы. По какой-то причине окно никогда не открывается. Я попытался запустить некоторые из моих старых сценариев, и все работает нормально.

В качестве очень урезанного примера см. Ниже

#include "cv.h"
#include "highgui.h"

int main(int argc, char** argv) {

    cvNamedWindow( "video", 0 );
    IplImage *im = cvCreateImage( cvSize(200,200), 8, 3 );
    while(1) {
        cvShowImage( "video", im );
    }

    return 0;
}

Я не вижу причин, по которым это не сработает, но по какой-то причине окно никогда не появляется. Кто-нибудь еще испытывал это? Это делает мою голову в!

1 Ответ

2 голосов
/ 31 декабря 2009

Просто позвоните cvWaitKey(int milliseconds) в цикле. Эта функция уведомляет систему графического интерфейса для запуска графических ожидающих событий. Ваш код должен выглядеть примерно так:

int main(int argc, char** argv) {
   cvNamedWindow( "video", 0 );
   IplImage *im = cvCreateImage( cvSize(200,200), 8, 3 );
   while(1) {
       cvShowImage( "video", im );
       cvWaitKey(100); //wait for 100 ms for user to hit some key in the window
   }

   return 0;
}
...