型が Character String の要素は、数字列を検索するために使用します。画質が非常に良好であれば、アルファベットに正規表現を指定することもできます。しかし、バッチ内の画像の品質にばらつきがある場合は、対応する field で認識される可能性のある文字の一覧を指定する必要があります。画像や印字の品質が十分でないと、数字が別の文字として誤認識されることがあります。たとえば、“8” が “B”、“7” が ”?”、“5” が “S”、“4” が “H” や文字の組み合わせ “LI” として認識されることがあります。このようなことは、数字同士が「くっついて」いる場合に起こることがあり、タイプライターで記入された文書ではよく見られます。
認識結果が実際の文字とどの程度一致するかは、画質に左右されます。処理する画像のすべて、または大部分で文字の誤認識が起こる傾向がある場合は、対応する Character String 要素の Edit Alphabet ウィンドウで、それらの認識候補をアルファベットに追加してください。これらの文字を指定すると、検索領域内でそれらの文字が見つかった場合に、プログラムはその仮説にペナルティを課さなくなります。
もちろん、考えられる認識候補をすべて指定する必要はありません。画像の品質が悪い場合、そのような候補をすべて見つけ出すのは非常に時間のかかる作業になることがあります。画質が低く、認識結果を予測できない場合は、文字列の長さや文字列内の空白の長さなど、他の要素のプロパティを使用して検索を実行してください。
数字と形が似ている文字を指定してください。そのような文字は、他の文字よりも誤認識される可能性が高くなります。必要に応じて、数字とよく取り違えられる他の文字を指定することもできます。
プロジェクト 1.fsp (フォルダー Digital strings\Project1) を見てみましょう。
このプロジェクトには 3 ページあります。
- ページ 1 – 数字 4 が文字の組み合わせ “LI” として認識されています。
- ページ 2 – 部分文字列 13 が文字 “å” として認識されています。
- ページ 3 – 数字 0 は “a”、2 と 5 は “S”、6 と 8 は “B” として認識されています。
数字列を検出するために、型が Character String の要素を作成し、DigitalString という名前を付け、アルファベットには数字のみを指定しました。また、数字以外の文字の最大割合を 20% に設定しました。
すべてのページで FlexiLayout のマッチング手順を実行したところ、ページ 3 の数字 field は完全には検出されませんでした。仮説の品質値は約 0.98 です。ページ 1 と 2 では文字列は検出されましたが、アルファベットに含まれない文字が入っているため、対応する仮説にはペナルティが課され、品質はそれぞれ 0.978 と 0.982 になりました。
次に、数字の代わりに誤認識された文字 L、I、e、a、B、S をアルファベットに追加した場合の FlexiLayout のマッチング結果を見てみましょう。
FlexiLayout のマッチング結果は、プロジェクト 2.fsp (フォルダー %public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks\Digital strings\Project2) で確認できます。
プロジェクト内のその他の設定は同一です。
ご覧のとおり、ページ 3 の文字列は完全に検出され、生成されたすべての仮説の品質は 1 です。