C#で画像にメディアンフィルタとウィーナーフィルタを適用する

画像編集は、さまざまなアプリケーションで重要な役割を果たし、画像の強化や操作を可能にします。以前のブログでは、画像のトリミング画像の回転、および画像のぼかしなどのトピックについて説明しました。今日は、画像のノイズ除去と平滑化に不可欠な2つの技術であるメディアンフィルタとウィーナーフィルタの適用について深く掘り下げます。C#でプログラム的に画像にメディアンおよびウィーナーフィルタを適用する方法を探ってみましょう。

メディアンおよびウィーナー画像フィルタを適用するための C# API - 無料ダウンロード

Aspose.Imaging for .NET は、.NET アプリケーションに画像編集機能を実装するために設計された強力な API です。この API を利用して、画像にメディアンおよびウィーナーフィルタを適用します。API を簡単にダウンロードするか、次のコマンドで NuGet から直接インストールできます。

PM> Install-Package Aspose.Imaging

C#で画像にメディアンフィルタを適用

メディアンフィルタは、画像のノイズを効果的に低減する非線形デジタルフィルタリング技術です。C#で画像にメディアンフィルタを適用する方法は次のとおりです。

  1. Image.Load() メソッドを使用して画像を読み込みます。
  2. 画像を RasterImage 型にキャストします。
  3. MedianFilterOptions クラスのインスタンスを作成し、希望の矩形サイズで初期化します。
  4. RasterImage.Filter(Rectangle, MedianFilterOptions) メソッドを使用してメディアンフィルタを適用します。
  5. RasterImage.Save() メソッドを使用して結果の画像を保存します。

C#で画像にメディアンフィルタを適用する方法を示すコードサンプルは次のとおりです。

以下は、メディアンフィルタを適用する前と後の画像です。

C#で画像にメディアンフィルタを適用

C#で画像にガウスウィーナーフィルタを適用

ガウスウィーナーフィルタは、画像の加法ノイズとぼかしを最小限に抑えるためのもう1つの効果的な方法です。C#でガウスウィーナーフィルタを適用する手順は次のとおりです。

  1. Image.Load() メソッドを使用して画像を読み込みます。
  2. 画像を RasterImage 型にキャストします。
  3. GaussWienerFilterOptions クラスのインスタンスを作成し、希望の半径サイズとスムース値で初期化します。
  4. (オプション) グレースケール画像の場合は、GaussWienerFilterOptions.Grayscale プロパティを true に設定します。
  5. RasterImage.Filter(Rectangle, GaussWienerFilterOptions) メソッドを使用してガウスウィーナーフィルタを適用します。
  6. RasterImage.Save() メソッドを使用して結果の画像を保存します。

C#で画像にガウスウィーナーフィルタを適用するためのコードサンプルは次のとおりです。

以下は、グレースケールオプションを使用してガウスウィーナーフィルタを適用する前と後の画像です。

グレースケーリングのためのガウスウィーナーフィルタを画像に適用

そして、グレースケールなしでガウスウィーナーフィルタを適用する前と後の画像です。

画像にガウスウィーナーカラーフィルタを適用

C#で画像に動体ウィーナーフィルタを適用

動体ウィーナーフィルタは、動いている物体によって引き起こされるぼかしを除去するために特別に設計されています。C#で動体ウィーナーフィルタを適用する方法は次のとおりです。

  1. Image.Load() メソッドを使用して画像を読み込みます。
  2. 画像を RasterImage 型にキャストします。
  3. MotionWienerFilterOptions クラスのインスタンスを作成し、長さ、スムース値、角度で初期化します。
  4. RasterImage.Filter(Rectangle, MotionWienerFilterOptions) メソッドを使用して動体ウィーナーフィルタを適用します。
  5. RasterImage.Save() メソッドを使用して結果の画像を保存します。

C#で画像に動体ウィーナーフィルタを適用する方法を示すコードサンプルは次のとおりです。

C#で動体ウィーナーフィルタを画像に適用

C# メディアンおよびウィーナー画像フィルタリング API - 無料ライセンスを取得

評価制限なしで画像にメディアンおよびウィーナーフィルタを適用するための無料の一時ライセンスを取得できます。

結論

この記事では、C#で画像にメディアンおよびウィーナーフィルタを適用する方法を探りました。また、画像内の動いている物体からノイズを減らす方法についても説明しました。これらの機能をC#アプリケーションにシームレスに統合し、画像編集機能を強化できます。

さらに読む

.NET 画像処理 API についての詳細は、ドキュメントをご覧ください。質問がある場合は、フォーラムを通じてお気軽にお問い合わせください。

関連情報