OpenCV:无法使用FaceTime

时间:2016-11-21 11:32:42

标签: python opencv orb

我正在尝试在mac中使用opencv和python来匹配对象。

但是我收到了这个错误。

OpenCV: Cannot Use FaceTime HD Kamera (Yerleşik)
OpenCV: camera failed to properly initialize!
Segmentation fault: 11

这也是我的代码。

import numpy as np
import cv2
import time

ESC=27   
camera = cv2.VideoCapture(0)
orb = cv2.ORB_create()


while True:

    ret, imgCamColor = camera.read()
    imgCamGray = cv2.cvtColor(imgCamColor, cv2.COLOR_BGR2GRAY)
    kpCam = orb.detect(imgCamGray,None)
    kpCam, desCam = orb.compute(imgCamGray, kpCam)
    bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
    matches = bf.match(desCam,desTrain)
    good = []


    cv2.imshow('Camara', result)

    key = cv2.waitKey(20)                                 
    if key == ESC:
        break

cv2.destroyAllWindows()
camera.release()

我也试过了几件事。  但它无效。

4 个答案:

答案 0 :(得分:6)

我的OpenCV脚本遇到了同样的问题。我建议通过内置应用程序(例如Photo Booth)测试相机。正如您在图像中看到的那样,相机未被检测到。解决方案非常简单,我重新启动计算机或运行以下命令:sudo killall VDCAssistant

enter image description here

我的脚本用于在重新启动计算机后测试OpenCV

import cv2
cv2.namedWindow("preview")
vc = cv2.VideoCapture(0)

rval, frame = vc.read()

while True:

  if frame is not None:
     cv2.imshow("preview", frame)
  rval, frame = vc.read()

  if cv2.waitKey(1) & 0xFF == ord('q'):
     break

答案 1 :(得分:1)

杀死VDCAssistant进程!

打开活动监视器并杀死VDCAssistant

enter image description here

答案 2 :(得分:1)

如果您使用的是MAC,我实际上是通过在“系统偏好设置”的“安全性和隐私”部分中授予终端访问摄像机的权限来解决此问题的。希望这可以解决Mac中的问题 Click Here To View Steps

答案 3 :(得分:0)

我已经解决了这个问题。您应该授予 iTerm 或终端使用相机的权限

  1. 在 mac osx 上的系统首选项中转到安全和隐私 enter image description here

  2. 授予 iTerm 访问相机的权限 enter image description here