1. 程式人生 > >openCV之waitKey函式簡介

openCV之waitKey函式簡介

函式原型為:
.

C++: int waitKey(int delay=0)

Python: cv2.waitKey([delay]) → retval

C: int cvWaitKey(int delay=0 )

Python: cv.WaitKey(delay=0) → int

函式功能:

waitKey()函式的功能是不斷重新整理影象,頻率時間為delay,單位為ms。

返回值為當前鍵盤按鍵值。

所以顯示影象時,如果需要在imshow(“xxxx”,image)後吐舌頭加上while(cvWaitKey(n)==key)為大於等於0的數即可,那麼程式將會停在顯示函式處,不執行其他程式碼;直到鍵盤值為key的響應之後。

delay>0時,延遲”delay”ms,在顯示視訊時這個函式是有用的,用於設定在顯示完一幀影象後程序等待”delay”ms再顯示下一幀視訊;如果使用waitKey(0)則只會顯示第一幀視訊。

返回值:如果delay>0,那麼超過指定時間則返回-1;如果delay=0,將沒有返回值。
  如果程式想響應某個按鍵,可利用if(waitKey(1)==Keyvalue);
如果delay<0,等待時間無限長,返回值為按鍵值

經常程式裡面出現if( waitKey(10) >= 0 ) 是說10ms中按任意鍵進入此if塊。

注意:這個函式是HighGUI中唯一能夠獲取和操作事件的函式,所以在一般的事件處理中,它需要週期地被呼叫,除非HighGUI被用在某些能夠處理事件的環境中。比如在MFC環境下,這個函式不起作用。