【HALCON】do_ocr_multi_class_mlp 関数について - MLPベースの複数領域OCR処理

【HALCON】do_ocr_multi_class_mlp 関数について - MLPベースの複数領域OCR処理

2024-09-05

2024-09-05

HALCONdo_ocr_multi_class_mlp関数は、MLP(多層パーセプトロン)アルゴリズムを使用して、複数の領域に対して光学文字認識(OCR)を実行するための強力なツールです。MLPはニューラルネットワークの一種であり、文字認識の精度を向上させるために広く使用されています。この関数は、自動化された生産ラインや検査システムでのシリアル番号の読み取りやラベル情報の解析に役立ちます。

do_ocr_multi_class_mlp 関数の概要

do_ocr_multi_class_mlpは、トレーニング済みのMLPベースのOCRモデルを用いて、指定された複数の領域から文字を認識します。MLPアルゴリズムは、多層のニューラルネットワークを利用して、複雑なパターンや文字の特徴を学習し、高い認識精度を実現します。

この関数は、事前にトレーニングされたOCRモデルと、認識する領域を指定することで、複数領域に対して同時にOCRを実行し、各領域で認識された文字を返します。

使用方法

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

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

この関数は、複数の領域に対してOCRを実行し、それぞれの領域内の文字を認識して結果を返します。信頼度は、認識された文字に対する確信度を表し、より高い値は認識が正確であることを示します。

具体例

以下に、do_ocr_multi_class_mlp関数を使用して、複数領域で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)

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

* OCRの実行
do_ocr_multi_class_mlp(OCRHandle, Image, Regions, Class, Confidence)

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

この例では、text_imageという画像内の2つの領域を指定し、それぞれの領域でMLPベースのOCRを実行しています。do_ocr_multi_class_mlp関数は、各領域内の文字を認識し、その結果をClass変数に格納します。また、認識結果の信頼度をConfidence変数に保存します。

応用例

do_ocr_multi_class_mlpは、以下のようなシナリオで活用できます。

  • シリアル番号の読み取り
    製造ラインで、複数の製品に刻印されたシリアル番号を一括で読み取ることができます。

  • ラベルの自動検査
    複数のラベルに対して同時にOCRを実行し、内容を自動的に確認し、エラーや不良を検出します。

  • 書類のデジタル化
    文書内の複数のテキスト領域を一度に認識し、効率的にデジタルデータに変換します。

注意点

do_ocr_multi_class_mlpを使用する際は、MLPモデルが正しくトレーニングされていることが重要です。認識する文字のフォントやサイズ、画像の解像度によって認識精度が異なるため、適切なトレーニングデータを使用してモデルを最適化する必要があります。また、文字領域の指定も精度に影響するため、正確に設定することが求められます。

まとめ

HALCONdo_ocr_multi_class_mlp関数は、MLPベースのOCR処理を複数の領域に対して一度に実行するための強力なツールです。製造業や自動化システム、文書管理において、複数のテキスト領域を効率的に認識するために利用され、高精度な文字認識が可能です。適切なトレーニングと設定により、複雑な文字認識タスクを迅速かつ正確に処理することができます。

Recommend