Cara menggunakan Python untuk melakukan pengecaman muka pada gambar
Pengecaman muka ialah teknologi penting dalam bidang penglihatan komputer, yang boleh mengenal pasti wajah dalam imej atau video dan mengelaskan atau mengenal pasti mereka. Python ialah bahasa pengaturcaraan yang digunakan secara meluas yang, apabila digunakan dengan perpustakaan yang sepadan, boleh melaksanakan pengecaman muka yang mudah tetapi cekap. Artikel ini akan memperkenalkan cara menggunakan Python dan perpustakaan OpenCV untuk melaksanakan pengecaman muka pada gambar.
Pertama, kita perlu memasang perpustakaan OpenCV dalam Python. Ia boleh dipasang dengan menjalankan arahan berikut di terminal:
pip install opencv-python
Setelah pemasangan selesai, kita boleh mula menulis kod Python. Pertama, import perpustakaan yang diperlukan:
import cv2 import matplotlib.pyplot as plt
Seterusnya, kami akan memuatkan imej yang kami perlukan untuk pengecaman muka:
image = cv2.imread('image.jpg')
Selepas memuatkan imej, kami perlu menukarnya kepada imej skala kelabu, kerana dalam pengecaman muka, kami Hanya fokus pada bentuk dan struktur muka, bukan warna:
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Seterusnya, kita perlu menggunakan pengelas lata OpenCV, iaitu algoritma pengecaman muka berdasarkan ciri Haar. OpenCV sudah menyediakan beberapa model pengelas lata terlatih yang boleh kami gunakan secara langsung. Dalam contoh ini, kami akan menggunakan model "haarcascade_frontalface_default.xml":
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
Seterusnya, kami akan menggunakan pengelas lata di atas untuk mengesan wajah dalam imej:
faces = face_cascade.detectMultiScale(gray, 1.1, 4)
Fungsi detectMultiScale akan mengembalikan kotak sempadan yang terdiri daripada muka ( segi empat tepat) tatasusunan. Kami boleh mengendalikan kotak sempadan ini mengikut keperluan, seperti melukis segi empat tepat dalam imej untuk menandakan muka.
for (x, y, w, h) in faces: cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2)
Akhir sekali, kami akan memaparkan imej dengan muka yang ditag:
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) plt.axis('off') plt.show()
Dengan meletakkan blok kod di atas bersama-sama, kami boleh melaksanakan program pengecaman wajah yang lengkap. Berikut ialah contoh kod lengkap:
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()
Dengan menjalankan kod di atas, kita boleh melihat imej dengan wajah yang dikenali dan ditag. Ini hanyalah contoh asas pengecaman muka, dan algoritma serta model yang lebih kompleks mungkin diperlukan dalam aplikasi sebenar. Tetapi dengan bantuan OpenCV, Python telah menjadi salah satu alat yang berkuasa untuk tugas pengecaman muka.
Untuk meringkaskan, artikel ini memperkenalkan langkah asas dan contoh kod menggunakan perpustakaan OpenCV untuk pengecaman muka dalam Python. Saya harap artikel ini akan membantu anda memahami prinsip dan amalan pengecaman muka, dan juga merangsang minat anda untuk menerokai lagi bidang penglihatan komputer.
Atas ialah kandungan terperinci Cara menggunakan Python untuk melakukan pengecaman muka pada gambar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!