我使用的是Ubuntu 16.04(64位)python2.7 Open CV 3.1.0 我已经按照下载开放简历额外模块存储库的步骤,通过 https://github.com/opencv/opencv_contrib, 但是我也犯了同样的错误,我也尝试使用最新的Open CV 3.2.0而不是3.1.0,但是我也犯了同样的错误:
AttributeError: 'module' object has no attribute 'createFisherFaceRecognizer'.
我的代码部分:
import numpy as np
import cv2
import sys
import os
class TrainFisherFaces:
def __init__(self):
cascPath = "haarcascade_frontalface_default.xml"
self.face_cascade = cv2.CascadeClassifier(cascPath)
self.face_dir = 'data'
self.face_name = sys.argv[1]
self.path = os.path.join(self.face_dir, self.face_name)
if not os.path.isdir(self.path):
os.mkdir(self.path)
self.model = cv2.createFisherFaceRecognizer()
我遵循了这里的说明: https://pypi.python.org/pypi/opencv-contrib-python
只需要做:pip安装opencv contrib python
另外,我不得不使用cv2.face.FisherFaceRecognizer_create()
我也有同样的问题,就这样解决了:
似乎createFisherFaceRecognizer()位于python的子模块cv2.face中。要访问它,您应该cv2.face.createFisherFaceRecognizer()。
来源:
改编自c++人脸识别教程example。我已经按照问题中描述的安装并测试了它。
相关问题 更多 >
编程相关推荐