AttributeError:部分初始化的模块“cv2”没有属性“CascadeClassifier”(很可能是由于循环导入)

drw*_*wie 4 python opencv

我多年来一直在兜圈子,试图弄清楚这一点。为什么我会收到此属性错误?我尝试过使用绝对引用,但遇到了同样的问题。PyCharm 还突出显示了 CascadeClassifier、cvtColor 和 COLOR_BGR2GRAY,称它在 cv2.py 中找不到引用。我不确定更多信息是否与解决此问题相关,因此请询问是否需要更多信息。

import cv2
face_cascade = cv2.CascadeClassifier('read_only/haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('read_only/haarcascade_eye.xml')
grayed_images = []
for x in np_images:
    gray_img = cv2.cvtColor(x, cv2.COLOR_BGR2GRAY)
    grayed_images.append(gray_img)
    print(x)
Run Code Online (Sandbox Code Playgroud)

smt*_*tsp 7

如果我是正确的,那么您使用的环境与您运行的环境不同。

Step1:在命令行/终端中,您可以opencv-python在运行时看到pip list

运行python命令。复制您的代码,检查它是否有效(您可以简单地import cv2选择)

如果可行的话,我的想法应该是正确的。不然还有更大的事。

Step 2:(假设步骤 1 有效。)在 Pycharm 中,在 下Run > Edit Configurations,更改python interpreter为您所使用的具有 的解释器opencv

Step2 better alternative:在 Pycharm 上,打开terminal, pip install opencv-python. 之后你应该就有了 opencv。