import cv2
import dlib
import numpy as np
# Load gambar
image_path = "path_to_your_image.jpg" # Ganti dengan path gambar Anda
image = cv2.imread(image_path)
# Inisialisasi detektor wajah
detector = dlib.get_frontal_face_detector()
# Deteksi wajah dalam gambar
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
faces = detector(gray)
# Fungsi untuk mengubah wajah menjadi karikatur
def create_cartoon_effect(image, faces):
for face in faces:
x, y, w, h = (face.left(), face.top(), face.width(), face.height())
# Crop wajah untuk efek karikatur
face_image = image[y:y+h, x:x+w]
# Menggunakan filter bilateral untuk menciptakan efek karikatur
face_image = cv2.bilateralFilter(face_image, 9, 75, 75)
# Gambar wajah dengan efek karikatur pada gambar utama
image[y:y+h, x:x+w] = face_image
return image
# Menerapkan efek karikatur
cartoon_image = create_cartoon_effect(image, faces)
# Tampilkan gambar karikatur
cv2.imshow("Cartoon Image", cartoon_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# Simpan gambar hasil karikatur
cv2.imwrite("cartoon_image.jpg", cartoon_image)