画像のノイズ除去用とと輪郭検出用フィルタの比較をしてみました。
ノイズ除去(前処理)用フィルタ
以下は、画像処理でよく用いられるノイズ除去(前処理)用のフィルタを比較した表です。
フィルタ | ノイズ除去能力 | 計算量 | 備考 |
---|---|---|---|
平滑化フィルタ | 低 | 低 | 平均値を使用 |
メディアンフィルタ | 高 | 中 | ノイズに強く、エッジを保持 |
ガウシアンフィルタ | 中 | 中 | 正規分布を使用し、ぼかし効果がある |
バイラテラルフィルタ | 高 | 高 | 輪郭を保持しながらノイズ除去 |
非局所的平均フィルタ | 高 | 高 | 画像全体の類似ピクセルを考慮 |
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」で実装し、輪郭検出する方法をソースコード付きで解説します。

【画像処理超入門】アルゴリズムの仕組みと実装方法を簡単に解説
画像処理超アルゴリズムの仕組みとプログラミングによる実装方法を簡単に解説します。
コメント