Membuat Image Smoothing Menggunakan Mean Filter di Python
Membuat Image Smoothing Menggunakan Mean Filter di Python – Pada artikel kali ini, kita akan membahas bagaimana membuat image smoothing menggunakan mean filter di Python. Pembuatan image smoothing menggunakan operasi konvolusi atau convolution antara citra yang diberikan dengan low-pass filter kernel yang telah ditentukan. Simak artikel berikut ini untuk membuat image smoothing menggunakan mean filter di python.
Daftar Isi
Apakah yang dimaksud dengan image smoothing?
Seperti yang telah dijelaskan sebelumnya, Image smoothing atau blurring merupakan teknik dalam pengolahan citra digital yang melibatkan operasi konvolusi atau convolution antara citra yang diberikan dengan low-pass filter kernel yang telah ditentukan. Nah, citra akan terlihat lebih tajam atau lebih detail jika kita dapat melihat seluruh objek dan bentuk secara benar yang ada di dalamnya.
Misalnya, jika kita memiliki citra wajah akan terlihat lebih jelas saat kita dapat mengidentifikasi mana mata, telinga, hidung, bibir, dll dengan sangat jelas. Hal ini dikarenakan objek tersebut memiliki tepi atau edge. Jadi, pada konsep image blurring atau pengaburan, kita cukup mengurangi tepi atau edge tersebut dan membuat transisi dari satu warna ke warna lain menjadi lebih halus. Image smoothing atau image bluring sangat berguna untuk menghilangkan noise atau gangguan yang terdapat pada suatu citra.
Apakah yang dimaskud dengan kernel?
Pada pengolahan citra digital, suatu kernel merupakan matriks konvolusi atau convolution matrix atau bisa disebut juga mask berisi matriks kecil yang digunakan untuk blurring atau pengaburan, embossing, edge detection atau deteksi tepi, dan masih banyak lagi kegunaannya. Proses ini dilakukan dengan teknik konvolusi antara citra dan suatu kernel. Tentunya, hal ini dapat dilakukan dengan mudah menggunakan fungsi yang terdapat pada OpenCV yaitu cv2.filter2D().
Jenis-jenis filter yang dapat digunakan untuk blurring atau pengaburan citra di Python
Saat kita ingin melakukan pengaburan citra, kita dapat menggunakan spatial filter karena cepat dan lebih mudah untuk mencapai hasil yang diinginkan. Beberapa yang sering digunakan adalah Homogeneous filter atau averaging atau lebih dikenal dengan mean filter, gaussian filter, dan median filter. Akan tetapi, opsi lain yang dapat digunakan juga adalah dengan menggunakan non-linear filter seperti bilateral filter, adaptive bilateral filter, dan lain-lainnya.
Mean/Average/Homogeneous Filter untuk Image Smoothing
Filter ini hanya menggunakan rerata dari seluruh piksel yang berada pada area kernel dan menggantikan elemen pada bagian tengah dengan hasil rerata. Average filter memiliki properti sebagai berikut:
- Average filter harus memiliki urutan ganjil
- Jumlah keseluruhan elemen harus 1
- semua elemen harus sama.
Jika digambarkan dalam bentuk kernel berukuran 3×3 maka akan seperti berikut ini.
Jika dilihat dari gambar diatas, kernel dengan ukuran 3×3 akan memiliki 9 cell dan kondisi dengan penjumlahan seluruh elemen adalah 1 dapat terpenuhi dengan membagi setiap nilai dengan 9. Seperti ini : 1/9 + 1/9 + 1/9 + 1/9 + 1/9 + 1/9 + 1/9 + 1/9 + 1/9 = 9/9 = 1. Tentunya, ukuran kernel harus positif dan ganjil.
Implementasi kode python untuk membuat image smoothing menggunakan mean filter (kernel 5×5) seperti dibawah ini.
import numpy as np from matplotlib import pyplot as plt import cv2 ori_img = cv2.imread('tulips.jpg') def box_kernel(size): k = np.ones((size, size), np.float32) / (size ** 2) return k kernel_size = 5 filtered_img = cv2.filter2D(ori_img, -1, box_kernel(kernel_size)) plt.subplot(121), plt.imshow(ori_img), plt.title('Original Image') plt.xticks([]), plt.yticks([]) plt.subplot(122), plt.imshow(filtered_img), plt.title('Smoothed Image') plt.xticks([]), plt.yticks([]) plt.show()
Hasil yang diperoleh
Berikut ini adalah citra asli sebelum dan sesudah dilakukan image smoothing atau image blurring menggunakan mean/average/homogeneous filter.
Temukan source code menarik lainnya mengenai python dan pengolahan citra digital hanya di Inpows.
Baca Juga
Membuat Kalkulator Sederhana Menggunakan Kotlin
Membuat Password Generator di Kotlin
Membuat Pola Alphabet Bentuk Setengah Pyramid Menggunakan Kotlin