Rumah > pembangunan bahagian belakang > Tutorial Python > Contoh pengecaman muka dalam Python

Contoh pengecaman muka dalam Python

WBOY
Lepaskan: 2023-06-11 08:57:46
asal
1220 orang telah melayarinya

Dengan perkembangan teknologi komputer yang berterusan, teknologi kecerdasan buatan telah mendapat lebih banyak perhatian dan aplikasi, antaranya teknologi pengecaman muka adalah arah yang paling popular. Sebagai salah satu bahasa pengaturcaraan yang paling popular pada masa ini, Python semakin digunakan dalam pengecaman muka. Artikel ini akan memperkenalkan contoh pengecaman muka dalam Python.

1. OpenCV

OpenCV ialah perpustakaan penglihatan komputer sumber terbuka yang menyediakan pelbagai kaedah pemprosesan imej dan penglihatan komputer berasaskan algoritma. Dalam Python, kita boleh menggunakan OpenCV untuk melaksanakan pengecaman muka.

Mula-mula anda perlu mengimport modul OpenCV:

import cv2
Salin selepas log masuk

Kemudian, gunakan fungsi CascadeClassifier yang disediakan oleh OpenCV untuk pengecaman muka:

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
Salin selepas log masuk

di mana, haarcascade_frontalface_default.xml berada dalam OpenCV Model pra-latihan disediakan untuk mengesan muka.

Seterusnya, kita perlu membaca imej dan memprosesnya:

img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
Salin selepas log masuk

di mana, test.jpg ialah imej yang akan diproses dan fungsi cvtColor menukar imej kepada imej skala kelabu .

Akhir sekali, pengecaman muka dilakukan pada imej yang diproses:

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)
Salin selepas log masuk

Antaranya, fungsi detectMultiScale digunakan untuk mengesan wajah dalam imej dan mengembalikan koordinat bingkai muka dan saiz. Akhir sekali, kami menggunakan fungsi rectangle untuk melukis bingkai muka pada imej asal.

2. pengecaman_muka

pengecaman_muka ialah perpustakaan pengecaman muka berdasarkan dlib dan Python Ia menggunakan kaedah pembelajaran mendalam untuk pengecaman muka dan mempunyai ketepatan dan keteguhan yang tinggi.

Anda perlu memasang perpustakaan pengenalan_muka sebelum digunakan:

pip install face_recognition
Salin selepas log masuk

Kemudian, kita perlu membaca imej dan memprosesnya:

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)
Salin selepas log masuk

Antaranya, fungsi face_recognition.load_image_file digunakan untuk membaca imej , fungsi face_recognition.face_locations digunakan untuk mengesan kedudukan muka dalam gambar.

Akhir sekali, kita boleh menandakan kedudukan muka dalam imej:

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)
Salin selepas log masuk

Antaranya, fungsi cv2.rectangle digunakan untuk menandakan kotak segi empat tepat pada imej asal untuk menunjukkan kedudukan muka.

Kesimpulan

Skop aplikasi teknologi pengecaman wajah semakin meluas, sebagai salah satu bahasa pengaturcaraan yang paling popular pada masa ini, juga mempunyai prestasi cemerlang dalam bidang pengecaman muka. Dua contoh yang diperkenalkan di atas, melalui aplikasi OpenCV dan perpustakaan pengenalan_muka, membolehkan kami merealisasikan fungsi pengecaman muka dengan lebih mudah dan cepat.

Atas ialah kandungan terperinci Contoh pengecaman muka dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan