【发布时间】:2019-08-10 01:18:13
【问题描述】:
我有一个 test1.jpg - 它是原始图像,包含我们需要找到的面孔。
我的 test2.jpg 是一些要检查的图像。我们需要在 test2.jpg 中检查来自 test1.jpg 的人脸,如果 test1.jpg 中的某些人脸存在于 test2 .jpg 输出 true。
我之前没有在 OpenCV 和它对我来说是新技术方面的经验。
我非常简单的代码:
# faces which we need find
known_image = cv2.imread('test1.jpg')
# some random image
unknown_image = cv2.imread('test2.jpg')
gray_known = cv2.cvtColor(known_image, cv2.COLOR_BGR2GRAY)
gray_unknown = cv2.cvtColor(unknown_image, cv2.COLOR_BGR2GRAY)
faceCascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
known_faces = faceCascade.detectMultiScale(
gray_known,
scaleFactor=1.27,
minNeighbors=5,
minSize=(10, 10),
flags = cv2.CASCADE_SCALE_IMAGE
)
print("Found known {0} faces!".format(len(known_faces)))
unknown_faces = faceCascade.detectMultiScale(
gray_unknown,
scaleFactor=1.27,
minNeighbors=5,
minSize=(10, 10),
flags = cv2.CASCADE_SCALE_IMAGE
)
print("Found unknown {0} faces!".format(len(unknown_faces)))
# BELLOW NOT CORRECT CODE. I DONT KNOW HOW I CAN DO LIKE THIS:
for face in known_faces:
if face in unknown_faces:
print(TRUE)
break
【问题讨论】:
标签: python opencv face-detection face-recognition