Konsep Teori
1. Library
cv2 adalah library OpenCV yang digunakan untuk pengolahan citra. np adalah alias untuk NumPy, library yang digunakan untuk operasi numerik pada array. 2. Load Image
Fungsi cv2.imread() digunakan untuk membaca gambar dari path yang diberikan. Path ini menuju ke file gambar yang akan diproses. Setelah gambar dibaca, gambar disimpan sebagai array NumPy dalam variabel image. 3. Initializing Filtered Image
Membuat array filtered_image yang berukuran sama dengan gambar aslinya image, tetapi isinya adalah nol. Array ini akan digunakan untuk menyimpan hasil gambar yang telah difilter. |
4. Kernel Size and Padding Calculation
kernel_size = 3 berarti kamu menggunakan kernel 3x3 (sebuah patch persegi dengan ukuran 3x3 piksel) untuk menghitung rata-rata piksel di sekitar setiap piksel pusat. padding = kernel_size // 2 menentukan berapa banyak piksel di sekitar tepi gambar yang perlu ditambahkan sebagai "padding" agar proses filter bisa bekerja di tepi gambar. Untuk kernel 3x3, padding adalah 1 piksel. 5. Padding Image
Fungsi cv2.copyMakeBorder() digunakan untuk menambahkan padding pada gambar. Dengan padding, ukuran gambar ditambah di setiap sisinya agar saat proses filtering, piksel di tepi gambar tetap bisa dihitung. cv2.BORDER_REFLECT menambahkan padding dengan merefleksikan piksel tepi (mirror effect) sehingga hasil filter di tepi gambar tidak terlalu terdistorsi. 6. Iterating Over Image
Dua loop ini berjalan pada setiap piksel dalam gambar yang telah dipadding, kecuali piksel yang ada di luar area padding (loop dimulai dari padding hingga padded_image.shape[0] - padding untuk baris, dan padded_image.shape[1] - padding untuk kolom). Gambar asli |
7. Extracting Patches for Filtering
Pada setiap iterasi, kamu mengambil sebuah patch berukuran 3x3 (disebabkan oleh kernel yang berukuran 3x3) di sekitar piksel yang sedang diproses. Patch ini adalah potongan gambar yang akan digunakan untuk menghitung nilai rata-rata. 8. Applying the Mean Filter
Menghitung rata-rata dari nilai-nilai intensitas piksel dalam patch menggunakan np.mean(). Nilai rata-rata ini kemudian digunakan untuk menggantikan nilai piksel di posisi yang sesuai dalam filtered_image. 9. Displaying the Filtered Image
cv2.imshow() digunakan untuk menampilkan gambar yang telah difilter dalam jendela bernama 'Mean Filter'. cv2.waitKey(0) menunggu input dari pengguna sebelum menutup jendela. cv2.destroyAllWindows() menutup semua jendela yang dibuka oleh OpenCV. Output
Gambar hasil filter |
Cheatography
https://cheatography.com
Mean Noise Filter Cheat Sheet (DRAFT) by Aditangkasz
Mean noise filter adalah teknik pengolahan citra yang digunakan untuk mengurangi noise (gangguan atau distorsi) pada gambar dengan cara meratakan nilai piksel dalam suatu area (mask). Filter ini bekerja dengan menghitung rata-rata nilai intensitas piksel di sekitar setiap piksel dalam gambar dan kemudian menggantikan nilai piksel tersebut dengan nilai rata-rata yang telah dihitung.
This is a draft cheat sheet. It is a work in progress and is not finished yet.