【HALCON】sub_image 関数について - 画像の減算処理

【HALCON】sub_image 関数について - 画像の減算処理

2024-09-10

2024-09-10

HALCONのsub_image関数は、2つの画像のピクセル値を減算し、その結果を新しい画像として出力するための関数です。この関数は、画像間の差分を計算するために使用され、変化検出やノイズ除去などの画像解析において役立ちます。たとえば、異なる時点で撮影された画像の比較や、背景画像との比較による異常検出などに応用されます。

sub_image 関数の概要

sub_image関数は、2つの入力画像のピクセルごとの値を減算し、差分画像を生成します。これは、画像間の差異を強調し、変化やノイズ、物体の移動を検出する際に非常に有効です。通常、同じサイズとフォーマットの2つの画像が必要です。

基本的な構文

sub_image(Image1, Image2, SubImage, Scale, Offset)
  • Image1
    減算元の最初の入力画像です。
  • Image2
    減算対象の2番目の入力画像です。
  • SubImage
    結果として生成される減算後の画像です。
  • Scale
    結果に適用するスケールファクタ。減算結果をスケーリングして出力します。
  • Offset
    結果に適用するオフセット値。結果に一定の値を追加します。

具体例

以下は、sub_image関数を使用して2つの画像の差分を計算する簡単な例です。

* 2つの画像の読み込み
read_image(Image1, 'image_before')
read_image(Image2, 'image_after')

* 画像の減算
sub_image(Image1, Image2, SubImage, 1.0, 128)

* 結果の表示
disp_image(SubImage, WindowHandle)

この例では、image_beforeimage_afterという2つの画像のピクセル値を減算し、SubImageにその差分画像を生成しています。Scaleとして1.0、Offsetとして128を指定しているため、出力画像は減算結果に128を加算して表示されます。

応用例

sub_image関数は、以下のような場面で効果的に使用されます。

  • 変化検出
    2つの異なる時点で撮影された画像の差分を計算することで、物体の移動やシーンの変化を検出できます。これは、監視システムや品質検査などの分野で有用です。

  • ノイズ除去
    背景画像と対象画像を比較して、差分を取ることで、ノイズや不要なオブジェクトを除去することができます。

  • 異常検知
    既知の正常画像と新しい画像の差分を計算することで、画像に含まれる異常や欠陥を検出できます。

まとめ

HALCONのsub_image関数は、2つの画像の差分を計算して、変化や異常を検出するために使用される便利なツールです。この関数を利用することで、物体の移動やシーンの変化を迅速に検出でき、監視システムや品質管理において大きな効果を発揮します。また、ノイズ除去や背景除去といった画像解析の前処理にも適しています。

Recommend