macos - cv2.waitKey(0) 不起作用,OpenCV 3.1.0,Mac OS X 10.11.6,Python 2.7.12

标签 macos python-2.7 break opencv3.0

我的 python 程序末尾有这两条语句:

cv2.waitKey(0)
cv2.destroyAllWindows()

不知何故,cv2.waitKey(0) 不起作用,对键盘输入 0 没有响应,要结束我的程序,我必须关闭 Mac 终端窗口。

我尝试了以下方法来解决该问题

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

然后我收到了这条消息: 语法错误:“中断”外部循环

不知道出了什么问题。我使用的是 Macbook Air,Mac OS X 10.11.6 请帮忙。

谢谢

最佳答案

需要明确的是,waitKey(0) 并不意味着键盘输入“0”将终止程序。这意味着您的程序将无限期地等待您按下某个键,然后再执行下一行代码。

waitKey(30) 表示程序将等待 30 毫秒,让您按下某个键,然后继续执行。

至于'break'外部循环错误,从根本上来说,您在'for'或'while'循环内部使用'break'关键字只是为了停止循环。因此,如果代码中涉及循环,您需要确保调用“break”,如下所示:

while True:
       #do your thing
       if cv2.waitKey(0) & 0xFF == ord('q'):
           break #this loop will break if you press 'q', else it'll wait

假设您的程序中没有循环,然后将“break”语句替换为“return”语句

关于macos - cv2.waitKey(0) 不起作用,OpenCV 3.1.0,Mac OS X 10.11.6,Python 2.7.12,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40251980/

相关文章:

java - 如何在 Java 中返回而不是中断

objective-c - Mac 编程 : Command-TAB - How does this build the application list?

Python 从字符串调用函数

python - 时间分组者 时间分组者

F# 中断 while 循环

HTML 关于换行符?

macos - iCloud 的照片流 API?

ios - cocoapods activesupport 冲突 ios 开发

macos - 如何允许在 minikube 节点内使用私有(private)不安全注册表?

python-2.7 - 用于访问 CalDAV 服务器的 Python 库