Lompat ke konten utama
←

Mengolah Citra dengan Python

Pelajaran 9 dari 16

Filter dan tepi

Konvolusi: blur rata-rata dan Gaussian

Setelah pelajaran ini kamu bisa menerapkan konvolusi dengan kernel rata-rata dan blur Gaussian memakai scipy.ndimage serta menghitung satu nilai keluaran dengan tangan.

±13 menitDiperiksa 28 Sep 2026

Materi

Konvolusi menggeser kernel kecil, misalnya 3 × 3, ke setiap piksel. Di setiap posisi, piksel-piksel di bawah kernel dikalikan bobot kernel yang bersesuaian lalu dijumlahkan, dan jumlah itu menjadi nilai keluaran. scipy.ndimage.convolve(input, weights) mengerjakannya untuk seluruh citra. Kernel rata-rata berisi sembilan bobot 1/9, sehingga setiap piksel diganti rata-rata tetangganya: derau kecil memudar, tepi ikut kabur. scipy.ndimage.uniform_filter(input, size=3) memberi hasil yang sama tanpa menulis kernel.

Di tepi citra sebagian kernel jatuh di luar larik. Argumen mode menentukan isinya, dan bawaannya 'reflect': nilai di luar diisi pantulan piksel di dalam. Tanpa ini, piksel pinggir akan dirata-rata dengan nol dan menggelap.

Blur Gaussian memberi bobot lebih besar pada tetangga yang lebih dekat. gaussian_filter(input, sigma) memakai simpangan baku sigma: makin besar sigma, makin lebar dan makin kabur. Bila argumen radius ditulis, dokumentasinya menyebut panjang kernel di setiap sumbu menjadi 2 × radius + 1. Tutorial ndimage juga membedakan konvolusi dengan korelasi: konvolusi membalik kernel lebih dulu, sehingga keduanya sama hanya untuk kernel simetris seperti rata-rata dan Gaussian.

import numpy as np
from scipy import ndimage

baris = np.array([[0, 0, 90, 0, 0]], dtype=float)
k = np.ones((1, 3)) / 3                 # rata-rata 3 tetangga mendatar
print(ndimage.convolve(baris, k))       # [[ 0. 30. 30. 30.  0.]]

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 1 dari 3

Pada citra titik (latar 10, piksel tengah 190), kernel rata-rata 3 × 3 diletakkan tepat di piksel tengah. Berapa nilai keluarannya?

Latihan 3 dari 3

Menurut dokumentasi scipy.ndimage.convolve, apa dtype keluaran ndimage.convolve(citra_uint8, np.ones((3, 3)) / 9) bila argumen output tidak ditulis?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke