【HALCON】gray_histo_range 関数について - グレースケール画像の範囲ヒストグラム計算
2024-09-09
2024-09-09
HALCON
のgray_histo_range
関数は、グレースケール画像に対して指定された範囲内のヒストグラムを計算するための関数です。特定の画素値範囲におけるピクセルの分布を解析し、画像のコントラストや濃淡を評価するために使用されます。この関数は、画像の詳細な解析や、画像処理の前処理として有効です。
gray_histo_range 関数の概要
gray_histo_range
は、グレースケール画像内の特定の範囲におけるピクセル値のヒストグラムを計算します。ヒストグラムは、画像内の画素の分布を視覚的に表現するために使用され、画素値の頻度を示します。特定の画素値範囲に焦点を当てることで、画像のコントラストや明るさのバランス、暗部と明部の分布など、特定の特徴を抽出して評価できます。
基本的な使用方法
以下は、gray_histo_range
関数の基本的な構文です。
gray_histo_range(Image, Histogram, MinGray, MaxGray, NumBins)
-
Image
:
グレースケール画像。 -
Histogram
:
計算されたヒストグラムが格納される出力変数。 -
MinGray
:
ヒストグラム計算の開始となる最小の画素値。 -
MaxGray
:
ヒストグラム計算の対象となる最大の画素値。 -
NumBins
:
ヒストグラムのビン(区分)数。ビン数を増やすと、画素値の分布をより詳細に解析できます。
この関数を使用して、画像内の特定の画素値範囲におけるピクセルの分布を解析できます。
具体例
以下に、gray_histo_range
を使用して画像のヒストグラムを計算する例を示します。
* 画像の読み込み
read_image(Image, 'example_image')
* ヒストグラムの範囲とビン数を指定
MinGray := 0
MaxGray := 255
NumBins := 256
* グレースケール画像のヒストグラム計算
gray_histo_range(Image, Histogram, MinGray, MaxGray, NumBins)
* ヒストグラムの表示
disp_histogram(Histogram, WindowHandle)
この例では、グレースケール画像の全範囲(0~255)のヒストグラムを計算し、256個のビンに分けて表示しています。
応用例
gray_histo_range
は、以下のような場面で役立ちます。
-
画像のコントラスト評価
ヒストグラムを使って画像のコントラストを評価し、特定の明るさや暗さの分布を解析できます。例えば、画素値が偏っている場合はコントラストの調整が必要なことがわかります。 -
明るさや暗さの分析
画像内の特定の明るさや暗さのピクセル分布を調べることで、画像の露出状態を評価したり、異常な部分を検出できます。 -
画像処理の前処理
画像の均一性を向上させるために、ヒストグラム平坦化やコントラスト強調処理を行う前に、ヒストグラムを計算して分布を確認することができます。
ヒストグラムの解析
ヒストグラムを解析することで、次のような特徴を評価できます。
-
均等な分布
ヒストグラムが全範囲にわたって均等に分布している場合、画像のコントラストが適切であることを示します。 -
偏った分布
特定の範囲にヒストグラムが集中している場合、画像が暗すぎたり明るすぎたりする可能性があります。
まとめ
HALCON
のgray_histo_range
関数は、グレースケール画像に対する特定の範囲内でのヒストグラムを計算し、画素値の分布を解析するための重要なツールです。この関数を使用することで、画像内のコントラストや明るさのバランスを把握し、必要に応じて画像処理を行うための情報を得ることができます。ヒストグラムを通じて、画像の品質や特定の領域の評価を効率的に行うことが可能です。