#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执行时间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执行时间duration = static_cast<double>(getTickCount());waitKey(10000);duration = static_cast<double>(getTickCount())- duration;duration /= getTickFrequency();cout <<"第二个waitKey运行时间为:" << duration<< 's' << endl;return 0;
}

结果:
第一个waitKey运行时间为:3.56973e-006s
第二个waitKey运行时间为:10.0054s
请按任意键继续. . .
从执行结果可以看出,第一个结果并未如期执行,第二个结果如期执行了。这是因为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,那么无限等待下去,直到有按键按下

如果程序想响应某个按键,可利用if(cvWaitKey(1)==Keyvalue);
经常程序里面出现if( cvWaitKey(10) >= 0 ) 是说10ms中按任意键进入此if块。
注意:这个函数是HighGUI中唯一能够获取和操作事件的函数,所以在一般的事件处理中,它需要周期地被调用,除非HighGUI被用在某些能够处理事件的环境中。比如在MFC环境下,这个函数不起作用。

openCV中waitKey函数介绍相关推荐

  1. OpenCV中waitKey()函数的深度解析

    while (char(waitKey(1)) != 'q') {} 相信不少,都是冲着这句代码来的,是不是无法退出? 注意:鼠标必须激活当前窗口, 即鼠标要点一下窗口(图像),不然要是放在cmd窗口 ...

  2. OpenCV中waitKey()函数失效问题汇总(按键失效、按键不灵、按键导致程序崩溃)

    提示:阅读文章,大约需要3分钟 问题描述 在使用OpenCV编程的时候,我们经常会使用按键等待函数:waitKey(),大家可能会用它来作为 延迟.等待用户输入按键的功能使用,以下列出了在使用过程中遇 ...

  3. OpenCV中flip函数实现

    一.flip()函数原型介绍 void cv::flip(InputArray src,OutputArray dst, int flipCode) 各参数含义 src:输入图像. dst:输出图像. ...

  4. OpenCV中initUndistortRectifyMap函数存在bug原因探究

    原文首发于公众号「3D视觉工坊」:OpenCV中initUndistortRectifyMap函数存在bug原因探究. 最近在运行如下一段代码时,生成的mapx和mapy有点异常. 代码片段如下: # ...

  5. Opencv中的ROI介绍

    Opencv中的ROI介绍 (2013-03-27 13:36:26) 转载▼   分类: 模式识别         ROI(Region of Interest)是指图像中的一个矩形区域,可能你后续 ...

  6. 关于opencv中cvtcolor函数的code参数用CV_BGR2YUV与CV_BGR2YCrCb的了解

    根据Opencv中cvtcolor函数的源码描述,,参数CV_BGR2YCrCb用的系数为[1868, 9617, 4899, 11682, 9241], 而参数CV_BGR2YUV对应的系数只是将C ...

  7. Opencv中直方图函数calcHist

    Opencv中直方图函数calcHist calcHist函数在Opencv中是极难理解的一个函数,一方面是参数说明晦涩难懂,另一方面,说明书给出的实例也不足以令人完全搞清楚该函数的使用方式.最难理解 ...

  8. TF:tensorflow框架中常用函数介绍—tf.Variable()和tf.get_variable()用法及其区别

    TF:tensorflow框架中常用函数介绍-tf.Variable()和tf.get_variable()用法及其区别 目录 tensorflow框架 tensorflow.Variable()函数 ...

  9. 转载:opencv中imshow函数运行中断的解决办法

    OpenCV中 imshow函数运行中断的解决方法 羊和咩咩 2017-03-10 16:00:49 5919 收藏 最后发布:2017-03-10 16:00:49首发:2017-03-10 16: ...

最新文章

  1. oracle do date,Oracle to_date函数的使用
  2. 阿里不让 MySQL 多表 Join ?我偏要!
  3. C/C++常用宏定义,注意事项,宏中#和##的用法
  4. [patl2-001]紧急救援
  5. 后台服务系统之编写服务消费方实现
  6. android 短信注册,Android注冊短信验证码功能
  7. python matplotlib模块教程_Python中的Matplotlib模块入门教程
  8. 使用Python标准库函数os.listdir()时的4个注意事项
  9. VALSE学习(八):矿视-轻量级深度模型的研究与实践
  10. 猎豹网校 ASP.NET全套教程
  11. 威纶触摸屏使用说明书_你不知道选择工业触摸屏还有这么多技巧?
  12. 算法复杂度-渐进分析 (Asymptotic Analysis)
  13. 人工智能在围棋程序中的应用
  14. 记录一下学习EFCore中的基础知识
  15. JFlow:真心服务中国IT产业
  16. Left-pad 分数 20作者 陈越单位 浙江大学
  17. python 聊天机器人 中文_ 小智,又一个中文聊天机器人
  18. Selenium-actions
  19. python人工智能面试题爱奇艺面试题_【爱奇艺Python面试】爱奇艺大数据面试 python-看准网...
  20. css小tips -- figcaption标签

热门文章

  1. js(Dom+Bom)第四天(1)
  2. 学习Nutch不错的系列文章
  3. JavaScript事件详解
  4. javascript --- 利用Sortable实现一个可视化公式编辑器
  5. 使用DataTable作为存储过程的参数
  6. 虹软免费人脸识别SDK注册指南
  7. Linux网络/firewalld和netfilter/netfilter/iptables语法
  8. 晶科电力打造山东省最大物流港分布式光伏项目
  9. 物联网安防技术融合在细分领域的应用分析
  10. gridview添加header