AttributeError Traceback (most recent call last) ~\AppData\Local\Temp\ipykernel_5544\2552335577.py in <module> 18 # 对数据进行LDA降维处理 19 labels = np.repeat(range(1, 41), 10) ---> 20 lda = cv2.face.createFisherFaceRecognizer() 21 lda.train(data, labels) 22 AttributeError: module 'cv2' has no attribute 'face'
时间: 2024-01-24 16:05:42 浏览: 210
排版标识-极品html课件(超全)
这个错误提示说明你使用的OpenCV版本不支持`cv2.face`模块,可能是因为你使用的是OpenCV 3.x版本,而`cv2.face`模块是在OpenCV 2.x版本中引入的。解决这个问题的方法有两个:
1. 如果你使用的是OpenCV 3.x版本,那么可以使用`cv2.face.createFisherFaceRecognizer()`的替代函数`cv2.face.FisherFaceRecognizer_create()`。修改代码如下:
```
# 对数据进行LDA降维处理
labels = np.repeat(range(1, 41), 10)
# lda = cv2.face.createFisherFaceRecognizer()
lda = cv2.face.FisherFaceRecognizer_create()
lda.train(data, labels)
```
2. 如果你需要使用`cv2.face`模块中的其他函数,那么可以考虑降低OpenCV的版本到2.x版本。可以通过以下命令来安装:
```
pip install opencv-python==2.x.x.x
```
其中,`2.x.x.x`是你需要安装的OpenCV版本号。安装完成后,就可以使用`cv2.face`模块中的函数了。
希望这个回答对你有所帮助。
阅读全文