waitKey()


 

 waitKey僅對窗口機制起作用,即namedWindow產生的窗口。若在此之前沒有產生窗口,則waitKey相當於未執行。

 注:namedWindow產生的窗口: namedWindow()+imshow()    或者   只有imshow() 都是可以的。

/***********************************************************************************/

openv中對cvWaitkey函數的定義如下:

int cvWaitKey( int delay=0 )

返回值為int型,函數的參數為int型,當delay小於等於0的時候,如果沒有鍵盤觸發,則一直等待,此時的返回值為-1,否則返回值為鍵盤按下的碼字;當delay大於0時,如果沒有鍵盤的的觸發,則等待delay的時間,此時的返回值是-1,否則返回值為鍵盤按下的碼字。

測試代碼如下:

#include<stdio.h>
#include<cv.h>
#include<highgui.h>
int main()
{ IplImage *src=cvLoadImage("car.jpg",-1);
 cvShowImage("car",src);
 int t=cvWaitKey(-1);
 printf("cvWaitKey return: %d",t);
 return 0;
}

/*************************************************************************************/

waitKey有兩個作用:

1. It waits for x milliseconds for a key press. If a key was pressed during that time, it returns the key's ASCII code. Otherwise, it returns -1.

2It handles any windowing events, such as creating windows with cv::namedWindow(), or showing images with cv::imshow().

 

    格式:

waitKey(x);

第一個參數: 等待x ms,如果在此期間有按鍵按下,則立即結束並返回按下按鍵的

ASCII碼,否則返回-1

如果x=0,那么無限等待下去,直到有按鍵按下

 

         另外,在imshow之后如果沒有waitKey語句則不會正常顯示圖像。

附: 

int c=cv::waitKey(0);
if((char)c==27)//27:Esc//>a
break;
if((char)c=='r')//>b

以上>a和>b中(char)加與不加都是等價的!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM