Home > Backend Development > Python Tutorial > How to use Python to perform face recognition on pictures

How to use Python to perform face recognition on pictures

WBOY
Release: 2023-08-25 20:46:42
Original
1470 people have browsed it

How to use Python to perform face recognition on pictures

How to use Python to perform face recognition on pictures
Face recognition is an important technology in the field of computer vision. It can identify faces in images or videos and identify them. To classify or identify. Python is a widely used programming language that, when used with corresponding libraries, can implement simple but efficient face recognition. This article will introduce how to use Python and the OpenCV library to perform face recognition on pictures.

First, we need to install the OpenCV library in Python. It can be installed by running the following command in the terminal:

pip install opencv-python
Copy after login

Once the installation is complete, we can start writing Python code. First, import the required libraries:

import cv2
import matplotlib.pyplot as plt
Copy after login

Next, we will load the image we need for face recognition:

image = cv2.imread('image.jpg')
Copy after login

After loading the image, we need to convert it to a grayscale image, Because in face recognition, we only focus on the shape and structure of the face, not the color:

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Copy after login

Next, we need to use OpenCV’s cascade classifier, which is a face based on Haar features recognition algorithm. OpenCV already provides some pretrained cascade classifier models that we can use directly. In this example, we will use the "haarcascade_frontalface_default.xml" model:

face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
Copy after login

Next, we will use the above cascade classifier to detect faces in the image:

faces = face_cascade.detectMultiScale(gray, 1.1, 4)
Copy after login

detectMultiScale function Will return an array consisting of face bounding boxes (rectangles). We can operate on these bounding boxes as needed, such as drawing rectangles in the image to mark faces.

for (x, y, w, h) in faces:
    cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2)
Copy after login

Finally, we will display the image with the tagged face:

plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.axis('off')
plt.show()
Copy after login

By putting the above code blocks together, we can implement a complete face recognition program. Here is the complete code example:

import cv2
import matplotlib.pyplot as plt

image = cv2.imread('image.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
faces = face_cascade.detectMultiScale(gray, 1.1, 4)

for (x, y, w, h) in faces:
    cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2)

plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.axis('off')
plt.show()
Copy after login

By running the above code, we can see the image with the face recognized and tagged. This is just a basic example of face recognition, and more complex algorithms and models may be needed in real applications. But with the help of OpenCV, Python has become one of the powerful tools for face recognition tasks.

To summarize, this article introduces the basic steps and code examples of using the OpenCV library for face recognition in Python. I hope this article will help you understand the principles and practices of face recognition, and also stimulate your interest in further exploring the field of computer vision.

The above is the detailed content of How to use Python to perform face recognition on pictures. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template