29 lines
921 B
Python
29 lines
921 B
Python
import cv2
|
|
|
|
# Membaca citra
|
|
picturePath = 'images/face/Billie Eilish/Billie Eilish_20.jpg'
|
|
oripic = cv2.imread(picturePath)
|
|
pic2gray = cv2.cvtColor(oripic, cv2.COLOR_BGR2GRAY)
|
|
|
|
# Muat pre-trained Haar Cascade untuk deteksi wajah
|
|
faceCascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
|
|
|
|
# Deteksi wajah pada gambar
|
|
detectFace = faceCascade.detectMultiScale(pic2gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
|
|
|
|
# Salin gambar asli untuk ditandai
|
|
annotatedPic = oripic.copy()
|
|
|
|
for i, (x, y, w, h) in enumerate(detectFace, 1):
|
|
# Pemotongan (Cropping) wajah
|
|
croppedFace = oripic[y:y + h, x:x + w]
|
|
|
|
# Tampilkan gambar wajah yang terpotong
|
|
cv2.imshow(f'Cropped Face {i}', croppedFace)
|
|
|
|
# Tampilkan gambar asli dan gambar yang sudah ditandai
|
|
cv2.imshow('Original Image', oripic)
|
|
cv2.imshow('Detected Faces', annotatedPic)
|
|
cv2.waitKey(0)
|
|
cv2.destroyAllWindows()
|