我正在尝试在我的mac中使用opencv和python来匹配对象.
但是我收到了这个错误.
OpenCV: Cannot Use FaceTime HD Kamera (Yerle?ik)
OpenCV: camera failed to properly initialize!
Segmentation fault: 11
Run Code Online (Sandbox Code Playgroud)
这也是我的代码.
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()
Run Code Online (Sandbox Code Playgroud)
我也尝试了一些东西.但它不起作用.
我的OpenCV脚本遇到了同样的问题.我建议通过内置应用程序(例如Photo Booth)测试相机.正如您在图像中看到的那样,未检测到相机.解决方案非常简单,我重新启动计算机或运行以下命令:sudo killall VDCAssistant
.
我的脚本在重新启动计算机后用于测试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
Run Code Online (Sandbox Code Playgroud)