OpenCV学习笔记(12):waitKey函数与Sleep函数的不同

本文探讨了在OpenCV中waitKey函数与Sleep函数的区别。waitKey函数主要用于配合imshow显示图片,其延迟作用局限于OpenCV窗口,并不能实现程序暂停;而Sleep函数则能真正暂停程序,适用于需要等待的场景。通过示例展示了如何使用Sleep实现时间刷新程序。
摘要由CSDN通过智能技术生成


1 前言

初学OpenCV的时候,会学到一个waitKey 函数,用来做图片显示延时。最近在做一个Qt&OpenCV的项目,需要在一个while循环中做程序暂停,于是就想到了waitKey函数,就直接简单粗暴用这个函数作为循环暂停的时间计时函数,但后面发现结果不对,经过一整天的debug才发现,这个waitKey并不能起到暂停的功能。仔细读了文档,才发现waitKey并不能单纯的作为时间暂停函数

2 waitKey函数与Sleep函数

众所周知,使用OpenCV的imshow函数显示图片,必须配合waitKey 函数使用,才能将图片显示在windows窗体上。否则,imshow 函数单独使用只能弹出空白窗体,而无法显示图片。
  waitKey的函数原型如下:

CV_EXPORTS_W int waitKey(int delay = 0);  

官方文档介绍如下:

@brief Waits for a pressed key.

@param delay Delay in milliseconds. 0 is the special value that means “forever”.

即,通过一个毫秒为单位的整型参数或者按键事件来决定窗体图片的显示时间。那么,waitKey能否作为一个程序等待函数呢?
  答案是 不能
  waitKey 函数给人的感觉是能够执行程序暂停功能,但遗憾的是,该函数仅对GUI窗体有效,官方文档中有一句注意事项

@note

The function only works i

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值