You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解释cv2.waitKey(1) & 0xFF == ord('q')中0xFF与ord的含义

OpenCV按键检测语句逐段技术解释

涉及的核心代码片段:

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

各部分的具体作用如下:

  • cv2.waitKey(1):OpenCV的内置接口,参数传入等待键盘事件的超时时间(单位为毫秒),这里传1代表仅阻塞等待1毫秒,用于刷新图像帧的同时捕获按键输入。该接口的返回值是触发按键对应的整数编码,但不同操作系统、不同OpenCV编译版本下,返回值的高位可能携带非按键编码的状态位,存在冗余数据。
  • & 0xFF:0xFF对应8位全1的二进制掩码(十进制值255),和waitKey的返回值做按位与运算后,会把返回值除最低8位之外的所有高位全部清零,仅保留有效按键编码对应的低8位数据,彻底规避不同环境下高位冗余数据导致的判断错误,保证跨平台兼容性。
  • ord('q'):Python内置函数,作用是返回输入单个字符对应的标准整数编码,在ASCII兼容场景下直接返回字符的ASCII码值。这里传入字符'q',会返回小写q对应的ASCII码113,用这个写法代替直接写硬编码数值113,能大幅提升代码可读性,也避免编码值记错的问题。

补充说明:如果省略& 0xFF直接做相等判断,在部分64位系统、旧版本OpenCV环境下会出现按键匹配失效的问题,这行掩码运算是OpenCV按键检测的通用兼容写法。

内容的提问来源于stack exchange,提问作者anish kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 13:12:18