谁能告诉我为什么下面的代码使用 waitKey(20) 以及这个 0xFF == ord('q') 是什么意思?

什拉万·哈尔
if cv2.waitKey(20) & 0xFF == ord('q'):

cv2.waitKey(20) & 0xFF什么意思?

斯特里泽尔

所述waitKey()函数等待的毫秒指定的量,然后返回被按下的键的代码,或-1,如果没有键被按下。

为了更好地理解表达式,让我们添加一些括号:

if (cv2.waitKey(20) & 0xFF) == ord('q')

&是一个按位和运算符,用于位掩码以仅获取最低八位(因为0xFF等于1111 1111二进制)。根据体系结构,waitKey()返回int通常是 32 位或 64 位整数的an 所以任何“多余”的位都被按位和“消除”了。ord()函数应该(!)返回其参数的序数值,即该'q'示例中的 ASCII 代码

换句话说:它等待 20 毫秒的按键按下并检查按下的键是否为 Q。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章