【HALCON】get_1d_bar_code_scanline 関数について - スキャンラインによる1次元バーコードの読み取り
2024-09-04
2024-09-04
HALCON
のget_1d_bar_code_scanline
関数は、スキャンラインを使用して画像内の1次元バーコードを読み取り、その内容をデコードするためのツールです。この関数を使用することで、複雑な背景や部分的に遮られたバーコードからも効率的にデータを抽出でき、商品の管理や物流システムにおいて重要な役割を果たします。
get_1d_bar_code_scanline 関数の概要
get_1d_bar_code_scanline
関数は、スキャンライン技術を使用して1次元バーコードを読み取ります。スキャンラインとは、画像の特定のライン(行)に沿ってデータを取得する手法で、線形パターンを持つバーコードを効率的に解析するのに適しています。この手法は、背景が複雑な場合やバーコードが部分的に遮られている場合でも正確にデコードを行えるため、広く利用されています。
使用方法
get_1d_bar_code_scanline
関数の基本的な使用方法は以下の通りです。
get_1d_bar_code_scanline(DecodedDataStrings, Image, BarCodeHandle, 'EAN-13', ['search_direction', 'timeout'], ['any', 1000])
DecodedDataStrings
読み取られたバーコードのデータが格納される変数。Image
バーコードを含む入力画像。BarCodeHandle
バーコードを読み取るためのハンドル(設定オプション)。BarCodeType
読み取り対象のバーコードの種類(例: ‘EAN-13’, ‘Code 128’ など)。GenParamNames
バーコード読み取りに関する追加オプション(例: ‘search_direction’など)。GenParamValues
追加オプションに対応する値。
具体例
以下に、get_1d_bar_code_scanline
関数を使用して1次元バーコードを読み取る例を示します。
* 画像を読み込み
read_image(Image, 'barcode_image.png')
* バーコードハンドルを作成
create_bar_code_model(BarCodeHandle)
* バーコードの種類を設定
set_bar_code_param(BarCodeHandle, 'barcode_types', 'EAN-13')
* スキャンラインによるバーコードの読み取り
get_1d_bar_code_scanline(DecodedDataStrings, Image, BarCodeHandle, 'EAN-13', [], [])
* 読み取ったデータを表示
disp_message(WindowHandle, 'Decoded Data: ' + DecodedDataStrings, 'window', 12, 12, 'black', 'true')
この例では、EAN-13
タイプのバーコードを含む画像を読み込み、スキャンライン技術を使用してその内容をデコードしています。create_bar_code_model
関数でバーコードハンドルを作成し、バーコードタイプを設定した後、スキャンラインを使用してバーコードを読み取ります。
応用例
get_1d_bar_code_scanline
関数は、以下のようなシナリオで特に有用です。
- 複雑な背景でのバーコード読み取り
複雑な背景がある画像でも、スキャンラインを使用して正確にバーコードを読み取ることができます。 - 部分的に遮られたバーコードの読み取り
バーコードが部分的に隠れている場合でも、スキャンライン技術によりデータを抽出可能です。 - 高速なデコード処理
スキャンラインは、バーコードの線形パターンを迅速に解析するため、高速なデコード処理が可能です。
まとめ
HALCON
のget_1d_bar_code_scanline
関数は、スキャンラインを使用して1次元バーコードを効率的に読み取るための強力なツールです。この関数を使用することで、複雑な背景や部分的に遮られたバーコードからも正確にデータを取得でき、商品管理や物流システムでの自動認識プロセスを大幅に改善します。スキャンライン技術を活用したバーコード読み取りは、現代の画像処理アプリケーションにおいて不可欠な技術となっています。