绪:
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函数的详细使用方法