Cara menggunakan Python untuk mengesan wajah pada gambar
Pengesanan muka ialah topik penting dalam bidang penglihatan komputer Ia amat penting kepada banyak aplikasi, seperti pengecaman muka, analisis ekspresi wajah, kecantikan wajah, dsb. . Python ialah bahasa pengaturcaraan yang ringkas dan mudah dipelajari yang menyediakan perpustakaan pemprosesan imej yang kaya, termasuk sokongan untuk pengesanan muka. Artikel ini akan memperkenalkan cara menggunakan Python untuk mengesan wajah dalam imej, dan melampirkan contoh kod.
Pertama, kita perlu memasang perpustakaan pemprosesan imej Python Adalah disyorkan untuk menggunakan perpustakaan OpenCV (Perpustakaan Penglihatan Komputer Sumber Terbuka). OpenCV ialah perpustakaan yang dikeluarkan di bawah lesen BSD (sumber terbuka) dan boleh dijalankan pada berbilang platform, termasuk Windows, Linux dan Mac OS X. Ia menyediakan satu set fungsi yang kaya untuk menyelesaikan pemprosesan imej, analisis imej dan tugas penglihatan komputer.
Anda boleh menggunakan arahan pip untuk memasang OpenCV Masukkan arahan berikut pada baris arahan untuk memasang:
pip install opencv-python
Selepas pemasangan selesai, kita boleh mula menulis kod Python untuk pengesanan muka.
Mula-mula, kami mengimport perpustakaan yang diperlukan:
import cv2
Kemudian, baca imej dan tukarkannya kepada imej skala kelabu:
image = cv2.imread('image.jpg') gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Seterusnya, kami perlu memuatkan pengesan muka terlatih OpenCV (pengelas haar Cascade), model terlatih ini boleh dimuat turun dari laman web rasmi OpenCV. Selepas muat turun selesai, simpannya dalam direktori tempat kod itu berada.
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
Kemudian, gunakan pengesan muka untuk mencari wajah dalam gambar:
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
Parameter 1.3 dan 5 di sini digunakan untuk mengawal ketepatan dan prestasi pengesanan muka. Fungsi ini akan mengembalikan senarai segi empat tepat, setiap kotak segi empat tepat mewakili muka dalam imej, dan koordinatnya ialah (x, y, w, h), dengan (x, y) ialah koordinat sudut kiri atas segi empat tepat. kotak, w dan h masing-masing ialah lebar dan tinggi kotak segi empat tepat.
Akhir sekali, kita boleh melukis kotak segi empat tepat pada gambar untuk menandakan muka yang dikesan:
for (x, y, w, h) in faces: cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
Parameter di sini (0, 255, 0) bermakna warna kotak segi empat tepat adalah hijau, dan 2 bermakna lebar garis daripada kotak segi empat tepat ialah 2 piksel.
Akhir sekali, paparkan hasil pengesanan:
cv2.imshow('Faces', image) cv2.waitKey(0) cv2.destroyAllWindows()
Contoh kod lengkap:
import cv2 image = cv2.imread('image.jpg') gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') faces = face_cascade.detectMultiScale(gray, 1.3, 5) for (x, y, w, h) in faces: cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2) cv2.imshow('Faces', image) cv2.waitKey(0) cv2.destroyAllWindows()
Melalui langkah di atas, kita boleh menggunakan Python untuk mengesan wajah pada imej. Contoh ini hanyalah demonstrasi mudah, dan tugas pengesanan dan pengecaman muka yang lebih kompleks boleh dilakukan dalam amalan. Untuk senario aplikasi tertentu, model pembelajaran mendalam boleh digunakan selanjutnya untuk meningkatkan ketepatan pengesanan.
Untuk meringkaskan, Python menyediakan perpustakaan pemprosesan imej yang kaya, termasuk sokongan untuk pengesanan muka. Pengesanan muka menggunakan Python adalah sangat mudah dan hanya memerlukan beberapa baris kod untuk diselesaikan. Saya harap artikel ini dapat membantu pelajar yang sedang belajar pengesanan muka.
Atas ialah kandungan terperinci Cara menggunakan Python untuk melakukan pengesanan muka pada gambar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!