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

时间:2020-11-01 17:00:03

标签: python cv2

多年来,我一直在兜圈子,试图弄清楚这一点。为什么会出现此属性错误?我尝试使用绝对引用,并得到相同的问题。 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)

1 个答案:

答案 0 :(得分:2)

如果我是对的,则说明您所使用的环境与运行环境不同。

Step1:在命令行/终端中,在运行opencv-python时看到pip list的地方:

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

如果可行,我的想法应该是正确的。否则,会有更大的东西。

Step 2:(假设step1起作用。)在Pycharm的Run > Edit Configurations下,将python interpreter更改为拥有opencv的解释器。

Step2 better alternative:在Pycharm上,打开terminalpip install opencv-python。之后,您应该拥有opencv。