OpenCV のノイズ除去について(Median)

2022年2月13日

はじめに

OpenCV の medianBlur を使ったノイズ除去ついて調べたことをまとめた。

とりあえず関数を試してみたい方

実験用プログラム OpenCV_test の GitHubリポジトリ
URL
https://github.com/iryachi/OpenCV_test
実行ファイルだけ
https://github.com/iryachi/OpenCV_test/releases
使い方
https://iryachi.stars.ne.jp/opencv_test_imple/

medianBlur について

カーネル内の全画素の中央値を注目がその値として使用する。
ごま塩ノイズの除去などに使用される。全体的にフラットな(のっぺりした)感じになる。
カーネル内の全画素の中央値を注目がその値として使用する。
filter2D のカーネル(3 × 3)で表すと ( https://iryachi.stars.ne.jp/opencv-filter2d/ )

medianBlur の考え方

medianBlur 関数について

void cv:: medianBlur (InputArray src,
OutputArray dst,
int ksize
)

引数

srcInputArray入力画像カラー or グレースケールの画像 CV_8U, CV_16U, CV_32F
dstOutputArray出力画像フォーマットは入力画像に依存
ksizeintカーネルサイズフィルタのサイズ X, Y 指定

処理例

処理例

終わりに

medianBlur は1画素の点々ノイズを消す時に役に立つが、全体がぼやけるのであまり強くかけれない。
また、ぼやけ方ものっぺりした感じ(グラデーションがなくなる)になる。