【问题标题】:Unable to read video in MacBook Pro Catalina OS using OpenCV 4.1.1 VideoCapture无法使用 OpenCV 4.1.1 VideoCapture 在 MacBook Pro Catalina OS 中读取视频
【发布时间】:2020-02-12 17:26:18
【问题描述】:

我无法打开摄像机并读取帧。下面是 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(仅在上周升级)。

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

【问题讨论】:

  • 可能是这个已知的 JetBrains 平台问题youtrack.jetbrains.com/issue/IDEA-219288
  • 效果很好。我打开了一个终端并尝试运行一个需要视频权限的应用程序。然后我通过双击可执行文件来运行它,以便它打开一个终端。在发布更新的 PyCharm 之前,此解决方案是一个完美的解决方法。再次感谢您!

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


【解决方案1】:

我找到了解决方案。跳过接下来的 3-4 行以查看解决方案,而无需了解逻辑。

信息:

Mac OS/iOS/watches OS 上的每个应用程序在访问相机/麦克风/画廊等功能之前都需要用户的隐私权限。这些权限通常存储在属性列表文件中 "info.plist "。现在,由于此应用程序将在 mac 本身上运行,因此您需要在运行之前指定权限。

解决方案:

在你的 Mac 上转到以下内容:Finder -> Applications -> pycharm(右键单击以显示包内容) -> Contents -> 你会看到一个名为 info.plist 的文件(如果没有,请搜索它)

现在使用任何纯文本编辑器打开“info.plist”文件,然后将以下代码粘贴到最有可能位于第 4 或第 5 行的开始标记之后。

<key>Privacy - Camera Usage Description</key>
<string>py requires access to your camera.</string>

注意:如果您使用 Xcode 打开 plist 文件,它可能会在您不知道的 GUI 中打开。右键单击该文件并选择打开为 -> 源代码。

【讨论】:

  • 当我按照这个过程进行操作时,cv2 不再提示使用 cv2.VideoCapture().read() 的错误,但它实际上并没有捕获任何帧。 (cv2.VideoCapture().read() 返回 False,无)
【解决方案2】:

试试这对我有用[降级或升级到这个特定版本的 opencv]:pip install opencv-python==4.1.2.30

【讨论】:

    【解决方案3】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-16
      • 2014-04-30
      • 2013-04-28
      • 2021-03-22
      • 1970-01-01
      • 2018-02-27
      • 2019-05-18
      • 1970-01-01
      相关资源
      最近更新 更多