ヒストグラム

マシンビジョンの用語では、ヒストグラムとは、対象領域 (ROI) 内のピクセル、その数、個々のグレースケール値の配列を指します。In-Sight のヒストグラムツールは、統計的解析と特徴分類を目的とした、ピクセルのカウントに使用されます。

In-Sight ビジョンシステムでは、ヒストグラムツールの次の関数を使用して、ヒストグラム解析を実行します。

  • ExtractColorHistogram 関数: ROI からカラーヒストグラム配列を抽出します。
  • ExtractHistogram 関数: ROI からグレースケールヒストグラム配列を抽出します。
  • HistContrast 関数: ROI 内のコントラストを計算します。
  • HistCount 関数: グレースケール値の範囲内に存在するピクセルの数をカウントします。
  • HistHead 関数: 範囲内の最小のグレースケール値を検出します。
  • HistHeadPercentage 関数: ヒストグラムの指定された範囲内に含まれるピクセルのうち、指定された割合(%)よりも大きなグレースケール値を返します。
  • HistMax 関数: 範囲内の最も一般的なグレースケール値を検出します。
  • HistMean 関数: グレースケールの平均値を計算します。
  • HistMin 関数: 範囲内の最も発生頻度の低いグレースケール値を検出します。
  • HistSDev 関数: グレースケールの標準偏差を計算します。
  • HistSum 関数: ピクセルグレースケールの合計を計算します。
  • HistSumSquare 関数: 二乗したピクセルグレースケールの合計を計算します。
  • HistTail 関数: 範囲内の最大のグレースケール値を検出します。
  • HistTailPercentage 関数: ヒストグラムの指定された範囲内に含まれるピクセルのうち、指定された割合(%)よりも小さなグレースケール値を返します。
  • HistThresh 関数: 最適 2 値化しきい値を計算します。

ヒストグラムツールについて

ヒストグラムの概要

In-Sight ヒストグラムツールは、ROI を調べ、その中の個々のピクセルをグレースケール値に従って分類し、ピクセルのグレースケール値に従って「階層」に配置して、ヒストグラム解析を実行します。8 ビットグレースケール画像では、グレースケール値 (0 ~ 255) に基づき 256 の階層があります。各階層には、それに属するピクセル個数が含まれ、階層がそのカウントのインデックスとなります。例えば、画像がグレースケール値が 33 である 46 ピクセルを含んでいた場合、その領域のヒストグラムの 33 番目の階層には値 46 が含まれています。また、ヒストグラム配列内の階層の合計は、その抽出元の領域と常に同じです。

次の画像は、ExtractHistogram 関数によるヒストグラムチャートの例です。ヒストグラムチャートは、関数の ROI 内のピクセルのグレースケール値を表示します。

  • グラフの X 軸は、グレースケール値 (0 ~ 255) を表します。
  • グラフの Y 軸は、特定のグレースケール値のピクセル合計数を表します。Y 軸の目盛は、ピクセル合計数が最大であるグレースケール値を表示することによって構築されます。
  • 緑色の垂直線はしきい値を示します。

ヒストグラムツールを使用する場合

ヒストグラムは、すべての位置データを除き、画像に含まれるピクセルデータを簡潔に表すために重要です。関数は ROI 内のピクセル数と個々のグレースケール (またはカラー) 値に関する情報のみを返します。つまり、このヒストグラム配列から位置に依存しないすべてのグレースケール画像統計を直接計算することができます。

ヒストグラムツールは、特徴の有無の検出、照明値のチェックや、傷、ほこり、破片などがないかどうか判断するためのグレースケール値の非均一性の特定などの問題について画像を調べる際に有効です。

ヒストグラムツールの使用方法

ヒストグラムツールは通常、次の方法で使用されます (明るさの最大、最小値を用いることで良否を判別する場合)。

  • 手順 1 - 処理する画像がグレースケールの場合、ExtractHistogram 関数をスプレッドシートに挿入し、ヒストグラム解析を実施する画像領域を定義するためにパラメータを設定します。画像がカラー画像の場合は、ExtractColorHistogram 関数を使用します。
  • 手順 2 - 次に、HistHead 関数と HistTail 関数を使用してそれぞれ最初と最後の 0 以外の階層を検出します。HistHead 関数と HistTail 関数の出力を使用して、他のヒストグラム関数が解析を実行する範囲を設定し、ピクセルを含まない階層を削除します。
  • 手順 3 - 最後に、HistMin 関数と HistMax 関数を使用して、それぞれ最初と最後の 0 以外の階層間の最小と最大を判断します。他のヒストグラムツールを使用して追加の解析を実行することもできます (範囲を定義する HistHead 関数と HistTail 関数の出力を使用)。
:  HistMin 関数の FirstBin パラメータ引数にデフォルトの 0 が指定されている場合、HistHead 関数の出力に関係なく、HistMin 関数はピクセルを含まない最初の階層である、階層 0 を常に返します。