What happens during the execution of cvWaitKey()
? What are some typical use cases? I saw it in OpenCV reference but the documentation isn't clear on its exact purpose.
cvWaitKey(x) / cv::waitKey(x)
does two things:
cv::imshow()
). Note that it does not listen on stdin for console input. If a key was pressed during that time, it returns the key's ASCII code. Otherwise, it returns -1
. (If x is zero, it waits indefinitely for the key press.)cv::namedWindow()
, or showing images with cv::imshow()
.A common mistake for opencv newcomers is to call cv::imshow()
in a loop through video frames, without following up each draw with cv::waitKey(30)
. In this case, nothing appears on screen, because highgui is never given time to process the draw requests from cv::imshow()
.