【HALCON】do_ocr_single_class_knn 関数について - KNNアルゴリズムを用いた単一領域OCR処理
2024-09-05
2024-09-05
HALCON
のdo_ocr_single_class_knn
関数は、KNN(k 近傍法)アルゴリズムを使用して、単一の領域に対して光学文字認識(OCR)を実行するための関数です。KNN は、対象となるデータの最も近い k 個のデータを基に分類を行うアルゴリズムで、シンプルな OCR タスクに適しており、製造業でのシリアル番号の認識やラベル情報の読み取りなどで広く利用されています。
do_ocr_single_class_knn 関数の概要
do_ocr_single_class_knn
は、KNN アルゴリズムを使用して OCR を行うため、事前にトレーニングされた OCR モデルを活用して単一の領域に対する文字認識を行います。この関数は、特定のエリアに限定した文字認識を行う際に、シンプルかつ精度の高い結果を提供します。製造ラインでの製品のラベル情報の確認やシリアル番号の認識などに役立ちます。
使用方法
do_ocr_single_class_knn
関数の基本的な使用方法は以下の通りです。
do_ocr_single_class_knn(OCRHandle, Image, Region, Class, Confidence)
OCRHandle
トレーニング済みの KNN OCR モデルのハンドル。Image
OCR を実行する入力画像。Region
文字認識を行う単一の領域。Class
認識された文字列を返す変数。Confidence
認識結果の信頼度を示す値。
この関数は、指定された単一の領域内の文字を KNN アルゴリズムを用いて認識し、結果をClass
に、認識信頼度をConfidence
に格納します。
具体例
以下に、do_ocr_single_class_knn
関数を使用して単一領域に対する OCR を実行する具体例を示します。
* 画像の読み込み
read_image(Image, 'text_image')
* 文字領域の生成
gen_rectangle1(Region, 100, 50, 150, 100)
* KNN OCRモデルの読み込み
read_ocr_class_knn('Industrial_0-9A-Z_NoRej.omc', OCRHandle)
* OCRの実行
do_ocr_single_class_knn(OCRHandle, Image, Region, Class, Confidence)
* 結果を表示
disp_message(WindowHandle, Class, 'window', 12, 12, 'black', 'true')
この例では、画像text_image
の一部に対して OCR を実行しています。矩形領域(Region
)を指定し、その領域内で認識された文字列がClass
変数に保存され、画面に結果が表示されます。
応用例
do_ocr_single_class_knn
は、次のようなシンプルな OCR タスクに適しています。
-
シリアル番号や製品コードの読み取り
製品やパーツのシリアル番号を読み取り、自動で管理システムに登録します。 -
ラベルの自動検査
ラベルに記載された情報を検査し、印字された内容を自動的に確認します。 -
文書処理
単一の領域に記載された文字やコードを読み取り、データベースに記録します。
注意点
do_ocr_single_class_knn
を使用する際には、OCR モデルが認識対象に適したものであることが重要です。対象のフォントや文字サイズ、画像解像度により認識精度が変わるため、モデルの最適化やトレーニングデータの調整が必要になる場合があります。また、文字領域の正確な指定も精度に大きく影響します。
まとめ
HALCON
のdo_ocr_single_class_knn
関数は、KNN アルゴリズムを使用したシンプルかつ高速な OCR 処理を実行するための基本的なツールです。製造業やラベル検査、文書管理において、特定の領域に限定した文字認識を効率的に行うことができ、幅広い OCR タスクに対応可能です。