如何使用opencv编写cat识别器?

2admgd59  于 2021-09-08  发布在  Java
关注(0)|答案(1)|浏览(376)

我想使用python模块用opencv编写一个cat识别器 face_recognition .
因此,该代码适用于人脸,使用 haarcascade_frontalface_default.xml . (这是培训计划)。

imagePaths = list(paths.list_images("recognition/dataset"))

knownEncodings = []
knownNames = []

# For each image, we analyze the face on it

for (i, imagePath) in enumerate(imagePaths):

    name = imagePath.split(os.path.sep)[-2]

    image = cv2.imread(imagePath)
    rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

    boxes = face_recognition.face_locations(rgb, model="hog")

    encodings = face_recognition.face_encodings(rgb, boxes)

    for encoding in encodings:
        knownEncodings.append(encoding)
        knownNames.append(name)

data = {"encodings": knownEncodings, "names": knownNames}

# We save the data in a file

f = open("recognition/encodings.pickle", "wb")
f.write(pickle.dumps(data))
f.close()

我试着用 haarcascade_frontalcatface.xml ,以识别猫。我录下了我的猫,但是识别程序没有使用 encodings.pickle . python没有抛出任何错误。这个项目对人类很有效。
这个模块有用吗( face_recognition )为猫工作?
任何帮助都是有用的!

aij0ehis

aij0ehis1#

查看haarcascade_frontalcatface.xml的源代码:
使用haar基本特征集(即水平和垂直特征,但不是对角线特征)的正面cat人脸检测器。
已知的限制:假设一个直立的主体。在猫的脸可能侧着或倒置的情况下(例如猫翻滚),尝试输入图像的各种旋转。
您的输入数据是否符合这些期望?

相关问题