recognizer = cv2.face.EigenFaceRecognizer_create() AttributeError: module 'cv2' has no attribute 'face'
这个错误通常是因为您的OpenCV版本不支持面部识别模块(cv2.face)导致的。您可以尝试更新OpenCV版本或使用其他面部识别库。如果您正在使用较旧的OpenCV版本,则可以通过使用以下命令安装带有face模块的OpenCV版本来解决此问题:
pip install opencv-contrib-python
这将安装带有face模块的最新版本的OpenCV。如果问题仍然存在,请检查安装的OpenCV版本是否支持面部识别模块。
line 25, in <module> recognizer = cv2.face.LBPHFaceRecognizer_create() AttributeError: module 'cv2' has no attribute 'face'
在第25行遇到 AttributeError: module 'cv2' has no attribute 'face'
这个错误,意味着您尝试导入的cv2模块中并没有名为face
的属性。在OpenCV 4.x版本中,人脸识别的部分已经被迁移到了cv2.face_recognition
模块下,而不是直接的cv2.face
。解决这个问题,您应该将LBPHFaceRecognizer_create()
替换为cv2.face_recognition.createLBPHFaceRecognizer()
。这是修改后的代码示例:
import cv2
recognizer = cv2.face_recognition.createLBPHFaceRecognizer()
确保您的OpenCV安装包含了面部识别的相关功能。如果还没安装,您可以安装额外的面部识别包,例如opencv-contrib-python-headless
,然后重新加载库。记得更新导入语句:
pip install opencv-contrib-python-headless
重新导入并确认是否解决了该问题:
import cv2
# ...其他代码...
recognizer = cv2.face.LBPHFaceRecognizer_create() AttributeError: 'module' object has no attribute 'LBPHFaceRecognizer_create'
这个错误通常是由于OpenCV版本问题引起的。在OpenCV 4.0及以上版本中,创建LBPHFaceRecognizer的方法已经改变,必须使用cv2.face.LBPHFaceRecognizer_create()
。而在OpenCV 3.x版本中,可以使用cv2.face.createLBPHFaceRecognizer()
。
你可以通过以下代码检查OpenCV版本:
import cv2
print(cv2.__version__)
如果输出的版本号是4.0及以上,那么你应该使用cv2.face.LBPHFaceRecognizer_create()
创建对象。如果输出的版本号是3.x,那么你应该使用cv2.face.createLBPHFaceRecognizer()
创建对象。
相关推荐
















