我试图在macOS‘Big Sur’和Pycharm上使用OpenCV和python编写人脸识别应用程序,但不幸的是,它没有显示图像窗口/预览,并且在控制台中也没有显示任何错误,下面您可以检查代码:
import cv2
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
img = cv2.imread('news.jpg')
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
face = face_cascade.detectMultiScale(gray_img,
scaleFactor=1.05, minNeighbors=5)
for x, y, w, h in face:
img = cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 3)
resized = cv2.resize(img, (int(img.shape[1]/3), int(img.shape[0]/3)))
# cv2.startWindowThread()
# cv2.namedWindow("preview")
cv2.imshow('preview', img)
cv2.waitKey(0)
cv2.destroyWindow('preview')
我尝试过添加cv2.startWindowThread()、cv2.namedWindow(“预览”),甚至通过“pip3安装opencv python headless”安装headless,但它不起作用
替换行
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
与
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascade + 'haarcascade_frontalface_default.xml')
然后它就可以正常工作了
以下是最终代码:
问题似乎与macOS的“大苏尔”框架系统有关
该问题可通过以下方式解决: 1-删除我为这个特定项目创建的python环境 2-完全删除“自制啤酒” 3-使用python-3.9、OpenCV和“pip3安装OpenCV python headless”创建了一个新的python3环境,它成功了
相关问题 更多 >
编程相关推荐