opencv关于cv2.waitKey(1000//12)&0xff == ord("q")

在我们学习opnecv时,会出现这样一段代码

        if cv2.waitKey(1000//12)&0xff == ord("q") :
            break

这段代码,让我困惑了一晚上,现在我终于看懂了,所以写下来

首先我们要注意的是上边这个式子会先进行&运算再进行==运算

cv2.waitKey()这个函数是在一个给定的时间内(单位ms)等待用户按键触发,如果用户没有按下按键,则继续等待(循环)
0xff就是一个16进制的数,转换成二进制就是8个1,像这样1111 1111 占八个位,这样和waitKey()进行与运算后,就将其八位之前的所有数都变成了0
ord(“q”)是将q转换成ASCII码值,这样和刚刚算出来的值(也就是waitKey()函数的后八位)进行比较,如果相等就break

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章