OCRMaxパラメータ調整のヒント

OCRMaxツール(文字認識)を使うときのノウハウです。情報を入手したら追加します。

◎ … 最初に確認するパラメータ
◇ … 微調整
△ … ときどき調整する

【セグメンテーション(分割)】

◎文字の幅と高さ

    • 最小
    • 最大(オプション、幅が大きければ2文字に分断する)
  • 高さ
    • 最小
    • 最大(オプション、文字列にまたがる縦線ノイズを除く、各文字をこの高さで切り出す)


△文字の極性

  • 暗い文字、明るい背景
  • 明るい文字、暗い背景


△幅のタイプ


◇実際に文字が回転する範囲に、角度範囲を指定する

△融通性を持たせるために、スキュー範囲を指定する。例えば1.0

◇空白の設定

  • 挿入モード
    • 空白無し
    • 間隔が広くても空白1文字のみ
    • 間隔の広さに応じて空白文字を複数
    • 最小
    • 最大

【フラグメント(断片)】

◎境界にかかった断片を無視する(ON/OFF)

△ノイズが多いとき、断片の最小面積を大きくする

△結合モード

  1. 要オーバーラップ … 2つの断片が水平ラインで見て重なっていれば結合する
  2. 文字間ギャップの最小 … 2つの文字は指定した値より(水平に)離れている必要がある。近ければ最大幅の範囲で結合する。値が0(デフォルト)だと文字(断片)を結合しない
  3. 1文字内の最大水平ギャップ … 値より離れている断片は、結合されず、2文字になる。分割された文字(断片)が小さければ最小面積などで除外される。2より優先になる

【フォント登録】

なるべくきれいな画像で文字を登録する。運用時のノイズは、ある程度、無視できる

現れる可能性がある文字(A-Z、0-9、太い、細い、大きい、小さい)をすべて登録する。1番得点が高いものを報告するので誤読し難くなる

【実行パラメータ】

△ノイズが多い画像ではアクセプトしきい値を下げる。デフォルトが 80.0 なので例えば 70.0

【フィールディング】

◇現れる文字数を指定する。種類(英字、数字)が分かっているならば指定する

  • 検出した空白について、フィールドで指定していない空白を、無視するかどうか(オプション)
  • フィールドに指定していない文字を、無視するかどうか(オプション)
  • 文字数を可変長にするかどうか(オプション)


■ 分割のためのその他の設定

文字

ピッチのタイプ(可変/固定)

正規化モード …
ストローク幅フィルタ …

■ 用語

コンフュージョン … 2番目に似ている文字を調べ、得点の近さで、誤読しやすさを確認する

■ その他

通常は、OCRMax の前に、他のパターンで位置決めして、領域を文字列の移動に追従させる
OCRMax 実行前の画像フィルタは、領域全体にかかってしまうので、良くない
但し、刻印がきれいでないときは、オープンフィルタ(またはローパスフィルタ)で少しスムーズにする
1文字ずつ識別させると、文字列のセンターラインが決まらないので、良くない
◎1 や I があるときは、最小文字幅を小さくする
△ハイフンがあるときは、最小文字高さを小さくする
◇バイナリ画像を表示させて識別を確認する