opencv 獲取按鍵cvWaitkey()


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


免責聲明!

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



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