Mac“中止” OpenCV Python脚本

DJL*_*d97 3 python opencv macos-mojave

所以我只是试图运行基本的OpenCV程序

    import numpy as np
    import cv2

    cap = cv2.VideoCapture(0)

    while(True):
        # Capture frame-by-frame
        ret, frame = cap.read()

        # Our operations on the frame come here
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2BGRA)

        # Display the resulting frame
        cv2.imshow('frame',frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    # When everything done, release the capture
    cap.release()
    cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

但是由于某种原因,当我尝试运行它(使用python 2或3)时,我得到了这个奇怪的中止语句

    [1]    74309 abort      python3 index.py
Run Code Online (Sandbox Code Playgroud)

(我猜5位数是PID),但是,如果我在VideoCapture函数中传递到现有视频的路径,则它确实可以工作。我是所有这方面的初学者,所以我不确定是什么问题

谢谢 :)

DJL*_*d97 5

我找到了解决方案!我尝试使用Mac随附的默认终端运行脚本,并且可以正常工作:)因此,似乎我使用的第三方终端(iTerm)出现了一些奇怪的问题

  • 这可能是因为Apple的终端应用程序有权访问摄像机,而iTerm则未被授权。检入系统偏好设置=>隐私=>检查获得访问摄像机权限的应用程序。我仍在寻找一种方法来授权VSCode,因为在Mac OS寻求许可之前python崩溃了(Abort陷阱6)。 (3认同)