使用OpenCV 4.1.1 VideoCapture无法在MacBook Pro Catalina OS中读取视频

时间:2019-10-16 01:52:25

标签: 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()

我注意到成功为False,并且没有读取任何帧。我不确定在MacBook Pro上是否需要设置特定权限。我浏览了安全设置以及可访问性设置,但除了通常希望使用摄像机的应用程序以外,找不到其他任何东西。我也不知道是否需要,以及是否有某种方法可以打开Mac中的摄像机。我正在使用PyCharm,而我的macOS版本是10.15(仅在上周升级)。

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

2 个答案:

答案 0 :(得分:1)

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

信息:

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

解决方案:

在Mac上转到以下内容:Finder->应用程序-> pycharm(右键单击以显示软件包内容)->目录->您将看到一个名为info.plist的文件(如果没有,请搜索它)

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

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

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

答案 1 :(得分:1)

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