Maison >développement back-end >Tutoriel Python >Exemple de reconnaissance faciale en Python
Avec le développement continu de la technologie informatique, la technologie de l'intelligence artificielle a reçu de plus en plus d'attention et d'applications, parmi lesquelles la technologie de reconnaissance faciale est la direction la plus populaire. Python étant l’un des langages de programmation les plus populaires à l’heure actuelle, il est de plus en plus utilisé dans la reconnaissance faciale. Cet article présentera des exemples de reconnaissance faciale en Python.
1. OpenCV
OpenCV est une bibliothèque de vision par ordinateur open source qui fournit une variété de méthodes de traitement d'image et de vision par ordinateur basées sur des algorithmes. En Python, nous pouvons utiliser OpenCV pour implémenter la reconnaissance faciale.
Vous devez d'abord importer le module OpenCV :
import cv2
Ensuite, utilisez la fonction CascadeClassifier
fournie par OpenCV pour la reconnaissance faciale : CascadeClassifier
函数进行人脸识别:
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
其中,haarcascade_frontalface_default.xml
是OpenCV中提供的一个预训练模型,用于检测人脸。
接着,我们需要读取图像并进行处理:
img = cv2.imread('test.jpg') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
其中,test.jpg
是待处理的图片,cvtColor
函数将图像转换为灰度图像。
最后,在处理后的图像上进行人脸识别:
faces = face_cascade.detectMultiScale(gray, 1.3, 5) for (x,y,w,h) in faces: cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
其中,detectMultiScale
函数用于检测图像中的人脸,返回的是人脸框的坐标和大小。最后,我们使用rectangle
函数将人脸框画在原始图像上。
二、face_recognition
face_recognition是一个基于dlib和Python的人脸识别库,其使用了深度学习的方法进行人脸识别,具有较高的精度和鲁棒性。
使用前需要先安装face_recognition库:
pip install face_recognition
然后,我们需要读取图片并进行处理:
import face_recognition import matplotlib.pyplot as plt image = face_recognition.load_image_file("test.jpg") face_locations = face_recognition.face_locations(image) plt.imshow(image)
其中,face_recognition.load_image_file
函数用于读取图片,face_recognition.face_locations
函数用于对图片进行人脸位置的检测。
最后,我们可以在图像中标出人脸的位置:
import numpy as np import cv2 for face_location in face_locations: top, right, bottom, left = face_location cv2.rectangle(image, (left, top), (right, bottom), (0, 0, 255), 2) plt.imshow(image)
其中,cv2.rectangle
rrreee# 🎜🎜# Parmi eux, haarcascade_frontalface_default.xml
est un modèle pré-entraîné fourni dans OpenCV pour la détection de visages.
Ensuite, il faut lire l'image et la traiter :
rrreee Parmi eux, test.jpg
est l'image à traiter, cvtColor La fonction convertit une image en niveaux de gris.
detectMultiScale
permet de détecter les visages dans l'image, Ce qui est renvoyé, ce sont les coordonnées et la taille du cadre du visage. Enfin, nous utilisons la fonction rectangle
pour dessiner le cadre du visage sur l'image originale. #🎜🎜##🎜🎜#2. face_recognition#🎜🎜##🎜🎜#face_recognition est une bibliothèque de reconnaissance faciale basée sur dlib et Python. Elle utilise des méthodes d'apprentissage profond pour la reconnaissance faciale, avec une grande précision et robustesse. #🎜🎜##🎜🎜#Vous devez installer la bibliothèque face_recognition avant utilisation : #🎜🎜#rrreee#🎜🎜#Ensuite, nous devons lire l'image et la traiter : #🎜🎜#rrreee#🎜🎜#Parmi eux , La fonction face_recognition.load_image_file
est utilisée pour lire les images, et la fonction face_recognition.face_locations
est utilisée pour détecter les emplacements des visages dans les images. #🎜🎜##🎜🎜#Enfin, on peut marquer la position du visage dans l'image : #🎜🎜#rrreee#🎜🎜#Parmi eux, la fonction cv2.rectangle
permet de marquer l'image originale Un cadre rectangulaire est dessiné pour indiquer la position du visage. #🎜🎜##🎜🎜#Conclusion#🎜🎜##🎜🎜#Le champ d'application de la technologie de reconnaissance faciale devient de plus en plus étendu. Python, en tant que l'un des langages de programmation les plus populaires à l'heure actuelle, donne également d'excellents résultats. dans le domaine de la reconnaissance faciale. Les deux exemples présentés ci-dessus, grâce à l'application d'OpenCV et de la bibliothèque face_recognition, nous permettent de réaliser la fonction de reconnaissance faciale plus facilement et plus rapidement. #🎜🎜#Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!