List

Berikut ini aplikasi sederhana untuk mendeteksi wajah dari sebuah gambar, ikuti beberapa langkah berikut ini :

  1. Gambar yang di gunakan adalah gambar messi.jpg yang diambil dari docs.opencv.org. Simpan messi.jpg kedalam direktori D:\Project\Latihan
  2. Buatlah program sederhana dengan nama face_detect.py dan simpan kedalam direktori D:\Project\Latihan
  3. 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()

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()

Jalankan dengan perintah python face_detect.py akan didapatkan hasil seperti berikut ini