cvWaitKey()是opencv中經常用到而且很好用的一個函數
函數定義
CV_EXPORTS_W int waitKey(int delay=0);
Highgui_c.h中
/* wait for key event infinitely (delay<=0) or for "delay" milliseconds */ CVAPI(int) cvWaitKey(int delay CV_DEFAULT(0));
waitkey靈活運用注意如下幾點
1.當參數delay中為負,則無窮等待
2.否則等待delay ms.
3.返回值是按鍵值 否則返回-1
4.當參數為空,則一直等待按鍵當前線程等待
5.waitkey只對顯示圖像窗口有效,對控制台無效
例程:
// mOpencv.cpp : 定義控制台應用程序的入口點。 // #include "stdafx.h" #include "tools.h" int _tmain(int argc, _TCHAR* argv[]) { IplImage* src = 0; int key = 0; CvCapture* capture = cvCaptureFromCAM(0); while( NULL != (src = cvQueryFrame(capture) ) ) { cvShowImage("camera",src); if( (key = waitKey(2)) !=-1)//如果2ms內有按鍵 有返回值key { printf("press key:%c\n",key); if(key == 'q') break; } } //此函數等待按鍵,按鍵盤任意鍵就返回 waitKey(); if(NULL != src) cvReleaseImage(&src); if(NULL != capture) cvReleaseCapture(&capture); return 0; }
附上資料:
http://opencv.willowgarage.com/wiki/documentation/c/highgui/WaitKey