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

详解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 //通过与运算实现

猜你喜欢

转载自blog.csdn.net/wenhao_ir/article/details/127846185