详解OpneCV的按键值获取函数waitKey()及使用中需要注意的地方
函数waitKey()用于获取键盘输入值,其返回值便是键盘的输入值,可设置等待的时间,在等待的时间内,程序将处于“暂停”状态。
其C++原型如下:
int cv::waitKey(int delay = 0)
Python原型如下:
retval=cv.waitKey([, delay])
其返回值为按键的编码值,如果在等待时间范围内没有键按下,则返回-1。
重点介绍下参数delay。
delay值代表等待多久获取键盘的编码值,单位为毫秒。
当delay为0或负值时,表示一直等待,此处程序表现为完全暂停,直到有键盘按下。
使用中要注意:
在不同的标准和应用环境中,同一个按键获取到的值有可能不同,但不管怎么样,这些值二进制的最后八位都是相同的。所以为了增强程序的兼容性,获取到的键值我们通常只取其二进制表示的最后八位。
有下面两种方式取其返回值二进制表示的最后八位。
第一种方式:
char(waitKey(delay) //强制类型转换为char类型,只取第8位以下的值
第二种方式:
waitKey(delay) & 0xFF //通过与运算实现
本文详细解读OpenCV库中的waitKey()函数,包括其工作原理、参数delay的作用以及如何处理不同环境下的键值兼容问题。特别介绍了获取键值的两种方式,确保程序的跨平台稳定性。
5万+

被折叠的 条评论
为什么被折叠?



