Berikut ini aplikasi sederhana untuk mendeteksi wajah dari sebuah gambar, ikuti beberapa langkah berikut ini :
- Gambar yang di gunakan adalah gambar messi.jpg yang diambil dari docs.opencv.org. Simpan messi.jpg kedalam direktori D:\Project\Latihan
- Buatlah program sederhana dengan nama face_detect.py dan simpan kedalam direktori D:\Project\Latihan
- Import file
a. haarcascade_frontalface_default.xml
b. haarcascade_eye.xml
simpan kedalam direktori D:\Project\Latihan

import numpy as np
import cv2
face_cascade = cv2.CascadeClassifier('D:\\Project\\Latihan\\haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('D:\\Project\\Latihan\\haarcascade_eye.xml')
img = cv2.imread('messi.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
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)
roi_gray = gray[y:y+h, x:x+w]
roi_color = img[y:y+h, x:x+w]
eyes = eye_cascade.detectMultiScale(roi_gray)
for (ex,ey,ew,eh) in eyes:
cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Code language: JavaScript (javascript)
Jalankan dengan perintah python face_detect.py akan didapatkan hasil seperti berikut ini

Mendeteksi wajah dari webcam
Sedangkan untuk mendeteksi wajah dari image yang diambil dari webcam, gunakan program berikut ini
import numpy as np
import cv2
face_cascade = cv2.CascadeClassifier('D:\\Project\\Latihan\\haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('D:\\Project\\Latihan\\haarcascade_eye.xml')
cap = cv2.VideoCapture(0)
while(cap.isOpened()):
ret, frame = cap.read()
if ret == True:
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
cv2.rectangle(frame,(x,y),(x+w,y+h),(255,0,0),2)
roi_gray = gray[y:y+h, x:x+w]
roi_color = frame[y:y+h, x:x+w]
eyes = eye_cascade.detectMultiScale(roi_gray)
for (ex,ey,ew,eh) in eyes:
cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
cv2.imshow('frame',frame)
cv2.imwrite('face_detect.png',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
Code language: PHP (php)
Jalankan dengan perintah python face_detect.py akan didapatkan hasil seperti berikut ini