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

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