我想使用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
)为猫工作?
任何帮助都是有用的!
1条答案
按热度按时间aij0ehis1#
查看haarcascade_frontalcatface.xml的源代码:
使用haar基本特征集(即水平和垂直特征,但不是对角线特征)的正面cat人脸检测器。
已知的限制:假设一个直立的主体。在猫的脸可能侧着或倒置的情况下(例如猫翻滚),尝试输入图像的各种旋转。
您的输入数据是否符合这些期望?