Потоковое видео медленно с OpenCV - PullRequest
1 голос
/ 06 февраля 2012

Я делаю приложение для обработки видео, используя C ++ с OpenCV. Вот как я написал код для инициализации веб-камеры.

    storage = cvCreateMemStorage( 0 );
capture = cvCaptureFromCAM(1);

cvNamedWindow( "video", 1 );

while( key != 'q' ) {
    frame = cvQueryFrame( capture );
    if( !frame ) {
        fprintf( stderr, "Cannot query frame!\n" );
        break;
    }
    cvFlip( frame, frame, 1 );
    frame->origin = 0;
    key = cvWaitKey( 1 );
}

Может кто-нибудь предложить мне решение для увеличения скорости захвата кадров с веб-камеры. При сравнении видеопотока с веб-камеры и видеопотока с веб-камеры приложения OpenCV задержка составляет 3 секунды.

Спасибо.

1 Ответ

0 голосов
/ 06 февраля 2012

Какую версию opencv вы используете?Используете ли вы сборку, которая использует Intel Threading Building Blocks (tbb.dll)?Если нет, то используйте его, это ваше ускорение прямо сейчас.

Вы также можете попробовать простой код, просто чтобы увидеть, какой тип ускорения вы получаете:

storage =cvCreateMemStorage (0);capture = cvCaptureFromCAM (1);

while (1) {frame = cvQueryFrame (capture);cvWaitKey (1);}

Кроме этого, я предлагаю использовать интерфейс c ++ для opencv, интерфейс c довольно уродлив и может быть медленнее.

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