【HALCON】do_ocr_multi 関数について - 複数オブジェクトに対するOCR処理

【HALCON】do_ocr_multi 関数について - 複数オブジェクトに対するOCR処理

2024-09-05

2024-09-05

HALCONdo_ocr_multi関数は、複数の領域に対して同時に光学文字認識(OCR)を実行する強力なツールです。この関数を使用することで、一度に複数の文字を認識し、効率的に情報を抽出できます。主に製造業や検査分野で、製品のシリアル番号やテキスト情報を迅速に読み取るために利用されます。

do_ocr_multi 関数の概要

do_ocr_multi関数は、指定された複数の領域に対して OCR を実行し、それぞれの領域内の文字を認識して文字列を返します。通常、画像内のテキスト情報を取得する際に使用され、手書き文字や印刷された文字に対しても高い精度で認識が可能です。

この関数を使用する際には、あらかじめ OCR モデルをトレーニングし、文字領域を指定する必要があります。

使用方法

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

do_ocr_multi(OCRHandle, Image, Regions, Class, Confidence)
  • OCRHandle
    事前にトレーニングされた OCR モデルのハンドル。
  • Image
    OCR を実行する入力画像。
  • Regions
    文字認識を行う複数の領域。
  • Class
    認識された文字列が返される変数。
  • Confidence
    認識結果の信頼度を示す値。

この関数は、指定された領域の文字を OCR で読み取り、文字列とその認識信頼度を返します。

具体例

以下に、do_ocr_multi関数を使用して複数領域に対する OCR を実行する例を示します。

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

* 文字領域の検出
gen_rectangle1(Region1, 100, 50, 150, 100)
gen_rectangle1(Region2, 200, 50, 250, 100)
concat_obj(Region1, Region2, Regions)

* OCRモデルの読み込み
read_ocr_class_knn('Industrial_0-9A-Z_NoRej.omc', OCRHandle)

* 複数領域に対するOCRの実行
do_ocr_multi(OCRHandle, Image, Regions, Class, Confidence)

* 結果を表示
disp_message(WindowHandle, Class, 'window', 12, 12, 'black', 'true')

この例では、text_imageという画像内の 2 つの矩形領域に対して OCR を実行し、認識された文字列をClass変数に格納し、結果を画面に表示します。

応用例

do_ocr_multiは、複数の領域に対する同時文字認識が求められる場面で効果的です。具体的な応用例としては以下のものがあります。

  • 製品のシリアル番号読み取り
    自動化された生産ラインで、製品やパッケージのシリアル番号を一度に複数検出し、データベースと照合します。

  • 書類のデジタル化
    書類のテキスト部分を一括で OCR 処理することで、迅速にデジタル化が可能です。

  • ラベル検査
    製品ラベルの文字情報を同時に読み取ることで、誤りや異常がないかを自動的にチェックできます。

注意点

do_ocr_multiを使用する際には、OCR モデルの事前トレーニングが必要です。また、認識する文字領域が適切に指定されていることが重要です。文字の大きさやフォントの違い、画像の解像度によって認識精度が変わるため、環境に応じた最適化が求められます。

まとめ

HALCONdo_ocr_multi関数は、複数の領域に対する OCR 処理を効率的に行うための強力なツールです。製造業や物流、文書管理など、幅広い分野で文字認識の自動化を実現するために活用されています。適切な OCR モデルと領域設定を行うことで、精度の高い文字認識が可能になります。

Recommend