首页 > 解决方案 > 网络摄像头未在辅助 Python 进程中打开(macOS Catalina)

问题描述

我最近升级了我的 MacBook 以运行 Catalina。这似乎破坏了网络摄像头对辅助进程的访问。

以下代码在 Mojave 上运行起来就像一个魅力,但不会让我在辅助过程中访问网络摄像头。

#!/usr/bin/env python3

from multiprocessing import Process

import cv2

def capture_cam(process):
    cap = cv2.VideoCapture(0)
    (ret, frame) = cap.read()
    print(process, ret)

p_cam = Process(target=capture_cam, args=['Secondary'])
p_cam.start()

p_cam.join()
capture_cam('Primary')

Catalina 下的输出是

$ export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
$ python test.py
Primary True

这个问题让我很好奇。我猜这与 10.15 中的新隐私设置有关。

标签: pythonopencvmacos-catalinawebcam-capture

解决方案


推荐阅读