AttributeError:“module”对象没有属性“createFisherFaceRecognizer”

2024-04-22 16:38:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是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()

Tags: pathnameimportselfos错误dirsys
3条回答

我遵循了这里的说明: https://pypi.python.org/pypi/opencv-contrib-python

只需要做:pip安装opencv contrib python

另外,我不得不使用cv2.face.FisherFaceRecognizer_create()

我也有同样的问题,就这样解决了:

self.model = cv2.face.FisherFaceRecognizer_create()

似乎createFisherFaceRecognizer()位于python的子模块cv2.face中。要访问它,您应该cv2.face.createFisherFaceRecognizer()

来源

改编自c++人脸识别教程example。我已经按照问题中描述的安装并测试了它。

相关问题 更多 >