(57)【要約】【課題】レシートや請求書に印字されている文字の一部に特殊なサイズの文字が含まれていても適切な文字認識結果を得る。【解決手段】画像処理装置は、レシートまたは請求書の読み取りにより生成された、文字の基準サイズと異なるサイズの特殊文字を含む読取画像を取得する取得部と、前記読取画像に含まれる前記特殊文字のサイズを前記基準サイズに近づける変換処理を行う変換部と、前記変換処理後の前記読取画像に対して文字認識処理を行う文字認識部と、を備える。【選択図】図２
2019159633.tif 000002
【特許請求の範囲】
【請求項１】
レシートまたは請求書の読み取りにより生成された、文字の基準サイズと異なるサイズの特殊文字を含む読取画像を取得する取得部と、
前記読取画像に含まれる前記特殊文字のサイズを前記基準サイズに近づける変換処理を行う変換部と、
前記変換処理後の前記読取画像に対して文字認識処理を行う文字認識部と、を備えることを特徴とする画像処理装置。
【請求項２】
前記読取画像に含まれる文字単位の領域である文字領域を設定する設定部を備え、
前記変換部は、前記文字領域のうち前記特殊文字の領域である特殊文字領域に対して前記変換処理を実行することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記変換部は、前記文字領域の縦方向または横方向の一方の幅の最頻値を前記基準サイズの基準幅とし、前記一方の幅が前記基準幅と異なる前記文字領域を、前記特殊文字領域の一つとして前記変換処理の対象とすることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記変換部は、前記文字領域の縦方向の幅の最頻値を前記基準サイズの基準幅としたとき、前記基準幅よりも横方向の幅が大きい前記文字領域を、前記特殊文字領域の一つとして前記変換処理の対象とすることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記文字認識部は、前記変換処理前の前記読取画像に対して文字認識処理を行い、前記変換処理前の前記読取画像に対する文字認識処理の結果のうち、前記変換処理後の前記読取画像に対する文字認識処理の結果と異なる部分を、前記変換処理後の前記読取画像に対する文字認識処理の結果に置き換える、ことを特徴とする請求項１〜請求項４のいずれかに記載の画像処理装置。
【請求項６】
レシートまたは請求書の読み取りにより生成された、文字の基準サイズと異なるサイズの特殊文字を含む読取画像を取得する取得工程と、
前記読取画像に含まれる前記特殊文字のサイズを前記基準サイズに近づける変換処理を行う変換工程と、
前記変換処理後の前記読取画像に対して文字認識処理を行う文字認識工程と、を備えることを特徴とする画像処理方法。
【請求項７】
レシートまたは請求書の読み取りにより生成された、文字の基準サイズと異なるサイズの特殊文字を含む読取画像を取得する取得機能と、
前記読取画像に含まれる前記特殊文字のサイズを前記基準サイズに近づける変換処理を行う変換機能と、
前記変換処理後の前記読取画像に対して文字認識処理を行う文字認識機能と、をコンピューターに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識処理を実行するための画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
レシートや伝票等を撮影して、記載されている情報を光学文字認識によって抽出する技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７‐１７４３０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
レシート等に印字されている文字のうち一部の特殊なサイズの文字は、文字認識処理により読み取ったときに正しい文字認識結果が得られないことが多かった。そのため、より適切な文字認識結果を得るための改善が求められていた。
【課題を解決するための手段】
【０００５】
画像処理装置は、レシートまたは請求書の読み取りにより生成された、文字の基準サイズと異なるサイズの特殊文字を含む読取画像を取得する取得部と、前記読取画像に含まれる前記特殊文字のサイズを前記基準サイズに近づける変換処理を行う変換部と、前記変換処理後の前記読取画像に対して文字認識処理を行う文字認識部と、を備える。
【図面の簡単な説明】
【０００６】
【図１】システムの構成を簡易的に示す図。
【図２】画像処理装置が実行する処理を示すフローチャート。
【図３】ステップＳ１１０，Ｓ１２０の処理の具体例を説明するための図。
【図４】図４ＡはステップＳ１３０の第１文字認識処理の結果としてのテキストデータを例示する図、図４ＢはステップＳ１７０で生成した文字認識処理の結果としてのテキストデータを例示する図。
【図５】図５Ａは基準サイズの半角文字がより大きなサイズに変形された様子を示す図、図５Ｂは基準サイズの全角文字がより大きなサイズに変形された様子を示す図。
【図６】ステップＳ１４０，Ｓ１５０，Ｓ１６０の処理の具体例を示すフローチャート。
【図７】読取画像の一部の文字領域に対するステップＳ１５０Ｂ，Ｓ１５０Ｃによる変換の具体例を示す図。
【図８】画像処理装置が実行する第２実施形態にかかる処理を示すフローチャート。
【発明を実施するための形態】
【０００７】
以下、各図を参照しながら本発明の実施形態を説明する。なお各図は、本実施形態を説明するための例示に過ぎない。
【０００８】
１．システムの概略説明：
図１は、本実施形態にかかるシステム１の構成を簡易的に示している。システム１は、スキャナー１０、通信装置２０、メインサーバー３０、ストレージサーバー４０を含んでいる。メインサーバー３０およびストレージサーバー４０は、インターネット通信網を通じてユーザーにクラウドサービスを提供可能なサーバーである。
【０００９】
スキャナー１０は、原稿を光学的に読み取り、読取結果としての所定のフォーマットの画像データを生成し画像データを外部へ出力可能な読取装置である。スキャナー１０は、スキャナーとしての機能に加え、印刷機能やファクシミリ通信機能等の複数の機能を兼ね備えた複合機であってもよい。スキャナー１０は、通信装置２０と有線または無線により通信可能に接続しており、画像データを通信装置２０へ送信する。
【００１０】
通信装置２０は、例えば、パーソナルコンピューター（ＰＣ）、スマートフォン、タブレット型端末、携帯電話機、或いはそれらと同程度の処理能力を有する情報処理装置によって実現される。通信装置２０は、制御部２１、通信インターフェイス（ＩＦ）２３、表示部２４、操作受付部２５等を備える。制御部２１は、プロセッサーとしてのＣＰＵ２１ａ、ＲＯＭ２１ｂ、ＲＡＭ２１ｃ等を有する一つ又は複数のＩＣや、その他のメモリー等を含んで構成される。
【００１１】
制御部２１では、プロセッサー（ＣＰＵ２１ａ）が、ＲＯＭ２１ｂやＲＯＭ２１ｂ以外のメモリー等に保存されたプログラムに従った演算処理を、ＲＡＭ２１ｃ等をワークエリアとして用いて実行することにより、通信装置２０を制御する。制御部２１はプログラムの一つとしてプログラム２２を搭載している。プログラム２２は、スキャナー１０が原稿の読み取りにより生成した画像データをメインサーバー３０へアップロードするためのアプリケーションである。
【００１２】
通信ＩＦ２３は、通信装置２０が公知の通信規格を含む所定の通信プロトコルに準拠して有線又は無線で外部と通信を実行するための一つまたは複数のＩＦの総称である。通信装置２０は、スキャナー１０と接続しているだけでなく、通信ＩＦ２３を介して、ネットワークＮＷに接続する。ネットワークＮＷは、ローカルエリアネットワーク（ＬＡＮ）やインターネット通信網やその他の公衆回線等を含む。
【００１３】
表示部２４は、視覚的情報を表示するための手段であり、例えば、液晶ディスプレイ（ＬＣＤ）や、有機ＥＬディスプレイ等により構成される。表示部２４は、ディスプレイと、ディスプレイを駆動するための駆動回路とを含む構成であってもよい。操作受付部２５は、ユーザーによる操作を受け付けるための手段であり、例えば、物理的なボタンや、タッチパネルや、マウスや、キーボード等によって実現される。むろん、タッチパネルは、表示部２４の一機能として実現されるとしてもよい。表示部２４および操作受付部２５を含めて、通信装置２０の操作パネルと呼ぶことができる。
【００１４】
スキャナー１０と通信装置２０は、図１に例示したように互いに独立した装置であってもよいが、実態としてそれら全体が一つの装置に含まれていてもよい。具体的には、スキャナー１０は、通信装置２０の構成を含むことにより、ネットワークＮＷを介した外部との通信機能を兼ね備えた複合機として実現されてもよい。
【００１５】
メインサーバー３０は、ネットワークＮＷ上でサーバーとして機能する一台あるいは複数台の情報処理装置によって実現される。メインサーバー３０は、制御部３１、通信ＩＦ３３、記憶部３４等を備える。制御部３１は、プロセッサーとしてのＣＰＵ３１ａ、ＲＯＭ３１ｂ、ＲＡＭ３１ｃ等を有する一つ又は複数のＩＣや、その他のメモリー等を含んで構成される。制御部３１では、プロセッサー（ＣＰＵ３１ａ）が、ＲＯＭ３１ｂや記憶部３４等に保存されたプログラムに従った演算処理を、ＲＡＭ３１ｃ等をワークエリアとして用いて実行することにより、メインサーバー３０を制御する。制御部３１はプログラムの一つとしてプログラム３２を搭載している。プログラム３２は、メインサーバー３０の制御部３１が実行する画像処理プログラムに該当する。また、プログラム３２を実行するメインサーバー３０は、画像処理装置の具体例に該当する。
【００１６】
通信ＩＦ３３は、メインサーバー３０が公知の通信規格を含む所定の通信プロトコルに準拠して有線又は無線で外部と通信を実行するための一つまたは複数のＩＦの総称である。記憶部３４は、例えば、ハードディスクドライブや不揮発性のメモリーによって構成される記憶手段であり、本実施形態では、ＯＣＲ（Optical Character Recognition）エンジン３５等を予め記憶している。ＯＣＲエンジン３５は文字認識処理を実行するためのソフトウェアの一種である。プログラム３２だけでなくＯＣＲエンジン３５を含めて画像処理プログラムと呼んでもよい。
【００１７】
メインサーバー３０は、図１の例では、ストレージサーバー４０と通信可能に接続している。ストレージサーバー４０も、ネットワークＮＷ上でサーバーとして機能する一台あるいは複数台の情報処理装置によって実現される。ストレージサーバー４０は、メインサーバー３０からデータを取得して格納するためのサーバーである。なお、メインサーバー３０とストレージサーバー４０とは、装置として明確に分かれていても分かれていなくてもよく、例えば、共通のサーバーがメインサーバー３０およびストレージサーバー４０として機能する構成であってもよい。図１では示していないが、メインサーバー３０，４０に対して、これらサーバーをオペレーターが操作するために必要な表示部や操作受付部が接続されていてもよい。
【００１８】
メインサーバー３０側の構成である制御部３１、プログラム３２、通信ＩＦ３３等と、通信装置２０側の構成である制御部２１、プログラム２２、通信ＩＦ２３等とを判り易く区別するために、便宜上、第１制御部３１、第１プログラム３２、第１通信ＩＦ３３、第２制御部２１、第２プログラム２２、第２通信ＩＦ２３、等と表現してもよい。
【００１９】
２．文字認識処理：
図２は、メインサーバー３０の制御部３１がプログラム３２に従って実行する画像処理をフローチャートにより示している。当該フローチャートの少なくとも一部は、画像処理方法を示していると言える。
【００２０】
システム１において、先ず、スキャナー１０は、ユーザーが任意にセットした原稿を読み取ることにより画像データを生成する。本実施形態では、ユーザーがスキャナー１０に読み取らせる原稿は、店舗等で発行されたレシートまたは請求書であるとする。以下では、ユーザーがスキャナー１０に読み取らせるレシートまたは請求書を、単に原稿とも呼ぶ。スキャナー１０は、原稿の読み取りにより生成した画像データ（以下、読取画像）を通信装置２０へ送信する。通信装置２０の制御部２１は、通信ＩＦ２３を介してスキャナー１０へ原稿の読取開始を指示し、スキャナー１０は、制御部２１からの原稿の読取開始の指示に従って原稿の読み取りを開始するとしてもよい。
【００２１】
通信装置２０においては、プログラム２２を実行する制御部２１は、スキャナー１０から受信した読取画像を、通信ＩＦ２３およびネットワークＮＷを介してメインサーバー３０へアップロードする。
メインサーバー３０においては、制御部３１は、通信装置２０から送信された読取画像を、通信ＩＦ３３を介して取得する（ステップＳ１００）。なお、制御部３１は、通信装置２０から受信した読取画像を、一旦、記憶部３４に保存し、ステップＳ１００では、記憶部３４から読取画像を取得してもよい。ステップＳ１００は、レシートまたは請求書の読み取りにより生成された読取画像を取得する取得工程に該当する。また、ステップＳ１００を実現する点において、プログラム３２を実行する制御部３１は、読取画像を取得する取得部３６として機能すると言える。
【００２２】
ステップＳ１１０では、制御部３１は、読取画像内に文字行を設定する。文字行とは、読取画像内で文字が横方向に並んだ領域である。文字行の横方向の長さ（横幅）は読取画像の横幅であり、文字行の縦方向の長さ（縦幅）は文字行内に含まれる文字の縦幅に依存する。
【００２３】
文字行の設定方法は様々であるが、制御部３１は、例えば、読取画像を、しきい値を用いて二値化し、読取画像を構成する各画素を、黒画素と白画素とのいずれかに変換する。ここで用いるしきい値は、読取画像における文字に該当する画素と、文字に該当しない画素（例えば、紙白に該当する画素）とを分けるために適した、予め定められたしきい値である。あるいは、制御部３１は、読取画像を構成する画素の色や明るさの分布（ヒストグラム）を生成し、これらヒストグラムを解析することにより、文字に該当する画素と、文字に該当しない画素とを分けるために適した前記しきい値を決定してもよい。ただし、前記二値化は必須の処理ではなく、制御部３１は、読取画像を構成する各画素が、文字に該当する画素と、文字に該当しない画素とのいずれであるかを判別できればよい。
【００２４】
制御部３１は、読取画像を構成する各画素行を、文字に該当する画素つまり黒画素を一つ以上含む画素行（第１画素行）と、文字に該当しない画素つまり白画素だけで構成された画素行（第２画素行）とに分類する。画素行とは、画素が読取画像の横方向に連続する領域であり、画素行の横幅は読取画像の横幅であり、画素行の縦幅は一画素の縦幅である。制御部３１は、第１画素行が読取画像の縦方向に連続する領域を一つの文字行として設定する。第１画素行が縦方向に連続する領域と、第１画素行が縦方向に連続する別の領域との間には、一つ以上の第２画素行が存在している。制御部３１は、第１画素行が縦方向に連続する領域の上端および下端にそれぞれ第２画素行が幾つか付加した領域を一つの文字行として設定してもよい。文字行と文字行とは読取画像内で縦方向に接していてもよいし、文字行と文字行との間に第２画素行だけで構成された空白領域が挟まっていてもよい。
【００２５】
図３は、ステップＳ１１０，Ｓ１２０の処理を具体例を用いて説明するための図である。図３には、ステップＳ１００で制御部３１が取得した読取画像ＩＭの一部分を示している。読取画像ＩＭは、ユーザーが利用した店舗で発行されたレシートをスキャナー１０が読み取ったことにより生成された画像データである。図３に示した、読取画像ＩＭの横方向を向く複数の破線は、ステップＳ１１０で設定された各文字行の上端または下端を示している。つまり、図３では、このような上端および下端の線で区画された各文字行ＣＬ１，ＣＬ２，ＣＬ３，ＣＬ４，ＣＬ５，ＣＬ６，ＣＬ７を示している。
【００２６】
ステップＳ１２０では、制御部３１は、ステップＳ１１０で設定した文字行内に、文字単位の領域である文字領域を設定する。制御部３１は、文字行内において一つの文字らしき図形を含む矩形領域を、一つの文字領域として設定する。“文字単位の領域である文字領域”とは、あくまでプログラム３２を実行するプロセッサー（ＣＰＵ３１ａ）がステップＳ１２０の段階で一文字と把握する画像領域である。そのため、例えば、一つの文字を構成する各要素（例えば、漢字の各部首）がそれぞれ別の文字領域に設定されることも有り得る。
【００２７】
文字領域の設定方法は様々であるが、例えば、制御部３１は、文字行を構成する各画素列を、文字に該当する画素つまり黒画素を一つ以上含む画素列（第１画素列）と、文字に該当しない画素つまり白画素だけで構成された画素列（第２画素列）とに分類する。文字行を構成する画素列とは、画素が文字行内で縦方向に連続する領域である。文字行を構成する画素列の横幅は、一画素の横幅であり、文字行を構成する画素列の縦幅は、文字行の縦幅である。制御部３１は、文字行内において、第１画素列が読取画像の横方向に連続する領域を一つの文字領域として設定する。文字行内において、第１画素列が横方向に連続する領域と、第１画素列が横方向に連続する別の領域との間には、一つ以上の第２画素列が存在している。制御部３１は、第１画素列が横方向に連続する領域の左端および右端にそれぞれ第２画素列が幾つか付加した領域を一つの文字領域として設定してもよい。文字行内において、文字領域と文字領域とは横方向に接していてもよいし、文字領域と文字領域との間に第２画素列だけで構成された空白領域が挟まっていてもよい。
【００２８】
図３においては、各文字行ＣＬ１〜ＣＬ７内の各矩形が、ステップＳ１２０で設定された一つ一つの文字領域ＣＦを示している。このようなステップＳ１１０，Ｓ１２０を実現する点で、プログラム３２を実行する制御部３１は、読取画像に含まれる文字単位の領域である文字領域を設定する設定部３８として機能すると言える。
【００２９】
ステップＳ１３０では、制御部３１は、ＯＣＲエンジン３５を起動させ、ステップＳ１２０で設定した文字領域を対象とした文字認識処理をＯＣＲエンジン３５に実行させる。ＯＣＲエンジン３５は、画像としての文字領域を順次入力し、画像から認識（推測）した文字を文字データ（テキストデータ）として出力する。制御部３１は、ステップＳ１３０の文字認識処理の結果としてのテキストデータを、例えば記憶部３４に一旦保存する。ステップＳ１３０の文字認識処理を、第１文字認識処理とも呼ぶ。
【００３０】
図４Ａは、第１文字認識処理の結果としてのテキストデータＴＤ１を例示している。テキストデータＴＤ１と図３の読取画像ＩＭとを比較すると判るように、第１文字認識処理の結果においては、読取画像ＩＭに含まれている文字が必ずしも正確に認識されている訳ではない。例えば、読取画像ＩＭの文字行ＣＬ５に含まれている「合計」の文字は、「舗」という文字と誤認識されて、テキストデータＴＤ１の一部となっている。また、読取画像ＩＭの文字行ＣＬ５内で、「合計」の文字の右側に存在する「\1,200」の文字は、第１文字認識処理では認識不能となり、テキストデータＴＤ１内には存在していない。
【００３１】
このように、第１文字認識処理の結果が正確性を欠き易い理由について説明する。
スキャナー１０が読み取るレシート等の原稿においては、一部の文字が他の文字と比較して大きなサイズで印字されていることがある。読取画像ＩＭの例では、上述した「合計」や「合計」と同一行内の「\1,200」の文字等が、他の文字よりも縦幅が大きいサイズで印字されている。レシート等では、金額に関する文字や、店舗名等、特に重要視される一部の情報が、大きなサイズで印字されることが多い。
【００３２】
今日の一般的な印刷システムでは、文字の表現にはアウトラインフォントが用いられ、文字は、そのフォントサイズに関係無く縦横比を保持して印字される。一方で、レシート等の印字に用いられることが多いサーマルプリンターや、シリアルインパクトドットマトリクス（ＳＩＤＭ）プリンター等では、保持する情報や構成を最小限化して印刷を効率良く実行するために、基準サイズ（例えば、１０．５ポイント相当のサイズ）のフォントデータを有し、他のサイズの文字については、基準サイズのフォントを変形させて必要なサイズを実現することが多い。そのため、レシート等において前記のように大きなサイズで印字された文字は、基準サイズの文字の縦横比が変更された文字であることが多い。
【００３３】
図５Ａおよび図５Ｂは、レシート等の印字に用いられることが多いサーマルプリンターやＳＩＤＭプリンターが、印字処理において基準サイズの文字を変形して基準サイズよりも大きい文字を生成する様子を例示している。
図５Ａは、（Ａ）で示す基準サイズの半角文字「2」が、より大きなサイズに変形された様子を示している。つまり、図５Ａの（Ｂ）は、基準サイズの半角文字「2」の画像を横方向へ２倍に拡大した画像を示している。横方向への２倍の拡大を、横倍とも表現する。図５Ａの（Ｃ）は、基準サイズの半角文字「2」の画像を縦方向へ２倍に拡大した画像を示している。縦方向への２倍の拡大を、縦倍とも表現する。図５Ａの（Ｄ）は、基準サイズの半角文字「2」の画像を横方向および縦方向へそれぞれ２倍に拡大した画像を示している。横方向および縦方向へのそれぞれ２倍の拡大を、４倍とも表現する。
【００３４】
図５Ｂは、（Ｅ）で示す基準サイズの全角文字「合」が、より大きなサイズに変形された様子を示している。つまり、図５Ｂの（Ｆ）は、基準サイズの全角文字「合」の画像を横倍した画像を示している。図５Ｂの（Ｇ）は、基準サイズの全角文字「合」の画像を縦倍した画像を示している。図５Ｂの（Ｈ）は、基準サイズの全角文字「合」の画像を４倍した画像を示している。一般的に、文字認識処理に用いられるＯＣＲエンジン３５は、図５Ａや図５Ｂに例示したような大きなサイズの文字の画像に対する文字認識精度が必ずしも良くなく、特に、縦横比が基準サイズ時の縦横比から変更された文字を表現する画像に対する文字認識精度は低下し勝ちである。そのため、図４Ａの例を用いて説明したように、第１文字認識処理の結果は正確性を欠くことがある。このような課題に鑑みて、本実施形態では、ステップＳ１４０〜Ｓ１６０を実行する。
【００３５】
ステップＳ１４０では、制御部３１は、ステップＳ１２０で設定した文字単位の文字領域のうち特殊文字の領域である特殊文字領域を抽出する。特殊文字とは、文字の基準サイズと異なるサイズの文字である。本実施形態では、ステップＳ１００で取得される読取画像には、特殊文字が含まれているとする。
ステップＳ１５０では、制御部３１は、特殊文字領域に対して、サイズを基準サイズに近づける変換処理を行う。
【００３６】
ステップＳ１６０では、制御部３１は、前記変換処理後の読取画像を対象とした文字認識処理をＯＣＲエンジン３５に実行させる。つまり、ＯＣＲエンジン３５は、画像としての、ステップＳ１５０による変換処理後の文字領域を順次入力し、画像から認識（推測）した文字を文字データ（テキストデータ）として出力する。制御部３１は、ステップＳ１６０の文字認識処理の結果としてのテキストデータを、例えば記憶部３４に一旦保存する。ステップＳ１６０の文字認識処理を、ステップＳ１３０の文字認識処理と区別するために、第２文字認識処理とも呼ぶ。
【００３７】
ステップＳ１５０を実現する点で、プログラム３２を実行する制御部３１は、読取画像に含まれる特殊文字のサイズを基準サイズに近づける変換処理を行う変換部３７として機能すると言える。また、ステップＳ１６０を実現する点で、制御部３１は、前記変換処理後の読取画像に対して文字認識処理を行う文字認識部として機能すると言える。ＯＣＲエンジン３５を用いて文字認識処理を実行するプロセッサー（ＣＰＵ３１ａ）を文字認識部と呼んでもよい。また、ステップＳ１５０は、読取画像に含まれる特殊文字のサイズを基準サイズに近づける変換処理を行う変換工程に該当し、ステップＳ１６０は、前記変換処理後の読取画像に対して文字認識処理を行う文字認識工程に該当する。
【００３８】
図６は、ステップＳ１４０，Ｓ１５０，Ｓ１６０の処理の具体例をフローチャートにより示している。ステップＳ１４０Ａ，Ｓ１５０Ａ，Ｓ１６０Ａは、ステップＳ１２０で設定された文字領域を対象としたステップＳ１４０，Ｓ１５０，Ｓ１６０の処理を示している。同様に、ステップＳ１４０Ｂ，Ｓ１５０Ｂ，Ｓ１６０Ｂや、ステップＳ１４０Ｃ，Ｓ１５０Ｃ，Ｓ１６０Ｃや、ステップＳ１４０Ｄ，Ｓ１５０Ｄ，Ｓ１６０Ｄや、ステップＳ１４０Ｅ，Ｓ１５０Ｅ，Ｓ１６０Ｅは、それぞれが、ステップＳ１２０で設定された文字領域を対象としたステップＳ１４０，Ｓ１５０，Ｓ１６０の処理を示している。ただし、ステップＳ１２０で設定された一つの文字領域が、ステップＳ１４０Ａ，Ｓ１５０Ａ，Ｓ１６０Ａの処理、ステップＳ１４０Ｂ，Ｓ１５０Ｂ，Ｓ１６０Ｂの処理、ステップＳ１４０Ｃ，Ｓ１５０Ｃ，Ｓ１６０Ｃの処理、ステップＳ１４０Ｄ，Ｓ１５０Ｄ，Ｓ１６０Ｄの処理、ステップＳ１４０Ｅ，Ｓ１５０Ｅ，Ｓ１６０Ｅの処理、のうちの複数の処理の対象となることは無い。
【００３９】
ステップＳ１４０Ａでは、制御部３１は、ステップＳ１２０で設定された文字領域のうち、文字領域の縦幅の最頻値の２倍の縦幅を有し、且つ、縦横比が１：１である文字領域を抽出する。文字領域の縦幅とは、文字領域が含まれる文字行の縦幅のことである。
【００４０】
図３の例を参照すると、制御部３１は、文字行ＣＬ１〜ＣＬ７それぞれの縦幅のうちの最頻値を取得する。レシートの読み取りにより生成された読取画像ＩＭにおいては、文字行ＣＬ１〜ＣＬ７のうち多くの文字行の縦幅は、上述したような基準サイズの縦幅と同等であり、一部の文字行の縦幅が比較的大きな縦幅となっていることが多い。ただし、読取画像に含まれる文字行同士の縦幅を比較したとき、ほぼ同じ縦幅であっても完全には一致しないこともある。このような実情を鑑みて、制御部３１は、読取画像に含まれる文字行同士の縦幅を比較したとき、所定程度内の相違が在っても同じ縦幅とみなすとしてもよい。一例であるが、文字行同士の縦幅を比較するとき、一方の縦幅を１００％としたとき、他方の縦幅が９５％〜１０５％の範囲に収まる場合は、比較している両文字行の縦幅は等しいと見なす。そして、制御部３１は、例えば、等しいとみなす複数の文字行の縦幅の平均値を、文字領域の縦幅の最頻値とする。
【００４１】
文字領域の縦幅の最頻値の２倍の縦幅を有し、且つ、縦横比が１：１である文字領域とは、図５Ａ，５Ｂを参照すると、図５Ｂに（Ｈ）で示すような、全角文字が４倍にされた画像が該当する。つまり、ステップＳ１４０Ａにより、ステップＳ１２０で設定された文字領域のうち、基準サイズの全角文字が４倍にされた文字を含んだ文字領域が、特殊文字領域として抽出される。
【００４２】
ただし、ステップＳ１４０において特殊文字領域を抽出する場合、制御部３１は、“文字領域の縦幅の最頻値のＮ倍（例えばＮ＝２）の縦幅”は、厳密なＮ倍だけでなく所定程度内の相違が在ってもＮ倍の縦幅とみなすとしてもよい。同様に、ステップＳ１４０において抽出すべき特殊文字領域の縦横比についても、厳密な縦横比（例えば１：１）だけを求めるのではなく、所定程度内の相違を許容してもよい。
【００４３】
ステップＳ１５０Ａでは、制御部３１は、ステップＳ１４０Ａで抽出した文字領域（特殊文字領域）の夫々を対象として、縦方向および横方向の夫々へ１／２に圧縮する。つまり、基準サイズの全角文字が４倍にされた文字を、基準サイズの全角文字に戻す変換処理を行う。ステップＳ１６０Ａでは、制御部３１は、ステップＳ１５０Ａで変換した後の文字領域を対象として、ＯＣＲエンジン３５による文字認識処理を実行する。ステップＳ１４０で抽出した特殊文字領域は、読取画像の一部分である。そのため、ステップＳ１５０で特殊文字領域を変換した後の文字領域に対してステップＳ１６０で文字認識処理を行うことは、変換処理後の読取画像に対して文字認識処理を行う概念に含まれる。
【００４４】
ステップＳ１４０Ｂでは、制御部３１は、ステップＳ１２０で設定された文字領域のうち、文字領域の縦幅の最頻値の２倍の縦幅を有し、且つ、縦横比が２：１である文字領域を抽出する。文字領域の縦幅の最頻値の２倍の縦幅を有し、且つ、縦横比が２：１である文字領域とは、図５Ａ，５Ｂを参照すると、図５Ａに（Ｄ）で示すような、半角文字が４倍にされた画像や、図５Ｂに（Ｇ）で示すような、全角文字が縦倍にされた画像が該当する。つまり、ステップＳ１４０Ｂにより、ステップＳ１２０で設定された文字領域のうち、基準サイズの半角文字が４倍にされた文字を含んだ文字領域と、基準サイズの全角文字が縦倍にされた文字を含んだ文字領域とが、特殊文字領域として抽出される。
【００４５】
ステップＳ１５０Ｂでは、制御部３１は、ステップＳ１４０Ｂで抽出した文字領域（特殊文字領域）の夫々を対象として、縦方向へ１／２に圧縮する。これにより、基準サイズの全角文字が縦倍にされた文字が、基準サイズの全角文字に戻る。また、基準サイズの半角文字が４倍にされた文字が、基準サイズの全角文字に変換される。ステップＳ１６０Ｂでは、制御部３１は、ステップＳ１５０Ｂで変換した後の文字領域を対象として、ＯＣＲエンジン３５による文字認識処理を実行する。
【００４６】
図３に示した読取画像ＩＭの文字行ＣＬ５に含まれている「合計」は、基準サイズの全角文字が縦倍にされた文字である。そのため、この「合計」の各文字「合」、「計」をそれぞれ含む各文字領域ＣＦは、ステップＳ１４０Ｂで特殊文字領域として抽出され、ステップＳ１５０ＢおよびステップＳ１６０Ｂの処理対象となる。
【００４７】
ステップＳ１４０Ｃでは、制御部３１は、ステップＳ１２０で設定された文字領域のうち、文字領域の縦幅の最頻値の２倍の縦幅を有し、且つ、縦横比が４：１である文字領域を抽出する。文字領域の縦幅の最頻値の２倍の縦幅を有し、且つ、縦横比が４：１である文字領域とは、図５Ａ，５Ｂを参照すると、図５Ａに（Ｃ）で示すような、半角文字が縦倍にされた画像が該当する。つまり、ステップＳ１４０Ｃにより、ステップＳ１２０で設定された文字領域のうち、基準サイズの半角文字が縦倍にされた文字を含んだ文字領域が、特殊文字領域として抽出される。
【００４８】
ステップＳ１５０Ｃでは、制御部３１は、ステップＳ１４０Ｃで抽出した文字領域（特殊文字領域）の夫々を対象として、縦方向へ１／２に圧縮する。これにより、基準サイズの半角文字が縦倍にされた文字が、基準サイズの半角文字に戻る。ステップＳ１６０Ｃでは、制御部３１は、ステップＳ１５０Ｃで変換した後の文字領域を対象として、ＯＣＲエンジン３５による文字認識処理を実行する。
【００４９】
図３に示した読取画像ＩＭの文字行ＣＬ５に含まれている「\1,200」は、基準サイズの半角文字が縦倍にされた文字である。そのため、この「\1,200」を構成する各文字をそれぞれ含む各文字領域ＣＦは、ステップＳ１４０Ｃで特殊文字領域として抽出され、ステップＳ１５０ＣおよびステップＳ１６０Ｃの処理対象となる。
図７は、読取画像ＩＭの文字行ＣＬ５に含まれている「合計」や「\1,200」を構成する文字毎の各文字領域ＣＦが、ステップＳ１５０Ｂ、ステップＳ１５０Ｃのいずれかによる変換処理が施されて縦方向へ１／２に圧縮された様子を例示している。
【００５０】
ステップＳ１４０Ｄでは、制御部３１は、ステップＳ１２０で設定された文字領域のうち、文字領域の縦幅の最頻値の１倍の縦幅を有し、且つ、縦横比が１：２である文字領域を抽出する。文字領域の縦幅の最頻値の１倍の縦幅を有し、且つ、縦横比が１：２である文字領域とは、図５Ａ，５Ｂを参照すると、図５Ｂに（Ｆ）で示すような、全角文字が横倍にされた画像が該当する。つまり、ステップＳ１４０Ｄにより、ステップＳ１２０で設定された文字領域のうち、基準サイズの全角文字が横倍にされた文字を含んだ文字領域が、特殊文字領域として抽出される。
【００５１】
ステップＳ１５０Ｄでは、制御部３１は、ステップＳ１４０Ｄで抽出した文字領域（特殊文字領域）の夫々を対象として、横方向へ１／２に圧縮する。これにより、基準サイズの全角文字が横倍にされた文字が、基準サイズの全角文字に戻る。ステップＳ１６０Ｄでは、制御部３１は、ステップＳ１５０Ｄで変換した後の文字領域を対象として、ＯＣＲエンジン３５による文字認識処理を実行する。
【００５２】
ステップＳ１４０Ｅでは、制御部３１は、ステップＳ１２０で設定された文字領域のうち、文字領域の縦幅の最頻値の１倍の縦幅を有し、且つ、縦横比が１：１である文字領域を抽出する。文字領域の縦幅の最頻値の１倍の縦幅を有し、且つ、縦横比が１：１である文字領域とは、図５Ａ，５Ｂを参照すると、図５Ａに（Ｂ）で示すような、半角文字が横倍にされた画像や、図５Ｂに（Ｅ）で示すような、全角文字の画像が該当する。つまり、ステップＳ１４０Ｅにより、ステップＳ１２０で設定された文字領域のうち、基準サイズの半角文字が横倍にされた文字を含んだ文字領域と、基準サイズの半角文字より大きい基準サイズの全角文字を含んだ文字領域とが、特殊文字領域として抽出される。
【００５３】
ステップＳ１５０Ｅでは、制御部３１は、ステップＳ１４０Ｅで抽出した文字領域（特殊文字領域）の夫々を対象として、横方向へ１／２に圧縮する。これにより、基準サイズの半角文字が横倍にされた文字が、基準サイズの半角文字に戻る。また、基準サイズの全角文字が、基準サイズの半角文字に変換される。ステップＳ１６０Ｅでは、制御部３１は、ステップＳ１５０Ｅで変換した後の文字領域を対象として、ＯＣＲエンジン３５による文字認識処理を実行する。
【００５４】
制御部３１は、ステップＳ１４０，Ｓ１５０，Ｓ１６０において、図６に示したステップＳ１４０Ａ，Ｓ１５０Ａ，Ｓ１６０Ａの処理、ステップＳ１４０Ｂ，Ｓ１５０Ｂ，Ｓ１６０Ｂの処理、ステップＳ１４０Ｃ，Ｓ１５０Ｃ，Ｓ１６０Ｃの処理、ステップＳ１４０Ｄ，Ｓ１５０Ｄ，Ｓ１６０Ｄの処理、ステップＳ１４０Ｅ，Ｓ１５０Ｅ，Ｓ１６０Ｅの処理を、並行して実施してもよい。あるいは、制御部３１は、ステップＳ１４０，Ｓ１５０，Ｓ１６０において、図６に示したステップＳ１４０Ａ，Ｓ１５０Ａ，Ｓ１６０Ａの処理、ステップＳ１４０Ｂ，Ｓ１５０Ｂ，Ｓ１６０Ｂの処理、ステップＳ１４０Ｃ，Ｓ１５０Ｃ，Ｓ１６０Ｃの処理、ステップＳ１４０Ｄ，Ｓ１５０Ｄ，Ｓ１６０Ｄの処理、ステップＳ１４０Ｅ，Ｓ１５０Ｅ，Ｓ１６０Ｅの処理を、順に実施してもよい。
【００５５】
これまでの説明によれば、ステップＳ１５０（ステップＳ１５０Ａ，Ｓ１５０Ｂ，Ｓ１５０Ｃ，Ｓ１５０Ｄ，Ｓ１５０Ｅ）において、読取画像に含まれる文字のサイズを文字の基準サイズに変換する、と言った場合の基準サイズとは、上述のサーマルプリンターやＳＩＤＭプリンター等が採用する全角文字の所定の基準サイズや半角文字の所定の基準サイズが該当すると言える。また、レシート等への印字において上述したような縦倍や横倍や４倍等の拡大処理が施される前の文字のサイズを、基準サイズと呼ぶことができる。あるいは別の表現として、縦幅が文字領域の縦幅の最頻値であり縦横比が１：１である文字領域のサイズ（全角文字の基準サイズ）や、縦幅が文字領域の縦幅の最頻値であり縦横比が２：１である文字領域のサイズ（半角文字の基準サイズ）が、基準サイズであると言える。また本実施形態では、文字領域の縦幅の最頻値を、基準サイズの基準幅と呼ぶことがある。
【００５６】
このように、ステップＳ１５０（ステップＳ１５０Ａ，Ｓ１５０Ｂ，Ｓ１５０Ｃ，Ｓ１５０Ｄ，Ｓ１５０Ｅ）により特殊文字領域に変換処理を施すことで、特殊文字領域に含まれていた文字、つまり特殊文字は、文字認識処理に適した（ＯＣＲエンジン３５が正しく文字認識し易い）サイズとなる。そのため、ステップＳ１６０（ステップＳ１６０Ａ，Ｓ１６０Ｂ，Ｓ１６０Ｃ，Ｓ１６０Ｄ，Ｓ１６０Ｅ）の第２文字認識処理は、第１文字認識処理と比べて文字認識精度が向上する。つまり、図３に示した読取画像ＩＭの文字行ＣＬ５に含まれている「合計」の文字は、ステップＳ１６０Ｂの第２文字認識処理で正確に文字認識され、文字行ＣＬ５に含まれている「\1,200」の文字は、ステップＳ１６０Ｃの第２文字認識処理で正確に文字認識される。
【００５７】
ステップＳ１７０では、制御部３１は、ステップＳ１３０の第１文字認識処理の結果と、ステップＳ１６０の第２文字認識処理の結果とに基づいて、読取画像に対する文字認識処理の結果を生成する。この場合、制御部３１は、第１文字認識処理の結果であるテキストデータと、第２文字認識処理の結果であるテキストデータとを、読取画像における文字領域の位置が対応する文字同士で比較する。そして、第１文字認識処理の結果であるテキストデータのうち、比較した第２文字認識処理の結果であるテキストデータと異なる部分を、比較した第２文字認識処理の結果であるテキストデータに置き換える。ここで言う置き換えは、第１文字認識処理の結果であるテキストデータに存在している文字を、第２文字認識処理の結果であるテキストデータに存在している文字により置き換える処理だけでなく、第１文字認識処理の結果であるテキストデータには存在していない文字を、第２文字認識処理の結果であるテキストデータに存在している文字で補充する処理も含む。
【００５８】
図４Ｂは、第１文字認識処理の結果としてのテキストデータＴＤ１と第２文字認識処理の結果としてのテキストデータＴＤ２とに基づいてステップＳ１７０で生成された、読取画像に対する文字認識処理の結果を例示している。図４Ｂを図４Ａと比較すると判るように、テキストデータＴＤ１の一部分が、テキストデータＴＤ２によって置き換えられている。つまり、読取画像ＩＭの文字行ＣＬ５に含まれている「合計」の文字に対する第１文字認識処理による認識結果である「舗」の文字は、第２文字認識処理による認識結果である「合計」の文字に置き換えられている。また、読取画像ＩＭの文字行ＣＬ５に含まれている「\1,200」の文字は、第１文字認識処理による認識結果においては欠落しているが、このような欠落が、第２文字認識処理による認識結果である「\1,200」の文字により補充されている。
【００５９】
ここで、ステップＳ１２０で設定された文字領域の中からステップＳ１４０Ｅ（図６）で抽出する文字領域は、基準サイズの全角文字に相当する。つまり、ステップＳ１４０Ｅで抽出する文字領域は、文字認識処理の対象として適切なサイズの一つであり、ステップＳ１３０の第１文字認識処理により既に正しい文字認識結果が得られている可能性が高い。そのため本実施形態では、制御部３１は、ステップＳ１４０，Ｓ１５０，Ｓ１６０において、図６に示した処理のうちステップＳ１４０Ｅ，Ｓ１５０Ｅ，Ｓ１６０Ｅの処理は実行しない構成であってもよい。
【００６０】
ただし、ステップＳ１４０，Ｓ１５０，Ｓ１６０において、ステップＳ１４０Ｅ，Ｓ１５０Ｅ，Ｓ１６０Ｅの処理を実行する意味が無い訳ではない。例えば、基準サイズの全角文字による「合計」という文字列が、横倍されてレシートに印字され、このレシートをスキャナー１０が読み取ることにより生成された読取画像がステップＳ１００で取得された場合を想定する。「合計」は横倍されて印字されているため、「計」を構成する二つの部首「言」および「十」は、夫々が基準サイズの全角文字に相当する。この場合、ステップＳ１２０では、制御部３１は、「計」を構成する「言」と「十」との夫々に対して別の文字領域を設定する可能性がある。このような状況では、本来一つの文字「計」を構成すべき「言」および「十」は、ステップＳ１３０の第１文字認識処理では、各々が一つの文字と認識される可能性が高い。そのため、ステップＳ１４０，Ｓ１５０，Ｓ１６０において、ステップＳ１４０Ｅ，Ｓ１５０Ｅ，Ｓ１６０Ｅの処理を実行しないとすれば、ステップＳ１３０の第１文字認識処理の結果（「計」を「言」および「十」と認識した結果）が、ステップＳ１７０で、文字認識処理の結果として採用される。
【００６１】
これに対して、ステップＳ１４０，Ｓ１５０，Ｓ１６０において、ステップＳ１４０Ｅ，Ｓ１５０Ｅ，Ｓ１６０Ｅの処理を実行する構成とすれば、読取画像内において基準サイズの全角文字に相当する「言」および「十」は夫々が、ステップＳ１４０Ｅで抽出される。そして、ステップＳ１４０Ｅで抽出された「言」および「十」は、ステップＳ１５０Ｅにより、夫々に横方向へ１／２に圧縮されて半角文字のサイズに変換される。従って、ステップＳ１６０Ｅの文字認識処理（第２文字認識処理）では、前記変換後の「言」および「十」の組合せが一つの文字「計」と認識される可能性が高まり、ステップＳ１７０では、より正確な文字認識処理の結果が得られ易くなる。また、このように基準サイズの全角文字を横方向へ１／２に圧縮して半角文字のサイズに変換する、という思想に基づけば、図６のステップＳ１５０Ｂでは、制御部３１は、ステップＳ１４０Ｂで抽出した文字領域（特殊文字領域）を、縦方向および横方向の夫々へ１／２に圧縮するとしてもよい。この場合、ステップＳ１５０Ｂでは、基準サイズの全角文字が縦倍にされた文字（図５Ｂの（Ｇ）参照）が、基準サイズの半角文字に変換される。また、ステップＳ１５０Ｂでは、基準サイズの半角文字が４倍にされた文字（図５Ａの（Ｄ）参照）が、基準サイズの半角文字に変換される。
【００６２】
ステップＳ１８０では、制御部３１は、ステップＳ１７０で生成した文字認識処理の結果としてのテキストデータを、ストレージサーバー４０へ保存する。この場合、制御部３１は、ステップＳ１００で取得した読取画像とともに、ステップＳ１７０で生成した文字認識処理の結果を、ストレージサーバー４０へ保存する。以上により、図２のフローチャートが終了する。
【００６３】
制御部３１は、ステップＳ１２０で設定した文字領域のうち、ステップＳ１３０の第１文字認識処理とステップＳ１６０の第２文字認識処理とのいずれによっても認識不能であった文字領域についての、文字認識不能である旨の所定の情報を、ステップＳ１７０で生成する文字認識処理の結果（テキストデータ）に加えるとしてもよい。制御部３１は、例えば、ステップＳ１７０で生成する文字認識処理の結果としてのテキストデータ内における、前記文字認識不能であった文字領域に対応する位置に、特定の記号を挿入する。
【００６４】
文字認識処理によって認識不能であった文字については、人間の目視によってどのような文字であるかを確定することができる。つまり、ストレージサーバー４０を操作するオペレーターは、ストレージサーバー４０に保存されている読取画像と、読取画像とともに保存されているステップＳ１７０で生成された文字認識処理の結果であるテキストデータとを所定の表示部に表示させる。そして、オペレーターは、表示されたテキストデータのうち前記特定の記号が挿入されている位置に該当する文字について、読取画像を目視しながら、何の文字であるかを確定する文字編集作業を実行すればよい。
【００６５】
むろん、オペレーターによる前記文字編集作業は、メインサーバー３０が受け付ける構成であってもよい。つまり、制御部３１は、オペレーターの操作に応じて、読取画像と、読取画像に対応してステップＳ１７０で生成した文字認識処理の結果であるテキストデータとを所定の表示部に表示させた上で、オペレーターによる前記文字編集作業を受け付ける。そして、制御部３１は、前記文字編集作業を経たテキストデータを、読取画像とともにストレージサーバー４０へ保存する（ステップＳ１８０）、としてもよい。
【００６６】
ストレージサーバー４０に読取画像とともに保存された、文字認識処理の結果としてのテキストデータは、ネットワークＮＷを通じて外部へ提供される。ストレージサーバー４０に保存されたテキストデータは、レシートや請求書といった原稿に記載された文字列を表現したテキストデータである。そのため、ストレージサーバー４０に保存されたテキストデータは、例えば、会計処理や税務上の処理を行う会計事務所が操作する端末へ、ネットワークＮＷを介して送信され、会計処理や税務上の処理の用に供される。また、ストレージサーバー４０に保存されたテキストデータは、ネットワークＮＷに接続したプリンターによって印刷されたり、通信装置２０およびスキャナー１０のユーザーの求めに応じて、ネットワークＮＷを通じて通信装置２０へ送信されたりする。
【００６７】
３．まとめ：
このように本実施形態によれば、画像処理装置（メインサーバー３０）は、レシートまたは請求書の読み取りにより生成された、文字の基準サイズと異なるサイズの特殊文字を含む読取画像を取得する取得部３６と、前記読取画像に含まれる前記特殊文字のサイズを前記基準サイズ近づける変換処理を行う変換部３７と、前記変換処理後の読取画像に対して文字認識処理を行う文字認識部と、を備える。
前記構成によれば、画像処理装置は、基準サイズに変換された、あるいは基準サイズに近いサイズへ変換された文字を含んだ画像に対して文字認識処理を行うことができる。そのため、レシート等に印字されている文字のうち一部の特殊なサイズの文字について正しい文字認識結果が得られ難かった従来と比較して、より適切な文字認識結果を得ることが可能となった。
【００６８】
図６のステップＳ１５０（Ｓ１５０Ａ，Ｓ１５０Ｂ，Ｓ１５０Ｃ，Ｓ１５０Ｄ，Ｓ１５０Ｅ）に関する説明では、特殊文字領域を縦方向及び又は横方向に圧縮することで特殊文字領域内の文字（特殊文字）のサイズが基準サイズに戻る、といった判り易い説明をした。ただし、ステップＳ１５０の変換処理は、特殊文字のサイズが基準サイズに変換されることを保証する処理ではない。ステップＳ１５０の変換処理により、特殊文字のサイズが基準サイズに変換されることは一つの理想ではあるが、実際には、ステップＳ１５０の変換処理が実行されても、変換処理後の文字のサイズが基準サイズに一致しないことはある。ただし少なくとも、ステップＳ１５０の変換処理により、特殊文字のサイズが基準サイズに近づく、とは言える。
【００６９】
また、本実施形態によれば、画像処理装置は、前記読取画像に含まれる文字単位の領域である文字領域を設定する設定部３８を備え、前記変換部３７は、前記文字領域のうち前記特殊文字の領域である特殊文字領域に対して前記変換処理を実行する。
前記構成によれば、画像処理装置は、文字領域のうち特殊文字領域に対して変換処理を施す。そのため、レシート等に印字されている文字のうち基準サイズと異なるサイズの文字について正しい文字認識結果が得られ難かった従来と比較して、より適切な文字認識結果を得ることが可能となった。
【００７０】
特に本実施形態では、基準サイズの全角文字や半角文字を縦倍して印字された文字や横倍して印字された文字を含んだレシート等の読取画像から、特殊文字領域を抽出し、特殊文字領域に対して前記変換を行う。これにより、従来は正確に文字認識することが難しかった、前記縦倍して印字された文字や横倍して印字された文字について、正確に文字認識することが可能となった。
【００７１】
これまでは、基準サイズと異なるサイズの特殊文字とは、主に、基準サイズよりも大きいサイズの文字を想定した説明であった。しかし、本実施形態では、基準サイズよりも小さいサイズの文字を特殊文字として前記変換の対象とする態様を含む。つまり、変換部３７は、読取画像に含まれる、基準サイズよりも小さい特殊文字のサイズを基準サイズに近づける変換処理を行い（ステップＳ１５０）、文字認識部は、前記変換処理後の読取画像に対して文字認識処理（ステップＳ１６０）を行う、としてもよい。
【００７２】
また、本実施形態によれば、前記変換部３７は、前記文字領域の縦幅の最頻値を前記基準サイズの縦幅（基準幅）とし、縦幅が基準幅と異なる前記文字領域を、前記特殊文字領域の一つとして前記変換処理の対象とする。
前記構成によれば、画像処理装置は、基準サイズを縦倍等して印字された文字に対応する特殊文字領域を、文字領域の縦幅の最頻値に基づいて的確に抽出し、前記変換処理の対象とすることができる。
【００７３】
なお、特殊文字領域を抽出するために用いる基準幅は、文字領域の横幅の最頻値であってもよい。つまり、変換部３７は、ステップＳ１２０で設定された文字領域の横幅の最頻値を基準サイズの横幅（基準幅）とし、横幅が基準サイズの横幅（基準幅）と異なる文字領域を、特殊文字領域の一つとして抽出し（ステップＳ１４０）、前記変換処理の対象としてもよい。かかる構成によれば、画像処理装置は、基準サイズを横倍等して印字された文字に対応する特殊文字領域を、文字領域の横幅の最頻値に基づいて的確に抽出し、前記変換処理の対象とすることができる。
従って、変換部３７は、前記文字領域の縦方向または横方向の一方の幅の最頻値を前記基準サイズの基準幅とし、前記一方の幅が前記基準幅と異なる前記文字領域を、前記特殊文字領域の一つとして前記変換処理の対象とする、と言える。
【００７４】
また、本実施形態によれば、前記変換部３７は、前記文字領域の縦方向の幅の最頻値を前記基準サイズの基準幅としたとき、前記基準幅よりも横方向の幅が大きい前記文字領域を、前記特殊文字領域の一つとして前記変換処理の対象とする（例えば、ステップＳ１４０Ｄ，Ｓ１５０Ｄ）。
前記構成によれば、画像処理装置は、全角文字の基準サイズを横倍等して印字された文字に対応する特殊文字領域を、文字領域の縦幅の最頻値に基づいて的確に抽出し、前記変換の対象とすることができる。
【００７５】
また、本実施形態によれば、前記文字認識部は、前記変換処理前の読取画像に対して文字認識処理を行い（ステップＳ１３０）、前記変換処理前の読取画像に対する文字認識処理の結果のうち、前記変換処理後の読取画像に対する文字認識処理の結果と異なる部分を、前記変換処理後の読取画像に対する文字認識処理の結果に置き換える（ステップＳ１７０）。
前記構成によれば、画像処理装置は、前記変換処理前の読取画像に対する文字認識処理の結果をベースとして、当該ベースのうち前記変換処理後の読取画像に対する文字認識処理の結果と異なる部分については、前記変換処理後の読取画像に対する文字認識処理の結果で置き換える。これにより、読取画像全体に関する適切な文字認識結果を生成することができる。
【００７６】
図６によるステップＳ１５０（ステップＳ１５０Ａ，Ｓ１５０Ｂ，Ｓ１５０Ｃ，Ｓ１５０Ｄ，Ｓ１５０Ｅ）の説明では、特殊文字領域に施すサイズの変換処理にかかる変換率について、縦方向や横方向に１／２に圧縮すると説明した。しかし、このような１／２という具体的値は、実施形態の一例に過ぎない。制御部３１は、基準サイズと、ステップＳ１５０の変換を施すべき特殊文字領域（基準サイズと異なるサイズの領域である特殊文字領域）とを認知する。そのため、ステップＳ１５０では、制御部３１は、基準サイズと、ステップＳ１５０の変換を施すべき特殊文字領域との、縦幅の比や横幅の比に応じて、特殊文字のサイズを基準サイズに変換するために必要な変換率を決定することができる。
【００７７】
また、図６に基づく説明では、ステップＳ１４０（ステップＳ１４０Ａ，Ｓ１４０Ｂ，Ｓ１４０Ｃ，Ｓ１４０Ｄ，Ｓ１４０Ｅ）で読取画像から抽出する特殊文字領域は、基準サイズを縦方向及び又は横方向に２倍に拡大して印字された文字の文字領域である場合を挙げた。しかし、本実施形態が想定する特殊文字領域のサイズは、当然他にも考えられる。つまり、ステップＳ１４０で抽出する特殊文字領域は、基準サイズを縦方向及び又は横方向に２倍とは異なる倍数（例えば、０．５倍、１．５倍、３倍、４倍…）で縮小したり拡大したりして印字された文字の文字領域であってもよい。
【００７８】
４．他の実施形態：
本発明の実施形態は上述した態様に限定されず、例えば、以下に説明する種々の態様を含む。これまでに説明した実施形態を、便宜上、第１実施形態とも呼ぶ。
【００７９】
図８は、メインサーバー３０の制御部３１がプログラム３２に従って実行する画像処理であって第２実施形態にかかる処理をフローチャートにより示している。第２実施形態については主に、第１実施形態と異なる点を説明する。
【００８０】
図８のステップＳ２００〜Ｓ２２０は、図２のステップＳ１００〜Ｓ１２０と同じ処理である。また、ステップＳ２２０に続くステップＳ２３０，Ｓ２４０は、ステップＳ１４０，Ｓ１５０と同じ処理である。第２実施形態では、第１実施形態で説明したステップＳ１３０の第１文字認識処理、つまり特殊文字領域の変換処理前の読取画像に対する文字認識処理を省略する。
【００８１】
ステップＳ２５０では、制御部３１は、ＯＣＲエンジン３５を起動させ、ステップＳ２４０の変換処理後の文字領域を含む読取画像を対象とした文字認識処理をＯＣＲエンジン３５に実行させる。つまり、ステップＳ２５０では、ステップＳ２４０による変換処理後の文字領域と、ステップＳ２２０で設定した文字領域のうちステップＳ２４０による変換処理の対象としていない文字領域との全てを対象として、文字認識処理を行う。そして、ステップＳ２６０では、制御部３１は、ステップＳ２５０の文字認識処理の結果としてのテキストデータを、ステップＳ２００で取得した読取画像とともに所定の保存先、例えば、ストレージサーバー４０へ保存する。
【００８２】
このような第２実施形態によっても、レシートまたは請求書の読み取りにより生成された、文字の基準サイズと異なるサイズの特殊文字を含む読取画像を取得する取得工程（ステップＳ２００）と、前記読取画像に含まれる前記特殊文字のサイズを前記基準サイズに近づける変換処理を行う変換工程（ステップＳ２４０）と、前記変換処理後の前記読取画像に対して文字認識処理を行う文字認識工程（ステップＳ２５０）と、を備える画像処理方法の一つが実現される。そして、第２実施形態によれば、画像処理装置（メインサーバー３０）は、基準サイズに変換された、あるいは基準サイズに近いサイズへ変換された文字を含んだ画像に対して文字認識処理を行うため、レシート等に印字されている文字のうち一部の特殊なサイズの文字について正しい文字認識結果が得られ難かった従来と比較して、より適切な文字認識結果を得ることが可能となった。
【００８３】
その他の説明：
これまでは、本発明にかかる画像処理装置の具体例として、システム１に含まれるメインサーバー３０を挙げて説明を行った。ただし、画像処理装置の具体例はメインサーバー３０に限定されない。例えば、スキャナー１０から原稿の読取画像を取得する通信装置２０が、自身のリソースを用いて本発明の画像処理装置を実現してもよい。つまり、通信装置２０において、ＲＯＭ２１ｂやＲＯＭ２１ｂ以外のメモリー等の記憶手段にＯＣＲエンジン３５等が記憶されており、これまで制御部３１が実行するものとして説明した処理を、制御部２１がプログラム２２に従って実行する構成であってもよい。この場合、通信装置２０は、ステップＳ１８０，Ｓ２６０（保存処理）における読取画像やテキストデータの保存先を、自身が有するメモリー等の記憶手段としてもよいし、外部のサーバー（例えば、ストレージサーバー４０）としてもよい。
【００８４】
ＯＣＲエンジン３５は、記憶部３４やメモリーに記憶されたソフトウェアではなく、ソフトウェアと協働して機能するハードウェアであってもよい。その場合、ＯＣＲエンジン３５自体を、文字認識処理を実行する文字認識部と呼ぶことができる。
【符号の説明】
【００８５】
１…システム、１０…スキャナー、２０…通信装置、２１…制御部、２１ａ…ＣＰＵ、２１ｂ…ＲＯＭ、２１ｃ…ＲＡＭ、２２…プログラム、２３…通信ＩＦ、３０…メインサーバー、３１…制御部、３１ａ…ＣＰＵ、３１ｂ…ＲＯＭ、３１ｃ…ＲＡＭ、３２…プログラム、３３…通信ＩＦ、３４…記憶部、３５…ＯＣＲエンジン、４０…ストレージサーバー、ＩＭ…読取画像、ＮＷ…ネットワーク
【図１】
2019159633.tif 000003
【図２】
2019159633.tif 000004
【図３】
2019159633.tif 000005
【図４】
2019159633.tif 000006
【図５】
2019159633.tif 000007
【図６】
2019159633.tif 000008
【図７】
2019159633.tif 000009
【図８】
2019159633.tif 000010