【HALCON】do_ocr_single 関数について - 単一領域に対するOCR処理

【HALCON】do_ocr_single 関数について - 単一領域に対するOCR処理

2024-09-05

2024-09-05

HALCONdo_ocr_single関数は、単一の領域に対して光学文字認識(OCR)を実行するための基本的な関数です。この関数は、シンプルなOCRタスクや単一の文字領域に対して認識を行う場合に最適です。製造業でのラベル検査や製品シリアル番号の読み取りなど、多岐にわたる用途で利用されます。

do_ocr_single 関数の概要

do_ocr_single関数は、1つの指定された領域に対してOCRを実行し、その領域内の文字を認識します。この関数は、他の複数領域対応のOCR関数と異なり、単一領域に焦点を当てたOCR処理を行います。シンプルかつ高速に処理を行うため、特定のエリアに限定した文字認識タスクに適しています。

使用方法

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

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

この関数は、Regionに指定された領域内の文字をOCRで認識し、結果をClass変数に、認識の信頼度をConfidenceに格納します。

具体例

以下に、do_ocr_single関数を使用して単一領域に対するOCRを実行する具体的な例を示します。

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

* 文字領域の生成
gen_rectangle1(Region, 100, 50, 150, 100)

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

* OCRの実行
do_ocr_single(OCRHandle, Image, Region, Class, Confidence)

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

この例では、画像text_imageの一部分(Region)に対してOCRを実行しています。領域内で認識された文字列がClassに保存され、結果が画面に表示されます。

応用例

do_ocr_singleは、次のようなシンプルなOCRタスクに適しています。

  • 製品シリアル番号の読み取り
    製造ラインで、製品のシリアル番号やコードを特定の領域から認識し、自動的に管理システムに登録します。

  • ラベル検査
    ラベルに記載された情報を検査する際に、特定のエリアに対してOCRを実行し、正確なテキストが印字されているか確認します。

  • フォームや書類の特定フィールドの認識
    書類の特定の領域に含まれる文字をOCRで認識し、データベースに保存します。

注意点

do_ocr_singleを使用する際には、OCRモデルのトレーニングデータと、対象とする文字のフォントやサイズが適切であることが重要です。また、文字認識を行う領域の指定が正確であることも、認識精度に影響を与えるため、正しい領域設定が必要です。

まとめ

HALCONdo_ocr_single関数は、単一領域に対して高速でシンプルなOCR処理を実行するための基本的なツールです。製造業やラベル検査、書類処理において、特定の領域に限定した文字認識を効率的に行うことができ、様々なシンプルなOCRタスクに対応可能です。

Recommend