python - ord ('q' ) 和 0xFF 的用法

标签 python opencv

我无法理解以下代码片段-

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

在这段代码中——
    1 import numpy as np
    2 import cv2
    3 
    4 cap = cv2.VideoCapture(0)
    5 
    6 while(True):
    7     # Capture frame-by-frame
    8     ret, frame = cap.read()
    9 
   10     # Our operations on the frame come here
   11     gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
   12 
   13     # Display the resulting frame
   14     cv2.imshow('frame',gray)
   15     if cv2.waitKey(1) & 0xFF == ord('q'):
   16         break
   17 
   18 # When everything done, release the capture
   19 cap.release()
   20 cv2.destroyAllWindows()

ord('q') 和 0xFF 是什么意思?这里是如何使用的?

最佳答案

  • ord('q')返回 q
  • 的 Unicode 代码点
  • cv2.waitkey(1)返回与按下的键对应的 32 位整数
  • & 0xFF是一个位掩码,它将左 24 位设置为零,因为 ord()返回一个介于 0 和 255 之间的值,因为您的键盘只有有限的字符集
  • 因此,一旦应用了掩码,就可以检查它是否是相应的键。
  • 关于python - ord ('q' ) 和 0xFF 的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53357877/

    相关文章:

    python - 了解 "invalid decimal literal"

    Python:降低 RGB 颜色的亮度

    python - 为 CSV 阅读器引用 Python 字典中的键

    python - 从数据类继承而不指定子类'__init__中的所有内容?

    java - 在图像识别尝试中获取空指针

    python - 在 Google Cloud Composer 中浏览 DAG 任务信息时,Airflow 抛出与时区相关的 TypeError

    c++ - 内存中的OpenCV jpeg格式图片

    c++ - OpenCV HoughCircles

    linux - cv2 imdecode不返回任何base64字符串

    opencv - 相机校准后在哪里应用相机矩阵和畸变系数值在新的应用程序?