【HALCON】do_ocr_multi_class_svm 関数について - SVMベースの複数領域OCR処理
2024-09-05
2024-09-05
HALCON
のdo_ocr_multi_class_svm
関数は、SVM(サポートベクターマシン)アルゴリズムを使用して、複数領域に対して光学文字認識(OCR)を実行するためのツールです。SVM は分類問題で非常に高い精度を誇る機械学習アルゴリズムで、特に複数の領域に同時に適用する OCR 処理に最適です。この関数は、製造業や検査システムにおける複雑な文字認識タスクで広く使用されています。
do_ocr_multi_class_svm 関数の概要
do_ocr_multi_class_svm
は、SVM をベースにした OCR モデルを使用し、指定された複数の領域から同時に文字を認識します。SVM は、識別境界を明確に定義することで、高精度な文字認識を可能にします。この関数は、製造業でのシリアル番号や製品コードの読み取り、ラベル検査など、多様な用途に応用されています。
使用方法
do_ocr_multi_class_svm
関数の基本的な使用方法は以下の通りです。
do_ocr_multi_class_svm(OCRHandle, Image, Regions, Class, Confidence)
OCRHandle
トレーニング済みの SVM OCR モデルのハンドル。Image
OCR を実行する入力画像。Regions
文字認識を行う複数の領域。Class
認識された文字列が返される変数。Confidence
各認識結果の信頼度を示す値。
この関数は、複数の領域に対して OCR を実行し、それぞれの領域内の文字を認識し、結果をClass
に、認識信頼度をConfidence
に格納します。
具体例
以下に、do_ocr_multi_class_svm
関数を使用して、複数領域に対して 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)
* SVM OCRモデルの読み込み
read_ocr_class_svm('Industrial_0-9A-Z_NoRej.omc', OCRHandle)
* OCRの実行
do_ocr_multi_class_svm(OCRHandle, Image, Regions, Class, Confidence)
* 結果を表示
disp_message(WindowHandle, Class, 'window', 12, 12, 'black', 'true')
この例では、text_image
という画像の中の 2 つの領域に対して OCR を実行しています。指定された領域(Region1
とRegion2
)で SVM アルゴリズムを使用して文字認識を行い、結果をClass
変数に、信頼度をConfidence
変数に保存します。
応用例
do_ocr_multi_class_svm
は、複数の領域に対する高精度な OCR 処理が求められるさまざまなシナリオで使用されます。
-
製造ラインでのシリアル番号読み取り
製品や部品に刻印されたシリアル番号を一括で読み取り、データ管理や品質管理に活用します。 -
ラベル検査
複数のラベルに対して同時に OCR を実行し、ラベル情報の誤りや不良を自動的に検出します。 -
文書処理やデジタル化
文書内の複数領域に含まれる文字を一度に認識し、デジタルデータとして保存することで、書類のデジタル化プロセスを効率化します。
注意点
do_ocr_multi_class_svm
を使用する際は、SVM モデルが正しくトレーニングされていることが重要です。認識する文字のフォントやサイズ、画像の解像度により認識精度が影響されるため、使用するデータに合わせてモデルを最適化する必要があります。また、文字領域の正確な設定も精度に大きく影響します。
まとめ
HALCON
のdo_ocr_multi_class_svm
関数は、SVM アルゴリズムを使用した高精度な OCR 処理を複数領域で同時に実行するための強力なツールです。製造業や自動化システム、ラベル検査や文書管理など、多くの場面で効率的かつ正確な文字認識が可能です。適切なトレーニングと設定により、複雑な文字認識タスクを迅速に処理することができます。