如何使用 cv2.face 和 cv2 通过使用 QT 创建 window 而不会出错?

How can I use cv2.face and cv2 with creating a window by using QT, without getting errors?

我想使用 openCV,但是使用不同的 openCV 版本我会得到不同的错误。

例如,当我使用 pip install opencv-python-headless 代码时:

import cv2

img = cv2.imread('lena.jpg', -1)

cv2.imshow('image', img)
cv2.waitKey(5000)
cv2.destroyAllWindows()

工作正常。但是当我想使用 face 属性时,它崩溃并出现错误

Traceback (most recent call last):
  File "main.py", line 9, in <module>
    print(cv2.face.LBPHFaceRecognizer_create())
AttributeError: module 'cv2.cv2' has no attribute 'face'

要解决这个问题,我需要使用 sudo python3 -m pip install opencv-contrib-python 安装 openCV。但是如果我现在执行上面的脚本,错误

qt.qpa.plugin: Could not find the Qt platform plugin "cocoa" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

出现。

那么我怎样才能避免这两个错误呢?

编辑: 正常安装 pip install opencv-python 两个错误都会出现。所以它找不到 face 属性并且无法使用 QT

创建 window

原来最新的opencv-python版本坏了,只需要pip install opencv-contrib-python==4.1.0.25