【HALCON】midrange_image 関数について - 画像のミッドレンジフィルタ適用

【HALCON】midrange_image 関数について - 画像のミッドレンジフィルタ適用

2024-09-04

2024-09-04

HALCONmidrange_image関数は、画像に対してミッドレンジフィルタを適用することで、ノイズを効果的に除去し、画像を平滑化するためのツールです。ミッドレンジフィルタは、フィルタの中での最大値と最小値の差を計算し、その結果を使用してノイズを軽減します。このフィルタは、画像のエッジや重要なディテールを保持しながら、ランダムなノイズや微細な誤差を低減できるため、医療画像や工業検査など、正確な処理が求められる場面で非常に有効です。

midrange_image 関数の概要

midrange_image関数は、各ピクセルを中心にその近傍領域を対象として、最大値と最小値の差(ミッドレンジ)を計算します。このフィルタ処理は、画像のエッジや重要なディテールを保持しつつ、ノイズを除去するために効果的です。通常の平滑化フィルタと異なり、エッジ部分をぼかすことなく、ノイズだけを軽減できるのが特徴です。

使用方法

基本的なmidrange_image関数の使用方法は以下の通りです。

midrange_image(Image, FilteredImage, MaskWidth, MaskHeight)
  • Image
    入力画像。
  • FilteredImage
    ミッドレンジフィルタが適用された出力画像。
  • MaskWidth
    フィルタのマスクの幅(ピクセル単位)。
  • MaskHeight
    フィルタのマスクの高さ(ピクセル単位)。

具体例

以下に、midrange_image関数を使用して画像のノイズを除去し、平滑化する例を示します。

* 画像を読み込む
read_image(Image, 'example_image.png')

* ミッドレンジフィルタを適用(マスクサイズ:5x5ピクセル)
MaskWidth := 5
MaskHeight := 5
midrange_image(Image, FilteredImage, MaskWidth, MaskHeight)

* 結果を表示
disp_image(FilteredImage, WindowHandle)

この例では、example_image.pngという画像に対して、5x5ピクセルのマスクサイズでmidrange_image関数を適用しています。これにより、エッジを保持しながらノイズが除去された滑らかな画像が生成されます。

応用例

midrange_image関数は、以下のような応用シーンで利用されます。

  • 医療画像処理
    医療画像でエッジや細かなディテールを保持しつつ、ノイズを効果的に除去し、診断精度を向上させます。

  • 工業検査
    製品の形状やエッジを正確に維持しながら、ノイズを低減して検査の精度を高めます。

  • エッジ保持型フィルタリング
    画像のエッジやディテールを損なわないフィルタリングが必要な場合に、ノイズ除去と平滑化を同時に実現します。

まとめ

HALCONmidrange_image関数は、ミッドレンジフィルタを使用して、画像のエッジやディテールを保持しながらノイズを除去するための効果的なツールです。医療画像や工業検査における精密な処理が求められる場面で特に有用であり、エッジを保持しながら滑らかさを向上させることができます。

Recommend