【发布时间】:2021-09-19 22:36:42
【问题描述】:
我想使用 python 模块 face_recognition 编写带有 OpenCV 的猫识别器。
所以这段代码适用于humans面孔,使用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) 对猫有用吗?
任何帮助都是有用的!
【问题讨论】:
-
haar 级联通常基于模式识别的训练。您可能需要自己创建一个用于猫的训练。
-
我的程序使用 cat haarcascade 检测到猫,但是 face_recognition 没有识别出任何猫...
-
我认为haarcascade_frontalcatface只能用于猫检测。没有提及识别 - 这肯定需要更深入的训练数据。
-
是的。我不清楚。检测没有问题。问题是
face_recognition没有给出有效的编码。
标签: python python-3.x opencv face-recognition opencv-python