メディアンフィルタ【median filter】中央値フィルタ
メディアンフィルタとは?

まず対象画素を中心に3×3や5×5といった正方形の領域(カーネル)を設定し、領域内の全画素値を小さい順に並べる。3×3であれば9つの値が得られ、その5番目(順位が真ん中)の値が中央値となる。この値を対象画素の新しい値として採用する。中央値は極端に大きい・小さい値に引きずられないため、孤立した輝点や暗点、いわゆる「ごま塩ノイズ」を効果的に取り除ける。
平均値で置き換える平均値フィルタは周囲の全画素値を均等に混ぜ合わせるため、異常値がそのまま計算に影響し、輪郭がぼやけやすいが、メディアンフィルタは既存の画素値の中から中央値を選ぶだけで混合を行わないため、物体の境界線や色の境目が崩れにくい。ただし、細い線や小さな点のように周囲に対して少数派の画素は、ノイズと区別されずに消えてしまう場合もある。
カーネルを大きくするほどノイズ除去の効果は高まるが、細部の情報が失われやすくなる。この点は非線形処理である以上避けがたいトレードオフであり、用途や画像の性質に応じた調整が求められる。また、線形フィルタと異なり数式での取り扱いが容易でなく、カーネルサイズが増すと計算量も増大する。
メディアンフィルタは医療画像の前処理、デジタル写真の現像、防犯カメラ映像の補正など、正確な形状の把握が求められる場面で活用されている。「OpenCV」や「Pillow」といった画像処理ライブラリには標準機能として搭載されており、数行のコードで利用できる。画像処理に留まらず、音声信号やセンサデータの前処理にも応用されている。