module 'cv2.dnn' has no attribute 'FisherFaceRecognizer_create'
时间: 2023-10-12 14:05:22 浏览: 205
这个错误通常是因为 OpenCV 版本较旧导致的。在旧版本的 OpenCV 中,使用 FisherFaceRecognizer_create() 函数来创建 Fisherfaces 人脸识别器,但在新版本的 OpenCV 中已经被弃用了。
可以尝试更新 OpenCV 到最新版本,或者使用其他人脸识别算法,如 Eigenfaces 或 LBPH。同时,也可以尝试使用 cv2.face.createFisherFaceRecognizer() 来代替 FisherFaceRecognizer_create()。
相关问题
LayerId = cv2.dnn.DictValue AttributeError: module 'cv2.dnn' has no attribute 'DictValue'
根据提供的引用内容,可以看出在使用OpenCV的dnn模块时,出现了AttributeError: module 'cv2.dnn' has no attribute 'DictValue'的错误。这是因为在OpenCV 4.0及以上版本中,DictValue已被弃用,取而代之的是dnn_Net.getLayerId()方法。因此,您可以使用以下代码来替换LayerId = cv2.dnn.DictValue:
```python
LayerId = net.getLayerId(layer_name)
```
其中,layer_name是您要查找的层的名称,net是您的神经网络模型。
AttributeError: module 'cv2.dnn' has no attribute 'DNN_BACKEND_CUDA'
这个错误通常是由于 OpenCV 版本不兼容导致的。`cv2.dnn.DNN_BACKEND_CUDA` 属性是在 OpenCV 4.2.0 版本中引入的,如果你的版本低于这个版本,就会出现此错误。
你可以通过升级 OpenCV 来解决此问题。如果你使用的是 pip 安装的 OpenCV,可以运行以下命令升级到最新版本:
```
pip install --upgrade opencv-python
```
如果你使用的是 conda,则可以运行以下命令:
```
conda install -c conda-forge opencv
```
请确保你的计算机上已经安装了适当的 CUDA 驱动程序和 CUDA 工具包,以便使用 GPU 加速。
阅读全文