緒:
waitKey()函數在顯示圖像時具有延時的感化;
是OpenCV中的一個根基函數;
本文本家兒要介紹waitKey函數的格局, 功能, 以及waitKey窗口機制和waitKey的應用;

需要這些哦
OpenCV 2410
方式/
1waitKey格局:
int waitKey(int delay=0)
delay-延時的時候, 單元ms;

2waitKey函數的功能:
①期待x ms, 若是在此時代有按鍵按下, 則當即竣事并返回按鍵的ASCII碼, 不然返回-1;
②若是x=0, 則無限期待下去, 直到有按鍵按下;
【注】:在imshow之后, 若是沒有waitKey語句則不會顯示圖像 。

3waitKey函數的窗口機制:
waitKey的延時功能本家兒要針對圖像窗口機制的;
沒有窗口, 則waitKey號令不執行;
純粹的延時用sleep號令;
void update(void *param)
{
VideoCapture cap;
cap.open("test.avi");
if ( !cap.isOpened() )
{
return ;
}
for(;;)
{
cap>>frame;
//cvNamedWindow("tmp");//加上這個, 再利用waitkey就沒問題了
//waitKey(100);//利用waitkey法式必定崩, 本家兒如果因為waitkey是對窗口機制起感化的, 即namedWindow發生的窗口, 若沒有發生的窗口, 則waitkey半斤八兩于未執行, 當視頻幀很快的被讀完, frame為空, 天然就出問題了
Sleep(100);//若利用Sleep, 則能正常工作
}
}
void main()
{
_beginthread(update,0,NULL);
Sleep(1000);
cvNamedWindow("test");
for(;;)
{
//判空(省略)
imshow("test",*frame);
waitKey(100);
}
waitKey(0);
}

4應用:
#include < opencv2/highgui/highgui.hpp >
#include < iostream >
#include < Windows.h >
using namespace cv;
using namespace std;
int main()
{
Mat im;
double duration;
im = imread("lena.jpg",0);
// 測試沒有namedWindow時的waitKey執行時候
duration = static_cast<double>(getTickCount());
猜你喜歡
- Choose函數經典用法
- matlab怎么設置創建回調函數時不創建該注釋內容
- Excel中怎么使用VLOOKUP函數查找
- Excel中怎么使用trend函數進行線性插值計算
- Excel中怎么使用index函數查找引用
- Excel中怎么使用averagea函數求平均數
- Excel RANDBETWEEN函數的使用方法
- OpenCV:resize函數 VS vector:resize函數
- python中如何使用sorted函數
- match函數的詳細使用方法
