python-3.x - 在 OpenCV python 中使用 0xFF 和 keyWait(1)
问题描述
while(True):
img,frame=cap.read()
cv.imshow("preview",frame)
if cv.waitKey(1) & 0xFF==ord('q'):
break
以上是我用于访问相机的 python OpenCV 程序的片段。谁能解释当我在键盘上按下字符“q”时循环如何结束以及为什么使用 0xFF?
解决方案
根据关于 waitKey 函数的 openCV 文档,
它将至少等待延迟 ms,具体取决于当时您计算机上正在运行的其他内容。如果在指定的时间过去之前没有按下任何键,则返回被按下键的代码或 -1。
0xFF
是十六进制,转换为11111111
二进制。
&
是按位与运算符
这意味着0xFF & cv2.waitKey(1)
实质上返回由返回的值的最后 8 位cv2.waitKey()
。由于 waitKey 函数返回被按下的键的代码,因此它是被按下的键的最后 8 位。
即如果按下的键等于'q',则中断循环
推荐阅读
- python - Django - 页面重定向在保存后显示为空页面?
- javascript - 随着输入值的变化不断更新输出
- flutter - flutter web中如何处理Streambuilder和html元素?
- html - 如何在另一个选项卡中从 Google 扩展程序访问用户数据?
- android-intent - Android Studio 多重意图 | 我可以在一个安卓应用程序中做多个强度吗?Android Studio 的另一个意图不起作用
- angular - Cloud Firestore:查询集合以获取文档中存在的字符串的确切组合
- ios - 当我尝试通过 Bundle.main 访问它时,我的 plist 返回 nil,但我知道它在那里
- rust - 为什么弧
>)> 要求'a 是'静态的? - ios - React-Native iOS:RevanueCat 应用内购买订阅
- python - 带有 django 和 bootstrap 的动态轮播滑块