昊虹AI笔记网

 找回密码
 立即注册
搜索
查看: 802|回复: 0
收起左侧

详解OpneCV的按键值获取函数waitKey()及使用中需要注意的地方

[复制链接]

239

主题

241

帖子

931

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
931
昊虹君 发表于 2022-11-14 13:52 | 显示全部楼层 |阅读模式
详解OpneCV的按键值获取函数waitKey()及使用中需要注意的地方

函数waitKey()用于获取键盘输入值,其返回值便是键盘的输入值,可设置等待的时间,在等待的时间内,程序将处于“暂停”状态。

其C++原型如下:
  1. int cv::waitKey(int delay = 0)
复制代码

Python原型如下:
  1. retval=cv.waitKey([, delay])
复制代码


其返回值为按键的编码值,如果在等待时间范围内没有键按下,则返回-1。

重点介绍下参数delay。
delay值代表等待多久获取键盘的编码值,单位为毫秒。
当delay为0或负值时,表示一直等待,此处程序表现为完全暂停,直到有键盘按下。

使用中要注意:
在不同的标准和应用环境中,同一个按键获取到的值有可能不同,但不管怎么样,这些值二进制的最后八位都是相同的。所以为了增强程序的兼容性,获取到的键值我们通常只取其二进制表示的最后八位。
有下面两种方式取其返回值二进制表示的最后八位。
第一种方式:
  1. char(waitKey(delay) //强制类型转换为char类型,只取第8位以下的值
复制代码

第二种方式:
  1. waitKey(delay) & 0xFF //通过与运算实现
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|昊虹AI笔记网 ( 蜀ICP备2024076726 )

GMT+8, 2024-5-18 12:41 , Processed in 0.025118 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表