python - 无法使用 OpenCV 4.1.1 VideoCapture 在 MacBook Pro Catalina 操作系统中读取视频

标签 python python-3.x opencv pycharm macos-catalina

我无法打开摄像机并读取帧。下面是Python代码。

import cv2 as cv

cap = cv.VideoCapture()
while True:
    success, frame = cap.read()
    ... do something with the frame ...
    ... break on a certain key ...

cap.release()

我注意到 success 是 False 并且没有读取任何帧。我不确定是否需要在 MacBook Pro 上设置特定权限。我探索了安全设置和辅助功能设置,但除了通常期望使用摄像机的应用程序之外找不到任何其他设置。我也不知道是否需要,以及是否有某种方法可以打开 Mac 中的摄像机。我正在使用 PyCharm,我的 macOS 版本是 10.15(上周才升级)。

我当前的解决方法是将视频播放到文件中并读取该文件。这样可行。如果您有任何建议让我尝试,我会立即这样做。谢谢。

最佳答案

你的错误信息是什么?我无法使用 python-opencv 在 MacOS 上打开摄像机,错误消息是:

error: (-215:Assertion failed) !info.backendFactory.empty() in function 'open'

我在初始化相机时添加了一个参数cv2.CAP_AVFOUNDATION并且它可以工作。

cap = cv.VideoCapture(0, cv2.CAP_AVFOUNDATION)

关于python - 无法使用 OpenCV 4.1.1 VideoCapture 在 MacBook Pro Catalina 操作系统中读取视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58404700/

相关文章:

python - 如果条件为真,则从嵌套列表中删除列表

python - 为 DATETIME 创建 cx_Oracle arrayvar

python - 使用 sklearn 预处理 Label Binarizer 的一种热编码

python - 无法找到 vcvarsall.bat 错误

android - JNI,NDK和OpenCV

python - OpenCV - 对于 cv2.imread,numpy 数组是 'bad argument type'?

opencv - 垫子单 channel 元件访问

python - 括号类型的变化改变了返回的类型

python - 在字典列表中复制字典对(键,值)并尊重顺序的有效方法

python - 如何在完美中为 control_flow 分配名称?