【HALCON】testd_ocr_class_box 関数について - OCRクラスの境界ボックステスト
2024-09-10
2024-09-10
HALCONのtestd_ocr_class_box
関数は、OCR(光学文字認識)クラスの文字が指定された境界ボックス内に収まっているかどうかを確認するための関数です。OCRシステムによる文字認識の結果が、期待する範囲に収まっているかを確認するために使用され、文字の位置や大きさが正確かどうかを検証する際に役立ちます。特に、OCR認識の後に文字が指定した範囲に収まっているかを確認する際に効果的です。
testd_ocr_class_box 関数の概要
testd_ocr_class_box
関数は、OCRクラスで認識された文字が、指定された最小・最大座標で定義された境界ボックス内に収まっているかをテストします。これにより、認識された文字が意図した位置やサイズの範囲内に存在するかを確認することができます。このテストは、OCRの精度や結果の正確さを確認するために使用されます。
基本的な構文
testd_ocr_class_box(OCRHandle, Min, Max, IsInside)
OCRHandle
テスト対象のOCRクラスのハンドルです。Min
境界ボックスの最小座標値を指定します(各次元の最小値)。Max
境界ボックスの最大座標値を指定します(各次元の最大値)。IsInside
OCRクラスの文字が指定された境界ボックス内に収まっているかどうかの結果を返すブール値です。true
なら範囲内にあり、false
なら範囲外です。
具体例
以下は、testd_ocr_class_box
関数を使用して、OCR認識された文字が指定した境界ボックス内に収まっているかをテストする例です。
* OCRモデルの読み込み
read_ocr_class_box(OCRHandle, 'trained_ocr_model.omc')
* 境界ボックスの設定
Min := [-10, -10]
Max := [200, 200]
* OCR文字が境界ボックス内にあるかをテスト
testd_ocr_class_box(OCRHandle, Min, Max, IsInside)
* 結果の表示
disp_message(WindowHandle, 'OCR inside box: ' + IsInside, 'window', 12, 12, 'black', 'true')
この例では、事前にトレーニングされたOCRモデルOCRHandle
を読み込み、文字が境界ボックスMin
とMax
で定義された範囲内にあるかどうかをテストしています。結果はIsInside
にブール値で返され、範囲内に収まっていればtrue
、範囲外であればfalse
が表示されます。
実行結果
- 範囲内の文字:
IsInside = true
- 範囲外の文字:
IsInside = false
応用例
testd_ocr_class_box
関数は、以下のような場面で使用されます。
-
OCR認識結果の精度確認
OCR認識された文字が、指定された範囲内に収まっているかを確認し、認識結果が正確かどうかを検証します。例えば、文字が特定の枠やエリアに配置されているか確認する際に役立ちます。 -
物体やテキストの配置検証
文字認識後、認識された文字が正しい位置に配置されているか、特定の範囲内に収まっているかを確認することで、物体やラベルの認識精度を向上させることができます。 -
文字認識に基づいた品質管理
製造業や印刷業で、文字やラベルが正しい位置にあるかどうかを確認するために使用され、不良品や誤った配置を検出する際に役立ちます。
まとめ
HALCONのtestd_ocr_class_box
関数は、OCRによって認識された文字が指定された境界ボックス内に収まっているかどうかを確認するための便利なツールです。この関数を使用することで、文字の位置やサイズが期待通りの範囲内にあるかをテストし、認識結果の精度を高めることができます。OCRシステムの品質管理や正確なテキスト配置を必要とする場面で役立ちます。