CV2 无法读取 MacBook Pro 上的网络摄像头

CV2 can't read Webcam on MacBook Pro

即使我授予了权限,OpenCV 也无法读取我的网络摄像头,并且 Mac 告诉我 Python 使用了我的网络摄像头。它显然正在捕获一些东西,我没有收到错误,但是预览 window 不会打开:

当我打开已下载的图片或 mp4 时,它没有任何问题。 我在 MacOS Big Sur.

上使用 Python 3.7 和 opencv-python-4.5.1.48

编辑:完全相同的代码在 BootCamp 中运行没有问题

由于未知原因,如果您使用 pip install opencv-python 安装 openCV,它将无法使用 macOS 的隐私政策。

您应该改用 brew 包

brew install opencv

# Brew will probably need to overwrite previous openCV installations
brew link --overwrite opencv

一旦您创建了 VideoCapture 对象,您的网络摄像头指示灯就会亮起[=13​​=]

import cv2

cap = cv2.VideoCapture(0)

尝试从终端打开您的应用程序:python path/to/app.py А window 将出现关于允许访问相机的信息。