Filter median

Filter median adalah teknik pemfilteran digital nonlinear yang biasa dipakai untuk menghilangkan derau pada citra atau sinyal. Pengurangan derau adalah langkah praolah untuk memperbaiki hasil pada pengolahan selanjutnya (misalnya deteksi pinggiran pada citra). Filter median dipakai luas dalam pengolahan citra digital karena dapat menghilangkan derau sekaligus menjaga pinggiran dalam keadaan tertentu. Selain itu, filter ini juga dipakai dalam pengolahan sinyal digital.

Penjelasan algoritme 
Cara kerja filter ini adalah menggantikan nilai tiap entri dengan median dari entri-entri tetangga. Pola tetangga-tetangga disebut "jendela" yang bergeser entri demi entri untuk semua sinyal. Untuk sinyal satu dimensi, jendela yang mungkin hanyalah beberapa entri sebelum dan beberapa entri setelahnya. Untuk data dua dimensi atau lebih, jendela harus meliputi semua sumbu dengan jari-jari tertentu.

Contoh satu dimensi 
Sebagai contoh, dengan jendela ukuran tiga yang berurutan: sebelumnya, dirinya, dan sesudahnya, filter median akan diterapkan untuk sinyal satu dimensi sebagai berikut.

Penanganan pada ujung 
Pada contoh di atas, karena tiada nilai yang berada di sebelum entri pertama, nilai entri pertama tetap. Begitu juga untuk entri terakhir yang tidak memiliki entri sesudahnya. Ini adalah salah satu cara untuk menangani entri yang kosong pada ujung-ujung sinyal. Namun, ada cara-cara lain yang mungkin lebih dipilih dalam keadaan tertentu:
 tidak mengolah ujung-ujung sinyal dengan atau tanpa pemangkasan ujung-ujung sinyal atau tepi citra setelahnya;
 mengambil entri dari tempat lain, misal dari ujung satunya (di sisi lain); atau
 memperkecil ukuran jendela pada ujung-ujungnya agar jendelanya terisi semua.

Kode semu untuk dua dimensi 

Kode semu untuk filter median dua dimensi dapat berupa sebagai berikut:

 misalkan I adalah larik dua dimensi berukuran w dan h sebagai nilai awal
 misalkan T adalah larik dua dimensi berukuran w dan h sebagai nilai hasil
 misalkan J adalah larik satu dimensi berukuran p × q sebagai jendela
 tepiX ← bulatkanKeBawah(p / 2)
 tepiY ← bulatkanKeBawah(q / 2)
 untuk x dari tepiX sampai w - tepiX,
 untuk y dari tepiY sampai h - tepiY,
     i ← 0
     untuk fx dari 0 sampai p,
     untuk fy dari 0 sampai q,
         J[i] ← I[y + fy - tepiY][x + fx - tepiX]
         i ← i + 1
     urutkan J
     T[y][x] ← J[p × q / 2]

Algoritme ini hanya mengolah satu saluran dan menggunakan penanganan pertama, "tidak mengolah ujung-ujung sinyal."

Permasalahan dalam implementasi 
Biasanya, mayoritas perhitungan dan waktu dihabiskan untuk mencari median tiap jendela. Karena filter harus mengolah tiap entri dalam sinyal, untuk sinyal berukuran besar seperti citra, efisiensi perhitungan median menjadi faktor penting dalam menentukan kelajuan algoritme. Implementasi naif yang dijelaskan di atas mengurutkan entri dalam jendela untuk mencari median. Namun, karena hanya nilai tengah yang dibutuhkan, algoritme seleksi bisa lebih efisien. Terlebih lagi, beberapa jenis sinyal (seringnya untuk citra) menggunakan bilangan bulat sehingga median histogram dapat jauh lebih efisien karena lebih mudah memperbarui histogram dari jendela ke jendela dan pencarian median sebuah histogram tidak terlalu memberatkan.

Sifat penjagaan pinggiran 
Pemfilteran median termasuk teknik penghalusan seperti pemfilteran Gauss linear. Semua teknik penghalusan efektif dalam menghilangkan derau dalam daerah halus sinyal, tetapi memengaruhi pinggiran. Sering, selain butuh mengurangi derau, pinggiran juga perlu dipertahankan. Pinggiran penting untuk tampilan visual citra, misalnya. Untuk tingkat derau Gauss rendah atau menengah, filter median lebih baik daripada pemburaman Gauss dalam mengurangi derau sekaligus menjaga pinggiran pada jendela berukuran tetap. Namun, kinerjanya tidak lebih baik daripada pemburaman Gauss untuk tingkat derau tinggi. Untuk derau butiran dan derau garam–merica, filter median cukup efektif. Karenanya, filter median dipakai luas dalam pengolahan citra digital.

Lihat pula 
 Derau citra
 Median berbobot
 Penghalusan Lulu
 Filter bilateral
 Penghalusan

Referensi 

Filter nonlinear
Pengolahan sinyal
Teknik pengurangan derau citra