Подтвердить что ты не робот

Что означает waitKey (30) в OpenCV?

Возможный дубликат:
OpenCV - cvWaitKey()

Я хочу отфильтровать видеокадр.

for(;;)
{
cap.read( frame);
medianBlur(frame,framedst,5);
imshow("frame",frame);
imshow("framedst",framedst);    
if( waitKey (30) >= 0) break;
}

Что означает waitKey(30)? Потому что, если я прокомментирую строку if( waitKey (30) >= 0) break;, вышеуказанный код не работает!

4b9b3361

Ответ 1

Функция waitKey() ожидает ключевого события для "задержки" (здесь 30 миллисекунд). Как объясняется в документации OpenCV, HighGui (imshow() является функцией HighGui) необходимо регулярно вызывать waitKey для обработки его цикла событий.

То есть, если вы не вызываете waitKey, HighGui не сможет обрабатывать события Windows, такие как перерисовка, изменение размера, событие ввода и т.д. Так что просто вызовите его, даже с задержкой в 1 мс :)