openCV中waitKey函数介绍
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                openCV中waitKey函数介绍
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            #include <opencv2/opencv.hpp>
#include < iostream >
#include <window.h>
using namespace cv;
using namespace std;int main()
{Mat im;double duration;im = imread("1.jpg");// 測試沒有namedWindow時的waitKey執(zhí)行時間duration = static_cast<double>(getTickCount());waitKey(10000);duration = static_cast<double>(getTickCount())- duration;duration /= getTickFrequency();cout <<"第一個waitKey運行時間為:" << duration<< 's' << endl;namedWindow("Lena");imshow("Lena",im);// 測試有namedWindow時的waitKey執(zhí)行時間duration = static_cast<double>(getTickCount());waitKey(10000);duration = static_cast<double>(getTickCount())- duration;duration /= getTickFrequency();cout <<"第二個waitKey運行時間為:" << duration<< 's' << endl;return 0;
}
 
結(jié)果:
第一個waitKey運行時間為:3.56973e-006s
第二個waitKey運行時間為:10.0054s
請按任意鍵繼續(xù). . .
從執(zhí)行結(jié)果可以看出,第一個結(jié)果并未如期執(zhí)行,第二個結(jié)果如期執(zhí)行了。這是因為waitKey僅對窗口機制起作用,即namedWindow產(chǎn)生的窗口。若在此之前沒有產(chǎn)生窗口,則waitKey相當(dāng)于未執(zhí)行。
 
 
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);
第一個參數(shù): 等待x ms,如果在此期間有按鍵按下,則立即結(jié)束并返回按下按鍵的
ASCII碼,否則返回-1
如果x=0,那么無限等待下去,直到有按鍵按下
 
 
如果程序想響應(yīng)某個按鍵,可利用if(cvWaitKey(1)==Keyvalue);
經(jīng)常程序里面出現(xiàn)if( cvWaitKey(10) >= 0 ) 是說10ms中按任意鍵進入此if塊。
注意:這個函數(shù)是HighGUI中唯一能夠獲取和操作事件的函數(shù),所以在一般的事件處理中,它需要周期地被調(diào)用,除非HighGUI被用在某些能夠處理事件的環(huán)境中。比如在MFC環(huán)境下,這個函數(shù)不起作用。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎
                        
                        
                        結(jié)果:
第一個waitKey運行時間為:3.56973e-006s
第二個waitKey運行時間為:10.0054s
請按任意鍵繼續(xù). . .
從執(zhí)行結(jié)果可以看出,第一個結(jié)果并未如期執(zhí)行,第二個結(jié)果如期執(zhí)行了。這是因為waitKey僅對窗口機制起作用,即namedWindow產(chǎn)生的窗口。若在此之前沒有產(chǎn)生窗口,則waitKey相當(dāng)于未執(zhí)行。
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);
第一個參數(shù): 等待x ms,如果在此期間有按鍵按下,則立即結(jié)束并返回按下按鍵的
ASCII碼,否則返回-1
如果x=0,那么無限等待下去,直到有按鍵按下
如果程序想響應(yīng)某個按鍵,可利用if(cvWaitKey(1)==Keyvalue);
經(jīng)常程序里面出現(xiàn)if( cvWaitKey(10) >= 0 ) 是說10ms中按任意鍵進入此if塊。
注意:這個函數(shù)是HighGUI中唯一能夠獲取和操作事件的函數(shù),所以在一般的事件處理中,它需要周期地被調(diào)用,除非HighGUI被用在某些能夠處理事件的環(huán)境中。比如在MFC環(huán)境下,這個函數(shù)不起作用。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎
總結(jié)
以上是生活随笔為你收集整理的openCV中waitKey函数介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 【C++深度剖析教程30】C++中抽象类
 - 下一篇: 【剑指offer - C++/Java】