【HALCON】min_max_gray 関数について - グレースケール画像の最小値・最大値の計算

【HALCON】min_max_gray 関数について - グレースケール画像の最小値・最大値の計算

2024-09-04

2024-09-04

HALCONmin_max_gray関数は、グレースケール画像内の指定した領域における最小値と最大値を計算し、それぞれの位置を特定するためのツールです。画像処理において、輝度の分布やコントラストを解析する際に重要な役割を果たし、最小値と最大値の輝度情報を活用することで、画像の明るさの範囲や極端なピクセルを把握できます。特に、コントラストの評価や明暗領域の特定に効果的です。

min_max_gray 関数の概要

min_max_gray関数は、グレースケール画像内の任意の領域について、ピクセルの最小輝度値と最大輝度値を計算します。また、最小値と最大値が存在する位置(座標)も同時に取得することができます。この情報は、画像全体のコントラストや輝度分布を把握し、画像処理の前処理や異常検出に役立ちます。

使用方法

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

min_max_gray(Image, Region, Min, Max, RowMin, ColumnMin, RowMax, ColumnMax)
  • Image
    グレースケールの入力画像。
  • Region
    最小値・最大値を計算する対象領域。
  • Min
    領域内の最小輝度値(出力)。
  • Max
    領域内の最大輝度値(出力)。
  • RowMin
    最小値が存在する行(出力)。
  • ColumnMin
    最小値が存在する列(出力)。
  • RowMax
    最大値が存在する行(出力)。
  • ColumnMax
    最大値が存在する列(出力)。

具体例

以下に、min_max_gray関数を使用して、グレースケール画像の最小値と最大値を計算する例を示します。

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

* 領域を定義(例: 画像全体を対象とする)
gen_rectangle1(Region, 0, 0, 512, 512)

* 最小値と最大値を計算
min_max_gray(Image, Region, Min, Max, RowMin, ColumnMin, RowMax, ColumnMax)

* 結果を表示
disp_message(WindowHandle, 'Min Value: ' + Min + ' at (' + RowMin + ', ' + ColumnMin + ')', 'window', 12, 12, 'black', 'true')
disp_message(WindowHandle, 'Max Value: ' + Max + ' at (' + RowMax + ', ' + ColumnMax + ')', 'window', 24, 12, 'black', 'true')

この例では、example_image.pngの画像全体を対象として、最小輝度値と最大輝度値、およびそれらが存在する座標を計算しています。これにより、画像内の最も暗い場所と最も明るい場所を特定することができます。

応用例

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

  • 画像のコントラスト解析
    画像内の輝度の最小値と最大値を計算し、全体のコントラストを評価する際に使用されます。

  • 異常検出
    画像内で極端な輝度を持つピクセルを特定し、明暗の異常を検出するために利用します。

  • 画像の前処理
    最小値・最大値を計算することで、画像の明暗を調整し、次のステップでの処理精度を向上させるために活用されます。

まとめ

HALCONmin_max_gray関数は、グレースケール画像内の最小値と最大値、およびその位置を効率的に計算するためのツールです。この関数を使用することで、画像内のコントラストや輝度範囲を把握し、異常検出や画像の前処理において重要な情報を得ることができます。コントラスト解析や輝度評価が必要なシーンで、特に有用です。

Recommend