为什么每次运行OpenCV函数时python脚本都会崩溃?

时间:2019-12-29 13:58:38

标签: python macos opencv

我使用的是MacBook Air,每当运行此代码时,系统就会在弹出窗口中显示一些错误,并显示如下长错误消息:

pop up window after running the code

在终端上显示:

  

“以退出代码134(被信号6:SIGABRT中断)结束的过程

代码如下:

import cv2
cap = cv2.VideoCapture(0)
while True:
    ret, frame = cap.read()
    cv2.imshow('frame',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

我尝试使用像PyCharm和VS Code这样的IDE。当我尝试使用Jupyter Notebook时,它一直工作到结束视频捕获为止,但是当我尝试终止视频窗口时,它又崩溃了。

2 个答案:

答案 0 :(得分:0)

您的内存可能已用完。

答案 1 :(得分:0)

我没有使用Catalina,也无法重现您的错误,但是从Mojave开始,Apple现在要求用户明确允许应用程序访问相机。

请参见Control access to your camera on Mac

  

某些应用程序和网站可以使用您的相机拍摄照片或视频。   您可以决定允许哪些应用在Mac上使用相机。

     
      
  1. 在Mac上,选择Apple菜单>“系统偏好设置”,单击“安全和隐私”,然后单击“隐私”。

  2.   
  3. 选择摄像机。

  4.   
  5. 选中应用旁边的复选框,以允许其访问您的相机。

         

    取消选择复选框以关闭该应用程序的访问权限。

  6.   

检查PyCharm和VS Code是否有权访问摄像机。此外,您的终端应该已经可以访问摄像头,因此,如果它可以在终端中使用,但不能在IDE中使用,则可以启用IDE的权限。