Anda di halaman 1dari 3

TUGAS!!!

Sebelum Sesudah

import cv2
import numpy as np
import os
def convert_to_sketch(image_path, output_path):
image = cv2.imread(image_path)
if image is None:
print(f"Could not read the image from {image_path}")
return
grayscale_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blurred_image = cv2.GaussianBlur(grayscale_image, (5, 5), 0)
edges = cv2.Canny(blurred_image, 30, 150)
inverted_edges = cv2.bitwise_not(edges)
sketched_image = cv2.bitwise_and(grayscale_image, grayscale_image,
mask=inverted_edges)
cv2.imwrite(output_path, sketched_image)
print(f"Sketched image saved to {output_path}")
if _name_ == "_main_":
script_dir = os.path.dirname(os.path.abspath(_file_))
input_image_path = os.path.join(script_dir, "Zabrina.jpeg")
output_image_path = os.path.join(script_dir,
"Zabrina_sketch.jpeg")
convert_to_sketch(input_image_path, output_image_path)
Penjelasan:
Program di atas adalah sebuah skrip Python yang menggunakan OpenCV (cv2) untuk
mengonversi sebuah gambar menjadi gambar sketsa (sketch). Berikut adalah penjelasan untuk
setiap baris:
1. import cv2: Ini mengimpor modul OpenCV, yang digunakan untuk pengolahan gambar.
2. import numpy as np: Ini mengimpor modul NumPy dengan alias np. NumPy sering
digunakan untuk manipulasi array dan matriks dalam Python.
3. import os: Ini mengimpor modul os, yang memberikan fungsionalitas untuk berinteraksi
dengan sistem operasi.
4. def convert_to_sketch(image_path, output_path): : Ini mendefinisikan sebuah fungsi
bernama convert_to_sketch yang mengambil dua argumen, yaitu `image_path` (path ke
gambar input) dan output_path (path di mana gambar sketsa akan disimpan).
5. image = cv2.imread(image_path) : Ini membaca gambar dari `image_path`
menggunakan fungsi `cv2.imread()` dan menyimpannya dalam variabel `image`.
6. if image is None: : Ini adalah kondisi yang memeriksa apakah `image` berhasil dibaca
dengan baik.
7. print(f"Could not read the image from {image_path}"): Jika gambar tidak bisa
dibaca, maka pesan kesalahan akan dicetak.
8. return: Jika gambar tidak bisa dibaca, maka fungsi akan keluar.
9. grayscale_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY): Ini mengubah
gambar berwarna (`image`) menjadi citra grayscale menggunakan fungsi
`cv2.cvtColor()`.
10. blurred_image = cv2.GaussianBlur(grayscale_image, (5, 5), 0): Ini mengaburkan citra
grayscale dengan filter Gaussian menggunakan fungsi `cv2.GaussianBlur()`.
11. edges = cv2.Canny(blurred_image, 30, 150) : Ini mendeteksi tepi dalam gambar yang
telah diabur menggunakan detektor tepi Canny dengan batas bawah 30 dan batas atas
150.
12. inverted_edges = cv2.bitwise_not(edges): Ini membalikkan warna tepi menggunakan
operasi bitwise NOT.
13. sketched_image = cv2.bitwise_and(grayscale_image, grayscale_image,
mask=inverted_edges) : Ini menggabungkan citra grayscale dengan citra inverted_edges
menggunakan operasi bitwise AND, menghasilkan gambar sketsa.
14. cv2.imwrite(output_path, sketched_image): Ini menyimpan gambar sketsa ke
`output_path` menggunakan fungsi `cv2.imwrite()`.
15. print(f"Sketched image saved to {output_path}"): Ini mencetak pesan konfirmasi
bahwa gambar sketsa telah disimpan.
16. if _name_ == "_main_": : Ini memeriksa apakah skrip dijalankan sebagai program
utama.
17. script_dir = os.path.dirname(os.path.abspath(_file_)) : Ini mendapatkan direktori
skrip saat ini menggunakan `os.path` dari nama file skrip.
18. input_image_path = os.path.join(script_dir, "Zabrina.jpeg") : Ini menggabungkan
nama file input dengan direktori skrip untuk mendapatkan path lengkap ke gambar input.
19. output_image_path = os.path.join(script_dir, "Zabrina_sketch.jpeg") : Ini
menggabungkan nama file output dengan direktori skrip untuk mendapatkan path lengkap
ke gambar sketsa yang akan disimpan.
20. convert_to_sketch(input_image_path, output_image_path) : Ini memanggil fungsi
`convert_to_sketch` dengan `input_image_path` dan `output_image_path` sebagai
argumen.

Anda mungkin juga menyukai