【HALCON】find_1d_bar_code_scanline 関数について - スキャンラインを使用した1Dバーコードの検出と読み取り

【HALCON】find_1d_bar_code_scanline 関数について - スキャンラインを使用した1Dバーコードの検出と読み取り

2024-09-04

2024-09-04

HALCONfind_1d_bar_code_scanline関数は、スキャンラインを使用して1Dバーコードを検出し、内容を読み取るためのツールです。スキャンラインは、画像内の特定のラインに沿ってデータを取得する方法で、画像全体を解析する必要がないため、高速で効率的なバーコード検出と読み取りが可能です。この関数は、産業オートメーションや物流など、迅速なバーコード読み取りが求められるシナリオで特に有効です。

find_1d_bar_code_scanline 関数の概要

find_1d_bar_code_scanline関数は、画像内の指定されたスキャンライン上で1Dバーコードを検出し、読み取ります。スキャンラインを使用することで、画像全体を処理することなく、特定のライン上の情報に焦点を当てて処理を行うことができます。これにより、処理時間が短縮され、効率的なバーコード検出が可能になります。

使用方法

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

find_1d_bar_code_scanline(Image, Row, Column, BarCodeHandle, CodeType, DecodedData)
  • Image
    バーコードを検出する対象の画像。
  • Row
    スキャンラインの行座標を指定します。
  • Column
    スキャンラインの列座標を指定します。
  • BarCodeHandle
    バーコード検索用のハンドル。
  • CodeType
    読み取るバーコードの種類(例: ‘EAN13’, ‘CODE128’ など)。
  • DecodedData
    読み取られたバーコードの内容が格納される変数。

具体例

以下に、find_1d_bar_code_scanline関数を使用して、スキャンライン上で1Dバーコードを検出し読み取る例を示します。

* 画像の読み込み
read_image(Image, 'barcode_example_image')

* スキャンラインの定義
Row := 200
Column := [0, 640]

* バーコード検索用ハンドルの生成
create_bar_code_model(BarCodeHandle)

* スキャンライン上での1Dバーコードの検出と読み取り
find_1d_bar_code_scanline(Image, Row, Column, BarCodeHandle, 'EAN13', DecodedData)

* 結果の表示
disp_message(WindowHandle, 'Decoded Data: ' + DecodedData, 'window', 12, 12, 'black', 'true')

この例では、画像内の指定されたスキャンライン(Row = 200)上で1Dバーコード(EAN13形式)を検出し、その内容を読み取ります。読み取られたバーコードのデータはDecodedData変数に格納されます。

応用例

find_1d_bar_code_scanline関数は、以下のようなシナリオで特に有用です。

  • 産業オートメーション
    生産ラインで、製品の一部に沿ってバーコードを効率的に検出・読み取りするシステムに使用されます。
  • 物流
    コンベア上を流れるパッケージの特定のライン上に配置されたバーコードを迅速に読み取ります。
  • 製品検査
    製品の特定部分のスキャンラインに基づき、バーコードを検出し、内容を確認します。

まとめ

HALCONfind_1d_bar_code_scanline関数は、スキャンラインを使用して1Dバーコードを効率的に検出・読み取りするための強力なツールです。この関数を活用することで、画像全体を解析することなく、特定のラインに焦点を当てた高速なバーコード処理が可能になります。

Recommend