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

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

2024-09-05

2024-09-05

HALCONdo_ocr_multi_class_knn関数は、KNN(k 近傍法)アルゴリズムを使用して、複数の領域に対して同時に光学文字認識(OCR)を実行するための強力なツールです。この関数は、製造業や文書管理システムなどで効率的に文字認識を行うために使用され、特に多領域での文字読み取りに優れた性能を発揮します。

do_ocr_multi_class_knn 関数の概要

do_ocr_multi_class_knn関数は、KNN アルゴリズムを使用して OCR を実行し、複数の指定された領域から文字を認識します。KNN は、教師あり学習に基づいて、未知のデータを既知のデータに最も近い k 個の隣接点を基に分類するため、精度の高い文字認識が可能です。

この関数を使用するためには、事前にトレーニングされた OCR モデルと、認識する文字領域を指定する必要があります。

使用方法

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

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

この関数は、複数の領域に対して OCR を実行し、それぞれの領域内の文字を認識します。結果は、認識された文字列と、それに対応する信頼度として返されます。

具体例

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

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

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

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

この例では、画像内の 2 つの矩形領域(Region1Region2)を指定して OCR を実行し、それぞれの領域で認識された文字列をClassに保存しています。do_ocr_multi_class_knnは、KNN アルゴリズムを使用して高精度な文字認識を行い、その結果と信頼度を返します。

応用例

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

  • シリアル番号や製品コードの読み取り
    製造業での自動化システムにおいて、複数の製品や部品のシリアル番号を一度に読み取り、効率的にデータを管理できます。

  • ラベル検査と文字認識
    複数のラベルに対して同時に OCR を適用し、ラベルの内容や識別情報を自動的に検査します。

  • 書類のテキスト認識
    文書管理システムで、複数の領域に含まれるテキストデータを一括で認識し、デジタル化や検索に利用できます。

注意点

do_ocr_multi_class_knnを使用する際には、OCR モデルの精度や、トレーニングデータに依存する点に注意が必要です。使用するデータやフォント、文字の大きさによっては、モデルの事前トレーニングが必要です。また、領域の設定や画像解像度も結果に影響を与えるため、最適な条件を確認することが重要です。

まとめ

HALCONdo_ocr_multi_class_knn関数は、KNN アルゴリズムを使用して複数の領域に対して高精度な OCR 処理を行うための強力なツールです。特に製造業や自動化システム、文書管理など、複数のテキスト領域の認識が求められる場面で非常に有用です。OCR モデルの適切なトレーニングと領域の設定により、高精度な文字認識が可能になります。

Recommend