openCV中waitKey函数介绍

转载地址:http://blog.sina.com.cn/s/blog_82a790120101jsp1.html

#include < opencv2/highgui/highgui.hpp >

#include iostream >

#include < Windows.h >

using namespace cv;

using namespace std;

 

int main()

{

    Mat im;

    double duration;

    im = imread("D:\\Document\\pictures\\Lena.bmp",0);

 

    // 测试没有namedWindow时的waitKey执行时间

    duration = static_cast<</span>double>(getTickCount());

    waitKey(10000);

    duration = static_cast<</span>double>(getTickCount())

             - duration;

    duration /= getTickFrequency();

    cout <<"第一个waitKey运行时间为:" << duration

          << 's' << endl;

 

    namedWindow("Lena");

    imshow("Lena",im);

 

    // 测试有namedWindow时的waitKey执行时间

    duration = static_cast<</span>double>(getTickCount());

    waitKey(10000);

    duration = static_cast<</span>double>(getTickCount())

             - duration;

    duration /= getTickFrequency();

    cout <<"第二个waitKey运行时间为:" << duration

          << 's' << endl;

 

    Sleep(20000);

    return 0;

执行结果如下:

openCV中waitKey函数介绍

         从执行结果可以看出,第一个结果并未如期执行,第二个结果如期执行了。这是因为waitKey仅对窗口机制起作用,即namedWindow产生的窗口。若在此之前没有产生窗口,则waitKey相当于未执行。

 

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);

第一个参数: 等待x ms,如果在此期间有按键按下,则立即结束并返回按下按键的

ASCII码,否则返回-1

如果x=0,那么无限等待下去,直到有按键按下

 

         另外,在imshow之后如果没有waitKey语句则不会正常显示图像。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值