OCRMaxツール(文字認識)を使うときのノウハウです。情報を入手したら追加します。
◎ … 最初に確認するパラメータ
◇ … 微調整
△ … ときどき調整する
【セグメンテーション(分割)】
◎文字の幅と高さ
- 幅
- 最小
- 最大(オプション、幅が大きければ2文字に分断する)
- 高さ
- 最小
- 最大(オプション、文字列にまたがる縦線ノイズを除く、各文字をこの高さで切り出す)
△文字の極性
- 暗い文字、明るい背景
- 明るい文字、暗い背景
△幅のタイプ
◇実際に文字が回転する範囲に、角度範囲を指定する
△融通性を持たせるために、スキュー範囲を指定する。例えば1.0
◇空白の設定
- 挿入モード
- 空白無し
- 間隔が広くても空白1文字のみ
- 間隔の広さに応じて空白文字を複数
- 幅
- 最小
- 最大
【フラグメント(断片)】
◎境界にかかった断片を無視する(ON/OFF)
△ノイズが多いとき、断片の最小面積を大きくする
△結合モード
- 要オーバーラップ … 2つの断片が水平ラインで見て重なっていれば結合する
- 文字間ギャップの最小 … 2つの文字は指定した値より(水平に)離れている必要がある。近ければ最大幅の範囲で結合する。値が0(デフォルト)だと文字(断片)を結合しない
- 1文字内の最大水平ギャップ … 値より離れている断片は、結合されず、2文字になる。分割された文字(断片)が小さければ最小面積などで除外される。2より優先になる
【フォント登録】
なるべくきれいな画像で文字を登録する。運用時のノイズは、ある程度、無視できる
現れる可能性がある文字(A-Z、0-9、太い、細い、大きい、小さい)をすべて登録する。1番得点が高いものを報告するので誤読し難くなる
【実行パラメータ】
△ノイズが多い画像ではアクセプトしきい値を下げる。デフォルトが 80.0 なので例えば 70.0
【フィールディング】
◇現れる文字数を指定する。種類(英字、数字)が分かっているならば指定する
- 検出した空白について、フィールドで指定していない空白を、無視するかどうか(オプション)
- フィールドに指定していない文字を、無視するかどうか(オプション)
- 文字数を可変長にするかどうか(オプション)
■ 分割のためのその他の設定
文字
- 最小アスペクト比
- 最小面積
ピッチのタイプ(可変/固定)
正規化モード …
ストローク幅フィルタ …
■ 用語
コンフュージョン … 2番目に似ている文字を調べ、得点の近さで、誤読しやすさを確認する
■ その他
通常は、OCRMax の前に、他のパターンで位置決めして、領域を文字列の移動に追従させる
OCRMax 実行前の画像フィルタは、領域全体にかかってしまうので、良くない
但し、刻印がきれいでないときは、オープンフィルタ(またはローパスフィルタ)で少しスムーズにする
1文字ずつ識別させると、文字列のセンターラインが決まらないので、良くない
◎1 や I があるときは、最小文字幅を小さくする
△ハイフンがあるときは、最小文字高さを小さくする
◇バイナリ画像を表示させて識別を確認する