【发布时间】:2021-04-03 01:25:41
【问题描述】:
我正在尝试在 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("preview") 甚至通过“pip3 install opencv-python-headless”安装无头,但它不起作用。
【问题讨论】:
-
headless 包肯定不会显示任何 GUI,因为 headless 意味着没有 GUI。这个问题与 Big Sur 有关吗?
-
请发布运行脚本时控制台输出的副本。在程序末尾添加
print("hello world")以确保控制台输出确实有效。 -
@ChristophRackwitz 我已经阅读过它并且在大多数情况下安装 HEADLESS 完全解决了问题,并且控制台中没有任何显示,没有错误,没有提示,绝对没有。我在不同的地方添加了打印语句,所有这些都在控制台中打印出来了。
-
听起来像是 MacOS 甚至 Big Sur 特有的问题。您的代码适用于其他平台。你能检查一下代码是否适用于以前版本的 MacOS、python 和两者吗?
-
@ChristophRackwitz 是的,问题似乎与 macOS 有关,但似乎我已经解决了。
标签: python opencv face-recognition