无法通过OpenCV python打开Mac网络摄像头

无法通过OpenCV python打开Mac网络摄像头,python,opencv,computer-vision,pycharm,opencv-python,Python,Opencv,Computer Vision,Pycharm,Opencv Python,我是opencv新手,试图通过opencv python访问Macbook的内置摄像头,但它给出了一个错误 import cv2 frameWidth = 640 frameHeight = 480 cap = cv2.VideoCapture(0) cap.set(3, frameWidth) cap.set(4, frameHeight) cap.set(10,150) while True: success, img = cap.read() cv2.imshow("Res

我是opencv新手,试图通过opencv python访问Macbook的内置摄像头,但它给出了一个错误

import cv2

frameWidth = 640
frameHeight = 480
cap = cv2.VideoCapture(0)
cap.set(3, frameWidth)
cap.set(4, frameHeight)
cap.set(10,150)

while True:
   success, img = cap.read()
   cv2.imshow("Result", img)
   if cv2.waitKey(1) & 0xFF == ord('q'):
       break


我想提两个建议

#1:启用终端或PyCharm以到达摄像头


  • 转到
    系统首选项
    ->
    安全和隐私
    ->
    摄像头
    并将PyCharm添加到列表中

#2而不是
while True
使用
while cap.isOpened()
,这样您就可以知道
PyCharm
终端可以访问您的相机

  • 导入cv2
    帧宽=640
    框架高度=480
    cap=cv2.视频捕获(0)
    封盖套件(3,框架宽度)
    盖组件(4,框架高度)
    第二套(10150)
    而cap.isOpened():
    成功,img=cap.read()
    如果成功:
    cv2.imshow(“结果”,img)
    如果cv2.waitKey(1)&0xFF==ord('q'):
    打破
    

    • 什么是
      上限设置(10150)
      ?尽量避免像那样难看的常量,并使用为您定义的参数名。您如何调用它?我在工作中被告知,苹果最近禁止任何未经
      苹果开发者签署的东西访问任何外围设备。这给我们带来了问题,因为它不会让Audacity访问麦克风。我们必须围绕它构建一个shell脚本包装器。Bash的签名是为了允许名为audacity的Bash脚本访问麦克风;我从来没有让他们工作过。取而代之的是,也许考虑从AvcCaseStand中发送流,并将各个帧发送到您的函数。毕竟,视频仅仅是一系列单独的图像。尝试使用UIIGETIEMAT函数(可能需要使用C++库)。
      
      Traceback (most recent call last):
        File "/Users/hasanaktas/PycharmProjects/OpencvPython/project3.py", line 12, in <module>
          cv2.imshow("Result", img)
      cv2.error: OpenCV(4.2.0) /Users/travis/build/skvark/opencv-python/opencv/modules/highgui/src/window.cpp:376: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'imshow'
      
      
      cap.release()
      cv2.destroyAllWindows()