画像のノイズ除去用と輪郭検出用フィルタの比較

画像のノイズ除去用とと輪郭検出用フィルタの比較をしてみました。

ノイズ除去(前処理)用フィルタ

以下は、画像処理でよく用いられるノイズ除去(前処理)用のフィルタを比較した表です。

フィルタ ノイズ除去能力 計算量 備考
平滑化フィルタ 平均値を使用
メディアンフィルタ ノイズに強く、エッジを保持
ガウシアンフィルタ 正規分布を使用し、ぼかし効果がある
バイラテラルフィルタ 輪郭を保持しながらノイズ除去
非局所的平均フィルタ 画像全体の類似ピクセルを考慮
Wienerフィルタ ノイズ推定に基づくフィルタリング
Waveletフィルタ ウェーブレット変換に基づく、マルチスケール分析

輪郭検出(エッジ抽出)用フィルタ

以下は、画像処理でよく用いられる輪郭検出用のフィルタを比較した表です。

フィルタ 微分 横方向 縦方向 斜め方向 計算量 備考
一次微分フィルタ 1次微分
Prewitt 1次微分
Sobel 1次微分
Roberts 1次微分
Laplacian 2次微分 方向に依存しない
LoGフィルタ 2次微分 ガウシアンとラプラシアンの組み合わせ
DoGフィルタ 1次微分 二つの異なるガウシアンフィルタの差
DoMフィルタ 1次微分 二つの異なるメディアンフィルタの差
エンボスフィルタ 1次微分 立体感を強調
Cannyアルゴリズム 多段階 高精度なエッジ検出

◎○△は検出する輪郭の強度を表します。強いほど輪郭をよく強調する反面、ノイズの影響を受けやすいです。

関連ページ

プログラミングによる実装例について以下ページで解説しています。

【Python/OpenCV】Sobelフィルタで輪郭検出(エッジ抽出)
Python+OpenCVでソーベル(Sobel)フィルタを「NumPy」「cv2.filter2D」「cv2.Sobel」で実装し、輪郭検出する方法をソースコード付きで解説します。
【画像処理超入門】アルゴリズムの仕組みと実装方法を簡単に解説
画像処理超アルゴリズムの仕組みとプログラミングによる実装方法を簡単に解説します。
この記事を書いた人
西住技研

在学中はシステム制御理論や画像処理、機械学習を専攻分野として研究していました。就職後は、プログラミング(Python)を活用したデータ分析や作業自動化に取り組み、現在に至ります。そこで得たノウハウをブログで発信しています。
YoutubeX(旧Twitter)でも情報発信中です

西住技研をフォローする
画像処理

コメント