(57)【要約】【課題】帳票の画像における日付印が押印された領域を自動で正しく特定する。【解決手段】帳票の画像における帳票の要素を示す画素のうち、帳票の要素における帳票の画像の水平方向及び垂直方向のそれぞれとのなす角が所定の角度以上となる部分を示す画素を抽出し、抽出した画素のうち、隣接して連続する複数の画素を１つのグループとしてグループ化し、画素のグループのうち、画像内における縦横の長さが所定の閾値以上であり、かつ距離が所定の範囲内となる他のグループが２組以上存在するグループを抽出し、帳票の画像における抽出したグループの全てを内包する領域を、日付印が押印された領域に特定する処理をコンピュータに実行させる画像処理プログラムである。【選択図】図３
2019197444.tif 000002
【特許請求の範囲】
【請求項１】
帳票の画像における前記帳票の要素を示す画素のうち、前記帳票の要素における前記帳票の画像の水平方向及び垂直方向のそれぞれとのなす角が所定の角度以上となる部分を示す画素を抽出し、
抽出した前記画素のうち、隣接して連続する複数の画素を１つのグループとしてグループ化し、
前記画素のグループのうち、前記画像内における縦横の長さが所定の閾値以上であり、かつ距離が所定の範囲内となる他のグループが２組以上存在するグループを抽出し、
前記帳票の画像における抽出した前記グループの全てを内包する領域を、日付印が押印された領域に特定する
処理をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項２】
前記画素を抽出する処理は、前記帳票の要素を示す画素毎に、該画素の周囲に位置する複数の画素のそれぞれにおける濃度と、当該複数の画素の濃度のそれぞれに対して適用する係数を定めたフィルタとに基づいて、前記画素の濃度と前記係数との積の和を算出し、
算出した前記和の絶対値が所定の閾値以上となる画素を抽出する
処理を含むことを特徴とする請求項１に記載の画像処理プログラム。
【請求項３】
前記日付印が押印された領域を特定した後、更に、
前記帳票の画像における前記日付印が押印された領域を切り出し、
切り出した前記領域における水平方向に対する、該領域に含まれる前記日付印における直線部の傾き角を算出し、
算出した前記傾き角に基づいて、前記日付印における前記直線部の延伸方向が水平方向となるよう前記切り出した領域を回転させる
処理をコンピュータに実行させることを特徴とする請求項１又は２に記載の画像処理プログラム。
【請求項４】
前記日付印が押印された領域を特定した後、更に、
前記日付印が押印された領域内の前記日付印に含まれる日付を文字認識により認識する
処理をコンピュータに実行させることを特徴とする請求項１に記載の画像処理プログラム。
【請求項５】
コンピュータが、帳票の画像における前記帳票の要素を示す画素のうち、前記帳票の要素における前記帳票の画像の水平方向及び垂直方向のそれぞれとのなす角が所定の角度以上となる部分を示す画素を抽出し、
抽出した前記画素のうち、隣接して連続する複数の画素を１つのグループとしてグループ化し、
前記画素のグループのうち、前記画像内における縦横の長さが所定の閾値以上であり、かつ距離が所定の範囲内となる他のグループが２組以上存在するグループを抽出し、
前記帳票の画像における抽出した前記グループの全てを内包する領域を、日付印が押印された領域に特定する
処理を実行することを特徴とする画像処理方法。
【請求項６】
帳票の画像における前記帳票の要素を示す画素のうち、前記帳票の要素における前記帳票の画像の水平方向及び垂直方向のそれぞれとのなす角が所定の角度以上となる部分を示す画素を抽出し、抽出した前記画素のうち、隣接して連続する複数の画素を１つのグループとしてグループ化した後、前記画素のグループのうち、前記画像内における縦横の長さが所定の閾値以上であり、かつ距離が所定の範囲内となる他のグループが２組以上存在するグループを抽出し、前記帳票の画像における抽出した前記グループの全てを内包する領域を日付印が押印された領域に特定する解析部
を備えることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理プログラム、画像処理方法、及び画像処理装置に関する。
【背景技術】
【０００２】
帳票の画像に対する文字認識を行う画像処理装置の１つとして、帳票に押印された日付印に含まれる日付を文字認識により認識する処理を行う装置がある。この種の画像処理装置では、日付印に含まれる日付を正しく認識するために帳票の画像から日付印が押印された領域を切り出して日付印の向きを補正する。
【０００３】
帳票の画像における日付印の日付を文字認識する際には、まず、帳票の画像における日付印が押印された位置を特定する。特許文献１には、帳票ＩＤに基づき、帳票フォーマットデータ格納部より対応する日付押印部の領域を取り出し、帳票の画像における日付印が押印された位置を特定することが記載されている。また、特許文献２には、帳票における押印枠の位置を示す座標（ｘｓ，ｘｅ，ｙｓ，ｙｅ）をもとに帳票の画像における日付印が押印された領域を特定することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−１９０６１０号公報
【特許文献２】特開平６−１１１０６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、近年、私製の帳票の増加等に伴い、帳票内における日付印を押印する領域の位置が多様化している。このため、日付印を押印する領域が存在する多種の帳票の全てについて日付印を押印する領域の位置情報を含む帳票フォーマットデータを作成するには、非常に多くの手間と時間を要する。
【０００６】
更に、帳票に日付印を押印する作業は、人が行うため、押印された日付印の一部が押印する領域の外側にはみ出してしまうこともある。このように、日付の一部が押印する領域の外側にはみ出してしまった場合、押印する領域の位置に基づいて帳票の画像から切り出した領域内の日付印は一部が欠損した状態となるため、日付印の向きや日付を正しく認識することが困難となる。日付印の日付を正しく認識できなかった場合には、オペレータがもとの帳票（紙媒体）に押印された日付印を確認して正しい日付を入力する作業が発生するため、オペレータの手間が増える。
【０００７】
本発明は、上述した問題点に鑑みてなされたものであり、帳票の画像における日付印が押印された領域を自動で正しく特定することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る第１の側面である画像処理プログラムは、帳票の画像における前記帳票の要素を示す画素のうち、前記帳票の要素における前記帳票の画像の水平方向及び垂直方向のそれぞれとのなす角が所定の角度以上となる部分を示す画素を抽出し、抽出した前記画素を、隣接して連続する複数の画素を１つのグループとしてグループ化し、前記画素のグループのうち、前記画像内における縦横の長さが閾値以上であり、かつ距離が所定の範囲内となる他のグループが２組以上存在するグループを抽出し、前記帳票の画像における抽出した前記グループの全てを内包する領域を、日付印が押印された領域とする処理をコンピュータに実行させる画像処理プログラムである。
【０００９】
本発明に係る第２の側面である画像処理方法は、コンピュータが、帳票の画像における前記帳票の要素を示す画素のうち、前記帳票の要素における前記帳票の画像の水平方向及び垂直方向のそれぞれとのなす角が所定の角度以上となる部分を示す画素を抽出し、抽出した前記画素を、隣接して連続する複数の画素を１つのグループとしてグループ化し、前記画素のグループのうち、前記画像内における縦横の長さが閾値以上であり、かつ距離が所定の範囲内となる他のグループが２組以上存在するグループを抽出し、前記帳票の画像における抽出した前記グループの全てを内包する領域を、日付印が押印された領域とする処理を実行する画像処理方法である。
【００１０】
本発明に係る第３の側面である画像処理装置は、帳票の画像における前記帳票の要素を示す画素のうち、前記帳票の要素における前記帳票の画像の水平方向及び垂直方向のそれぞれとのなす角が所定の角度以上となる部分を示す画素を抽出し、抽出した前記画素を、隣接して連続する複数の画素を１つのグループとしてグループ化した後、前記画素のグループのうちの、前記画像内における縦横の長さが閾値以上であり、かつ距離が所定の範囲内となる他のグループが２組以上存在するグループを抽出し、前記帳票の画像における抽出した前記グループの全てを内包する領域を日付印が押印された領域とする解析部を備える画像処理装置である。
【発明の効果】
【００１１】
本発明によれば、帳票の画像における日付印が押印された領域を自動で正しく特定することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】画像処理システムの構成を示す図である。
【図２】一実施形態に係る画像処理装置の機能的構成を示す図である。
【図３】一実施形態に係る画像処理を説明するフローチャートである。
【図４】斜度抽出処理の内容を説明するフローチャートである。
【図５】ノイズ除去処理の内容を説明するフローチャートである。
【図６】グループ化処理の内容を説明するフローチャートである。
【図７】正立補正処理の内容を説明するフローチャートである。
【図８】帳票の例を示す図である。
【図９】帳票に押印された日付印の例を示す図である。
【図１０】帳票に押印された日付印の別の例を示す図である。
【図１１】斜度の算出方法を説明する図である。
【図１２】斜度の算出結果を示す図である。
【図１３】斜度の抽出結果を示す図である。
【図１４Ａ】画素をグループ化する方法を説明する図（その１）である。
【図１４Ｂ】画素をグループ化する方法を説明する図（その２）である。
【図１５】ノイズの除去方法を説明する図である。
【図１６】日付印の傾きを算出する方法を説明する図である。
【図１７】日付印が正立補正される様子を説明する図である。
【図１８】コンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１３】
図１は、画像処理システムの構成を示す図である。
図１の画像処理システム１は、帳票に押印された日付印に含まれる日付を文字認識により認識する処理を自動で行うシステムである。画像処理システム１は、画像処理装置２と、スキャナ装置３と、入力装置４と、表示装置５と、サーバ装置６とを含む。
【００１４】
画像処理装置２は、帳票の画像における日付印が押印された領域を特定し、該日付印に含まれる日付を文字認識により認識する。画像処理装置２は、例えば、スキャナ装置３から帳票の画像を取得する。スキャナ装置３は、帳票等の紙媒体をデジタルデータ（画像）に変換する装置である。
【００１５】
入力装置４は、画像処理装置２に各種情報を入力する装置である。入力装置４は、例えば、キーボード装置である。表示装置５は、画像処理装置２が行う処理の内容や処理の結果、入力装置４により入力された情報、帳票の画像等の、各種情報を表示する装置である。表示装置５は、例えば、液晶ディスプレイである。
【００１６】
サーバ装置６は、画像処理装置２が画像内の文字を認識する際に参照する文字認識辞書を保持する装置である。サーバ装置６は、ネットワーク７を介して画像処理装置２と通信可能に接続される。
【００１７】
画像処理装置２は、スキャナ装置３から帳票の画像を取得した後、まず、該画像内における日付印が押印された位置（領域）を特定する。その後、画像処理装置２は、画像内における日付印の傾きを算出し、該傾きが所定の角度以上である場合には日付印の向きが正立となるよう画像を補正する。そして、画像処理装置２は、画像内における日付印の向きが正立となった状態で文字認識を行い、日付印に含まれる日付を認識する。画像処理装置２は、帳票の画像及び認識した日付を表示装置５に表示させる。なお、画像処理システム１のオペレータは、例えば、表示装置５に表示された日付の認識結果と、帳票に押印された日付印の日付とが異なる場合には、入力装置４を操作して日付を修正することが可能である。
【００１８】
図２は、一実施形態に係る画像処理装置の機能的構成を示す図である。
図２に示すように、本実施形態に係る画像処理装置２は、スキャナ制御部２１０と、解析部２２０と、認識処理部２３０と、表示制御部２４０と、主制御部２５０とを含む。また、画像処理装置２は、図示していない記憶部を含む。
【００１９】
スキャナ制御部２１０は、スキャナ装置３から帳票の画像を取得する処理を制御する。
解析部２２０は、帳票の画像における日付印の位置及び傾きを解析し、画像内における日付印の向きが正立となるよう画像を補正する。解析部２２０は、変換部２２１と、斜度抽出部２２２と、ノイズ除去部２２３と、切出部２２４と、補正部２２５とを含む。
【００２０】
変換部２２１は、帳票の画像がカラー画像である場合に、該カラー画像をグレースケールの画像に変換する。
【００２１】
斜度抽出部２２２は、帳票の画像内における帳票の要素（線、文字、図形、及び日付印等）のそれぞれにおける、画像水平方向及び垂直方向となす角が所定の角度以上となる部分を抽出する。例えば、斜度抽出部２２２は、画像内に存在する帳票の要素のいずれかの一部を示す画素毎に、該画素の周囲の画素の濃度値と後述するフィルタとに基づいて斜度を算出し、算出した斜度が閾値以上となる画素を抽出する。斜度は、帳票の要素のうちの斜度を算出する画素及び周囲の画素が示す部分の延伸方向と画像水平方向及び画像垂直方向のそれぞれとのなす角の大きさに応じた値である。帳票の要素のうちの斜度を算出する画素及び周囲の画素が示す部分の延伸方向が画像水平方向及び画像垂直方向のいずれかと略平行である場合の斜度は、斜度を算出する画素及び周囲の画素が示す部分の延伸方向が画像水平方向及び画像垂直方向のそれぞれに対して斜め方向となる場合の斜度よりも小さな値となる。
【００２２】
ノイズ除去部２２３は、斜度抽出部２２２で抽出した斜度が閾値以上となる画素のうちの日付印とは異なる要素を示す画素を、ノイズとして日付印の一部を示す画素の候補から除外する。ノイズ除去部２２３は、画像内における日付印の外形及び寸法の特徴に基づいて、日付印とは異なる要素を示す画素を特定する。例えば、ノイズ除去部２２３は、斜度抽出部２２２で抽出した斜度が閾値以上となる画素を隣接して連続する複数の画素毎にグループ化し、縦横の寸法が閾値よりも小さいグループに含まれる画素を、ノイズとして日付印の一部を示す画素の候補から除外する。また、例えば、ノイズ除去部２２３は、縦横の寸法が閾値以上であるグループのうちの、距離が所定の範囲内となる他のグループが２組以上存在するグループに含まれる画素を、日付印の一部を示す画素として抽出する。言い換えると、ノイズ除去部２２３は、縦横の寸法が閾値以上であるグループのうちの、距離が所定の範囲内となる他のグループが１組しか存在しないグループ、及び１組も存在しないグループに含まれる画素を、ノイズとして日付印の一部を示す画素の候補から除外する。
【００２３】
切出部２２４は、斜度抽出部２２２で抽出した斜度が閾値以上となる画素のうちのノイズ除去部２２３により除外されなかったグループに含まれる画素の画像内での位置に基づいて、画像内の日付印が押印された領域を切り出す。切出部２２４は、例えば、画像内におけるノイズ除去部２２３により除外されなかったグループの全てを内包する矩形の領域を、日付印が押印された領域に特定し、該領域を切り出す。
【００２４】
補正部２２５は、切り出した領域内における日付印の画像水平方向に対する傾きが閾値以上である場合に、日付印の向きが正立となるよう切り出した領域を回転補正する。補正部２２５は、例えば、ハフ変換により、日付印における日付の上側に位置する第１の直線部及び日付の下側に位置する第２の直線部の画像水平方向に対する傾きを推定し、該傾きの推定結果に基づいて、日付印の向きが成立となるよう切り出した領域内の画素の位置（座標）を変換する。
【００２５】
認識処理部２３０は、解析部２２０の解析結果に基づいて、帳票の画像から切り出した日付印が押印された領域に含まれる日付を、文字認識により認識する。認識処理部２３０は、例えば、サーバ装置６が保持する文字認識辞書６１０を参照して、日付印が押印された領域（部分画像）における第１の直線部と第２の直線部との間となる領域に並んでいる数字や記号を認識する。なお、認識処理部２３０が参照する文字認識辞書６１０は、例えば、画像処理装置２が備える記憶部（図示せず）に記憶させておいてもよい。
【００２６】
表示制御部２４０は、表示装置５の表示を制御する。例えば、表示制御部２４０は、帳票の画像及び日付印の日付の認識結果を含む画面データを生成し、該画面データを表示装置５に表示させる。
【００２７】
主制御部２５０は、スキャナ制御部２１０、解析部２２０、認識処理部２３０、及び表示制御部２４０が協働して行う一連の処理を制御する。
【００２８】
このように、本実施形態の画像処理装置２は、帳票の画像における画像水平方向及び画像垂直方向のそれぞれとのなす角と対応した斜度と日付印の外形及び寸法の特徴とに基づいて帳票の画像における日付印が押印された位置を特定する解析部２２０を備える。このため、本実施形態の画像処理装置２では、帳票に押印された日付印の位置によらず、日付印全体を含む領域を特定することが可能となる。また、本実施形態の画像処理装置２における解析部２２０は、更に、帳票の画像内における日付印の傾きを算出し（推定し）、日付印の向きが正立となるよう補正する。このため、本実施形態の画像処理装置２では、日付印に含まれる日付の向きが正立となった状態で文字認識を行うことが可能となる。
【００２９】
図３は、一実施形態に係る画像処理を説明するフローチャートである。
本実施形態の画像処理装置２は、画像処理を開始すると、図３に示すように、まず、帳票の画像を取得する（ステップＳ１）。ステップＳ１の処理は、画像処理装置２のスキャナ制御部２１０が行う。スキャナ制御部２１０は、例えば、帳票のＲＧＢカラー画像をスキャナ装置３から取得する。
【００３０】
次に、画像処理装置２は、取得した帳票の画像をグレースケールの画像に変換する（ステップＳ２）。ステップＳ２の処理は、画像処理装置２の解析部２２０における変換部２２１が行う。変換部２２１は、既知の変換方法に従って、ＲＧＢカラー画像を所定の階調のグレースケール画像に変換する。例えば、変換部２２１は、ＲＧＢカラー画像における各画素のＲＧＢ輝度値に基づいて、紙媒体である帳票における下地の濃度（階調）が、帳票における罫線、文字、日付印等の要素の濃度（階調）よりも高くなるよう、ＲＧＢカラー画像をグレースケール画像に変換する。なお、ステップＳ１で取得した帳票の画像がグレースケール画像、或いは二値化されたモノクロ画像である場合には、ステップＳ２の処理を省略してもよい。
【００３１】
次に、画像処理装置２は、帳票の画像内における日付印の位置の特定に用いる情報を取得する処理として、斜度抽出処理（ステップＳ３）及びノイズ除去処理（ステップＳ４）を行う。斜度抽出処理及びノイズ除去処理は、画像内の要素における画像水平方向及び画像垂直方向のそれぞれとなす角が閾値以上となる部分を日付印の候補として抽出する処理の一例である。
【００３２】
ステップＳ３の斜度抽出処理は、画像処理装置２の解析部２２０における斜度抽出部２２２が行う。斜度抽出部２２２は、画像内における線、文字、日付印等と対応する濃度が閾値以下の画素毎に、画像水平方向及び垂直方向のそれぞれとなす角と対応する斜度を算出し、算出した斜度が閾値以上となる画素を抽出する。ここで、斜度は、該斜度を算出する注目画素と隣接する画素の濃度と所定のフィルタとにより算出される値である。フィルタは、例えば、画像内で斜め方向に連続している複数の濃度が閾値以下である画素のいずれかを注目画素とした場合の斜度が、画像内で水平方向又は垂直方向に連続している複数の濃度が閾値以下である画素のいずれかを注目画素とした場合の斜度よりも大きな値となるように設定された係数の組である。
【００３３】
ステップＳ４のノイズ除去処理は、画像処理装置２の解析部２２０におけるノイズ除去部２２３が行う。ノイズ除去部２２３は、ステップＳ３で抽出した斜度が閾値以上である画素に含まれる、画像内における日付印に含まれる要素以外の要素（罫線や文字等）と対応する画素を、ノイズとして日付印の要素を示す画素の候補から除外する。ノイズ除去部２２３は、例えば、斜度が閾値以上である画素をグループ化し、画像内における日付印の外形の形状及び寸法の特徴に基づいて設定した条件を満たしていないグループに含まれる画素を、日付印の要素を示す画素の候補から除外する。
【００３４】
ステップＳ３及びＳ４の処理を終えると、画像処理装置２は、次に、日付印の位置を特定し、日付印が押印された領域を切り出す（ステップＳ５）。ステップＳ５の処理は、画像処理装置２の解析部２２０における切出部２２４が行う。切出部２２４は、ステップＳ３及びＳ４の処理により得られた、日付印の要素を示す画素の候補（グループ）の全てを内包する矩形領域を算出し、該矩形領域を帳票の画像から切り出す。
【００３５】
ステップＳ５の処理を終えると、画像処理装置２は、次に、切り出した画像に含まれる日付印の向きが正立となるよう補正する正立補正処理（ステップＳ６）を行う。ステップＳ６の正立補正処理は、画像処理装置２の解析部２２０における補正部２２５が行う。補正部２２５は、切り出した画像における日付印の傾きを算出し、該傾きが閾値以上である場合には傾き角に応じた角度だけ、切り出した画像を回転させる。補正部２２５は、既知の方法に従って日付印の傾き角θを算出した後、既知の方法に従って画像を−θだけ回転させる。例えば、補正部２２５は、ハフ変換により、日付印における日付の上側に位置する第１の直線部及び日付の下側に位置する第２の直線部を抽出し、該直線部の水平方向からの傾き角θを算出する。その後、補正部２２５は、切り出した画像全体を−θだけ回転させる。これにより、切り出し画像内の日付印における日付の上側に位置する第１の直線部及び日付の下側に位置する第２の直線部の延伸方向が水平方向と略一致し、日付の向きが正立した状態となる。
【００３６】
次に、画像処理装置２は、文字認識により日付印に含まれる日付を認識する（ステップＳ７）。ステップＳ７の処理は、画像処理装置２の認識処理部２３０が行う。認識処理部２３０は、日付印の向きが正立した状態となっている画像内の日付を示す領域を抽出し、該領域に対する文字認識を行って、日付を認識する。認識処理部２３０は、例えば、ステップＳ６で抽出した日付の上側に位置する第１の直線部及び日付の下側に位置する第２の直線部と、日付印の輪郭を示す線とで囲まれた領域を、日付を示す領域として抽出する。また、認識処理部２３０は、既知の認識方法に従って、日付を示す領域内に並んでいる数字及び記号を認識する。この際、認識処理部２３０は、例えば、サーバ装置６の文字認識辞書６１０を参照して、日付を示す領域内に並んでいる数字及び記号を認識する。なお、認識処理部２３０が参照する文字認識辞書６１０は、画像処理装置２が備える記憶部（図示せず）に記憶させておいてもよい。
【００３７】
ステップＳ７の処理を終えると、画像処理装置２は、認識結果を出力し（ステップＳ８）、一連の画像処理を終了する。ステップＳ８の処理は、画像処理装置２の表示制御部２４０が行う。表示制御部２４０は、例えば、ステップＳ１で取得した帳票の画像、ステップＳ６で補正した日付印の画像、及び日付の認識結果を含む画面データを作成し、表示装置５に表示させる。
【００３８】
このように、本実施形態に係る画像処理装置２は、斜度抽出処理及びノイズ除去処理を行って、画像内の日付印における画像水平方向及び画像垂直方向のそれぞれとなす角が閾値以上となる部分を抽出する。
【００３９】
図４は、斜度抽出処理の内容を説明するフローチャートである。
上記のように、斜度抽出処理（ステップＳ３）は、画像処理装置２の解析部２２０における斜度抽出部２２２が行う。斜度抽出部２２２は、斜度抽出処理として、図４に示したようなループ処理（ステップＳ３０１〜Ｓ３０６）を行う。ループ処理は、帳票の画像における画素毎に行われる。
【００４０】
ループ処理の開始端（ステップＳ３０１）では、斜度抽出部２２２は、画像内の画素のなかから処理の対象とする画素を選択する。例えば、斜度抽出部２２２は、ラスタスキャンにより処理の対象とする画素を選択する。一方、ループ処理の終了端（ステップＳ３０６）では、斜度抽出部２２２は、帳票の画像における全ての画素で処理を行ったか否かを判定する。処理を行っていない画素がある場合、斜度抽出部２２２は、ループ処理（ステップＳ３０１〜Ｓ３０６）を継続する。全ての画素で処理を行った場合、斜度抽出部２２２は、ループ処理（ステップＳ３０１〜Ｓ３０６）を終了し、斜度抽出処理を終了する。
【００４１】
ステップＳ３０１で処理の対象とする画素を選択した後、斜度抽出部２２２は、選択した画素の濃度が閾値ＴＨ１以下であるか否かを判定する（ステップＳ３０２）。閾値ＴＨ１は、帳票のグレースケール画像における下地の濃度と、線、文字、日付印等の帳票の要素の濃度との間となる値に設定する。ステップＳ２において、帳票の画像を、帳票の下地の濃度が要素（線、文字、日付印等）の濃度よりも高いグレースケール画像に変換した場合、濃度が閾値ＴＨ１よりも高い画素は、帳票における下地を示す画素である。このため、選択した画素の濃度が閾値ＴＨ１よりも高い場合（ステップＳ３０２；ＹＥＳ）、斜度抽出部２２２は、ステップＳ３０３〜Ｓ３０５の処理を省略し、ループ処理の終了端（ステップＳ３０６）においてループ処理を継続するか否かを判定する。
【００４２】
一方、選択した画素の濃度が閾値ＴＨ１以下である画素は、帳票における線、文字、及び日付印等を含む帳票の要素を示す画素である。このため、選択した画素の濃度が閾値ＴＨ１以下である場合（ステップＳ３０２；ＹＥＳ）、斜度抽出部２２２は、次に、該当画素の周囲の画素の濃度とフィルタとに基づいて該当画素の斜度を算出する（ステップＳ３０３）。ステップＳ３０３において、斜度抽出部２２２は、例えば、下記数式（１）により、画素Ｐu,vの斜度Ｓu,vを算出する。
【００４３】
Ｓu,v＝ａ1・Ｄu-1,v-1＋ａ2・Ｄu,v-1＋ａ3・Ｄu+1,v-1
＋ａ4・Ｄu-1,v＋ａ5・Ｄu+1,v
＋ａ6・Ｄu-1,v+1＋ａ7・Ｄu,v+1＋ａ8・Ｄu+1,v+1      ・・・（１）
【００４４】
なお、画素Ｐu,vは、帳票の画像における左上角部の画素を原点（ｕ＝０，ｖ＝０）とし、右方向を＋ｕ方向、下方向を＋ｖ方向としたときに座標（ｕ，ｖ）で指定される画素である。また、数式（１）におけるＤu-1,v-1、Ｄu,v-1、Ｄu+1,v-1、Ｄu-1,v、Ｄu+1,v、Ｄu-1,v+1、Ｄu,v+1、及びＤu+1,v+1は、それぞれ、画素Ｐu-1,v-1、Ｐu,v-1、Ｐu+1,v-1、Ｐu-1,v、Ｐu+1,v、Ｐu-1,v+1、Ｐu,v+1、及びＰu+1,v+1の濃度である。また、数式（１）におけるａ1〜ａ8は、それぞれ、フィルタ係数である。本実施形態では、フィルタ係数ａ1〜ａ8を、例えば、ａ1＝ａ8＝１、ａ2＝ａ4＝ａ5＝ａ7＝０、及びａ3＝ａ6＝−１とする。
【００４５】
選択した画素の斜度を算出すると、斜度抽出部２２２は、次に、算出した斜度の絶対値が閾値ＴＨ２以上であるか否かを判定する（ステップＳ３０４）。閾値ＴＨ２は、帳票の要素（線、文字、日付印等）における水平方向及び垂直方向に対して斜めに延伸する部分を示す画素の平均的な斜度と、水平方向及び垂直方向に延伸する部分を示す画素の平均的な斜度との間となる値に設定する。数式（１）により算出される斜度Ｓu,vは、選択した画素Ｐu,vが帳票の要素（線、文字、日付印等）における水平方向及び垂直方向に対して斜めに延伸する部分を示す画素である場合の絶対値が、水平方向及び垂直方向に延伸する部分を示す画素である場合の絶対値よりも大きくなる。すなわち、算出した斜度の絶対値が閾値ＴＨ２よりも小さい画素は、帳票の要素（線、文字、日付印等）における水平方向及び垂直方向に延伸する部分を示す画素である。このため、斜度が閾値ＴＨ２よりも小さい場合（ステップＳ３０４；ＮＯ）、斜度抽出部２２２は、ステップＳ３０５の処理を省略し、ループ処理の終了端（ステップＳ３０６）においてループ処理を継続するか否かを判定する。すなわち、斜度抽出部２２２は、濃度が閾値ＴＨ１以下である帳票の要素を示す画素のうちの、帳票の要素（線、文字、日付印等）における水平方向及び垂直方向に延伸する部分を示す画素を、斜度を抽出する画素から除外する。
【００４６】
一方、斜度が閾値ＴＨ２以上である画素は、帳票の要素（線、文字、日付印等）における水平方向及び垂直方向に対して斜め方向に延伸する部分を示す画素である。このため、斜度の絶対値が閾値ＴＨ２以上である場合（ステップＳ３０４；ＹＥＳ）、斜度抽出部２２２は、該当画素の斜度を保持する（ステップＳ３０５）。この後、斜度抽出部２２２は、ループ処理の終了端（ステップＳ３０６）においてループ処理を継続するか否かを判定する。
【００４７】
このように、斜度抽出処理では、帳票の画像における帳票の要素（線、文字、日付印等）のうちの水平方向及び垂直方向に対して斜め方向に延伸する部分を示す画素の斜度のみを抽出する。すなわち、斜度抽出処理を行うことにより、帳票の画像における帳票の要素（線、文字、日付印等）のうちの水平方向及び垂直方向に対して斜め方向に延伸する部分を示す画素が特定される。帳票の画像における罫線は、一般に、画像水平方向に延伸する直線及び画像垂直方向に延伸する直線である。これに対し、日付印は、後述するように、円形又は多角形の輪郭部を含み、画像水平方向及び画像垂直方向のそれぞれに対して斜め方向に延伸する部分が存在する。このため、斜度抽出処理を行うことにより、帳票の画像における日付印が押印された位置（領域）を絞り込むことが可能となる。
【００４８】
なお、帳票には、枠線の角部が円弧状であったり、画像水平方向及び画像垂直方向のそれぞれに対して斜め方向に延伸する部分を含む文字が記載されていたりするものがある。この種の帳票に対して斜度抽出処理を行うと、円弧状の角部を示す画素や文字の一部を示す画素の斜度が閾値ＴＨ２以上となり、該当画素の斜度が抽出される。このため、本実施形態に係る画像処理では、斜度抽出処理の後、ノイズ除去処理（ステップＳ４）を行い、斜度を抽出した画素のうちの、日付印の外形の形状及び寸法の特徴を示す条件を満たさない画素を、ノイズとして日付印を示す画像の候補から除外する。
【００４９】
図５は、ノイズ除去処理の内容を説明するフローチャートである。図６は、グループ化処理の内容を説明するフローチャートである。
【００５０】
上記のように、ノイズ除去処理（ステップＳ４）は、画像処理装置２の解析部２２０におけるノイズ除去部２２３が行う。ノイズ除去部２２３は、ノイズ除去処理として、図５のフローチャートに沿った処理を行う。
【００５１】
ノイズ除去部２２３は、まず、斜度抽出処理において斜度を抽出した画素をグループ化するグループ化処理（ステップＳ４０１）を行う。ノイズ除去部２２３は、グループ化処理として、例えば、図６のフローチャートに沿った処理を行う。
【００５２】
グループ化処理において、ノイズ除去部２２３は、まず、画素に付与するグループ番号ＧＮを初期化する（ステップＳ４０１ａ）。ステップＳ４０１ａでは、ノイズ除去部２２３は、ＧＮ＝１とする。
【００５３】
次に、ノイズ除去部２２３は、ループ処理（ステップＳ４０１ｂ〜Ｓ４０１ｊ）を行う。ループ処理は、帳票の画像における画素毎に行われる。
【００５４】
ループ処理の開始端（ステップＳ４０１ｂ）では、ノイズ除去部２２３は、画像内の画素のなかから処理の対象とする画素を選択する。例えば、ノイズ除去部２２３は、ラスタスキャンにより処理の対象とする画素を選択する。一方、ループ処理の終了端（ステップＳ４０１ｊ）では、ノイズ除去部２２３は、帳票の画像における全ての画素で処理を行ったか否かを判定する。処理を行っていない画素がある場合、ノイズ除去部２２３は、ループ処理（ステップＳ４０１ｂ〜Ｓ４０１ｊ）を継続する。全ての画素で処理を行った場合、ノイズ除去部２２３は、ループ処理（ステップＳ４０１ｂ〜Ｓ４０１ｊ）を終了し、グループ番号を更新する処理（ステップＳ４０１ｋ）を行う。
【００５５】
ステップＳ４０１ｂで処理の対象とする画素を選択した後、ノイズ除去部２２３は、該当画素の斜度を保持しているか否かを判定する（ステップＳ４０１ｃ）。該当斜度を保持していない場合（ステップＳ４０１ｃ；ＮＯ）、ノイズ除去部２２３は、ステップＳ４０１ｄ以降の処理を省略し、ループ処理の終了端（ステップＳ４０１ｊ）においてループ処理を継続するか否かを判定する。
【００５６】
一方、該当画素の斜度を保持している場合（ステップＳ４０１ｃ；ＹＥＳ）、ノイズ除去部２２３は、次に、該当画素の左上、上、右上、及び左の画素にグループ番号が振られているか否かを判定する（ステップＳ４０１ｄ）。該当画素の左上、上、右上、及び左の画素のなかにグループ番号が振られていない画素がある場合（ステップＳ４０１ｄ；ＮＯ）、ノイズ除去部２２３は、該当画素（ステップＳ４０１ｂで選択した画素）にグループ番号ＧＮを割り振る（ステップＳ４０１ｈ）。ステップＳ４０１ｈの処理の後、ノイズ除去部２２３は、グループ番号ＧＮをＧＮ＋１に更新し（ステップＳ４０１ｉ）、ループ処理の終了端（ステップＳ４０１ｊ）においてループ処理を継続するか否かを判定する。
【００５７】
これに対し、該当画素の左上、上、右上、及び左の画素の全てにグループ番号が振られている場合（ステップＳ４０１ｄ；ＹＥＳ）、ノイズ除去部２２３は、次に、各画素に振られたグループ番号のうちの最小の番号を該当画素（ステップＳ４０１ｂで選択した画素）に割り振る（ステップＳ４０１ｅ）。
【００５８】
ステップＳ４０１ｅの処理を終えると、ノイズ除去部２２３は、次に、該当画素の左上、上、右上、及び左の画素のグループ番号が全て同じであるか否かを判定する（ステップＳ４０１ｆ）。グループ番号が全て同じである場合（ステップＳ４０１ｄ；ＹＥＳ）、ノイズ除去部２２３は、ステップＳ４０１ｇの処理を省略し、ループ処理の終了端（ステップＳ４０１ｊ）においてループ処理を継続するか否かを判定する。
【００５９】
一方、該当画素の左上、上、右上、及び左の画素に振られたグループ番号が２通り以上である場合（ステップＳ４０１ｆ；ＮＯ）、ノイズ除去部２２３は、左上、上、右上、及び左の画素に振られたグループ番号のうちの最小のグループ番号を置換テーブルに登録する（ステップＳ４０１ｇ）。ステップＳ４０１ｇの処理において、ノイズ除去部２２３は、左上、上、右上、及び左の画素に振られた２通り以上のグループ番号のうちの、最小ではないグループ番号と、最小のグループ番号とを対応付ける。ステップＳ４０１ｇの処理を終えると、ノイズ除去部２２３は、ループ処理の終了端（ステップＳ４０１ｊ）においてループ処理を継続するか否かを判定する。ループ処理を継続する場合、ノイズ除去部２２３は、ループ処理の開始端（ステップＳ４０１ｂ）において、次のループ処理の対象とする画素を選択する。そして、全ての画素に対してループ処理を行うと、ノイズ除去部２２３は、ループ処理を終了し、次に、置換テーブルに基づいてグループ番号を更新する（ステップＳ４０１ｋ）。ステップＳ４０１ｋの処理では、ノイズ除去部２２３は、置換テーブルを参照し、画素に振られたグループ番号のうちの、ステップＳ４０１ｇの処理により最小のグループ番号が対応付けられた画素のグループ番号を、該最小のグループ番号に置き換える。例えば、置換テーブルにおいて、グループ番号「３」が割り振られた画素に、最小のグループ番号「１」が対応付けられている場合、ノイズ除去部２２３は、該当画素のグループ番号を「３」から「１」に更新する。
【００６０】
ステップＳ４０１ｋの処理を終えると、ノイズ除去部２２３は、グループ化処理を終了する。すなわち、ステップＳ４０１ｋの処理を終えると、ノイズ除去部２２３は、図５のグループ化処理（ステップＳ４０１）を終了し、次に、第１のループ処理（ステップＳ４０２〜Ｓ４０５）を行う。第１のループ処理は、グループ化処理により決定したグループ毎に行われる。
【００６１】
第１のループ処理の開始端（ステップＳ４０２）では、ノイズ除去部２２３は、グループ化処理により決定したグループのなかから処理の対象とするグループを選択する。例えば、図６のグループ化処理のようにグループ番号が１以上の整数となる場合、ノイズ除去部２２３は、グループ番号が小さいグループから順に選択する。一方、第１のループ処理の終了端（ステップＳ４０５）では、ノイズ除去部２２３は、全てのグループで処理を行ったか否かを判定する。処理を行っていないグループがある場合、ノイズ除去部２２３は、第１のループ処理（ステップＳ４０２〜Ｓ４０５）を継続する。全てのグループで処理を行った場合、ノイズ除去部２２３は、第１のループ処理（ステップＳ４０２〜Ｓ４０５）を終了し、第２のループ処理（ステップＳ４０６〜Ｓ４０９）を行う。
【００６２】
ステップＳ４０２で処理の対象とするグループを選択した後、ノイズ除去部２２３は、該当グループの縦横の長さが閾値ＴＨ３以上であるか否かを判定する（ステップＳ４０３）。閾値ＴＨ３は、帳票の画像における各種日付印の輪郭部分を示す画素のうちの、グループ化処理（ステップＳ４０１）において１つのグループにグループ化される複数の画素の分布に基づいて、該当グループの縦横の長さよりも小さい値に設定される。また、閾値ＴＨ３は、上述した帳票の枠線における円弧状の角部や、文字における斜め方向に延伸する部分の縦横の長さとして考えられる値よりも大きい値に設定する。すなわち、縦横の長さが閾値ＴＨ３よりも短いグループに含まれる画素は、日付印の要素（輪郭や日付の上下に位置する直線部分）を示す画素ではない可能性が非常に高い。このため、該当グループの縦横の長さが閾値ＴＨ３よりも短い場合（ステップＳ４０３；ＮＯ）、ノイズ除去部２２３は、該当グループを無効なグループとして日付印の要素を示すグループの候補から除外する（ステップＳ４０４）。すなわち、ステップＳ４０４において、ノイズ除去部２２３は、斜め方向に延伸する部分の縦横の長さが閾値ＴＨ３よりも短いグループに含まれる画素を、ノイズとして、日付印の要素を示す画素の候補から除去する。ステップＳ４０４の処理を終えると、ノイズ除去部２２３は、第１のループ処理の終了端（ステップＳ４０５）において第１のループ処理を継続するか否かを判定する。
【００６３】
一方、該当グループの縦横の長さが閾値ＴＨ３以上である場合（ステップＳ４０３；ＹＥＳ）、ノイズ除去部２２３は、ステップＳ４０４の処理を省略し、第１のループ処理の終了端（ステップＳ４０５）において第１のループ処理を継続するか否かを判定する。
【００６４】
第１のループ処理を行っていないグループがある場合、ノイズ除去部２２３は、第１のループ処理（ステップＳ４０２〜Ｓ４０５）を継続する。全てのグループで処理を行った場合、ノイズ除去部２２３は、第１のループ処理（ステップＳ４０２〜Ｓ４０５）を終了し、第２のループ処理（ステップＳ４０６〜Ｓ４０９）を行う。第２のループ処理は、グループ化処理により決定され、かつ第１のループ処理において除外（除去）されなかったグループ毎に行われる。
【００６５】
第２のループ処理の開始端（ステップＳ４０６）では、ノイズ除去部２２３は、第１のループ処理において除外されなかったグループ（有効なグループ）のなかから処理の対象とするグループを選択する。例えば、図６のグループ化処理のようにグループ番号が１以上の整数となる場合、ノイズ除去部２２３は、グループ番号が小さいグループから順に選択する。一方、第２のループ処理の終了端（ステップＳ４０９）では、ノイズ除去部２２３は、処理の対象となる全てのグループで処理を行ったか否かを判定する。処理を行っていないグループがある場合、ノイズ除去部２２３は、第２のループ処理（ステップＳ４０６〜Ｓ４０９）を継続する。全てのグループで処理を行った場合、ノイズ除去部２２３は、第２のループ処理（ステップＳ４０６〜Ｓ４０９）を終了し、ノイズ除去処理を終了する。
【００６６】
ステップＳ４０６で処理の対象とするグループを選択した後、ノイズ除去部２２３は、該当グループの周囲に有効なグループが２組以上存在するか否かを判定する（ステップＳ４０７）。有効なグループは、グループ化処理により決定したグループのうちの、第１のループ処理において除外されなかったグループである。ステップＳ４０７の処理では、ノイズ除去部２２３は、例えば、現在処理の対象に選択されているグループにおける所定の位置を中心とする所定の範囲内（領域内）で有効なグループに含まれる画素の有無を探索し、一部又は全部が含まれる他の有効なグループが２組以上存在するか否かを判定する。このとき、有効なグループに含まれる画素の探索範囲は、例えば、帳票の画像における日付印の外形寸法の最大値よりもわずかに大きい範囲とする。
【００６７】
日付印の外形形状は円形や多角形であるものが多く、これらの日付印の輪郭は、上下対称、及び左右対称であり対称性が高い。このため、グループ化処理（ステップＳ４０１）では、日付印の輪郭を示す画素のグループが２組以上抽出され、日付印の輪郭を示す複数のグループ同士の距離は、日付印の外形寸法に応じた距離となる。従って、現在処理の対象として選択されているグループを中心とする所定の範囲内に他の有効なグループが１組しか存在しない、又は１組も存在しない場合、選択されているグループに含まれる画素は、日付印の要素以外の要素を示す画素である可能性が非常に高い。このため、現在処理の対象として選択されているグループの周囲に存在する有効なグループが１組であるか又は有効なグループが存在しない場合（ステップＳ４０７；ＮＯ）、ノイズ除去部２２３は、選択されているグループを無効なグループとして日付印の要素を示すグループの候補から除外する（ステップＳ４０８）。すなわち、ステップＳ４０８において、ノイズ除去部２２３は、周囲に他の有効なグループが２組以上存在していないグループに含まれる画素を、ノイズとして、日付印の要素を示す画素の候補から除去する。ステップＳ４０８の処理を終えると、ノイズ除去部２２３は、第２のループ処理の終了端（ステップＳ４０９）において第２のループ処理を継続するか否かを判定する。
【００６８】
一方、周囲に他の有効なグループが２組以上存在している場合（ステップＳ４０７；ＹＥＳ）、ノイズ除去部２２３は、ステップＳ４０８の処理を省略し、第２のループ処理の終了端（ステップＳ４０９）において第２のループ処理を継続するか否かを判定する。
【００６９】
第２のループ処理を行っていないグループがある場合、ノイズ除去部２２３は、第２のループ処理（ステップＳ４０６〜Ｓ４０９）を継続する。全てのグループで処理を行った場合、ノイズ除去部２２３は、第２のループ処理（ステップＳ４０６〜Ｓ４０９）を終了し、ノイズ除去処理を終了する。
【００７０】
このように、本実施形態の画像処理装置２では、帳票の画像内における日付印の大部分は、輪郭部に画像水平方向及び画像垂直方向のそれぞれに対し斜め方向に延伸する部分が複数存在することを利用して、帳票の画像内における日付印の輪郭を示す画素を抽出する。また、本実施形態の画像処理装置２では、グレースケール画像における画素の濃度に基づいて算出した斜度を利用して、日付印の輪郭を示す画素を特定する。すなわち、本実施形態の画像処理装置２では、日付印の外形形状や色に基づくパターンマッチングとは異なる方法により、帳票の画像内における日付印の位置を特定する。このため、本実施形態の画像処理装置２では、輪郭が多角形（例えば、八角形）である日付印が押印された帳票の画像からも日付印の位置を容易に特定することが可能となる。また、本実施形態の画像処理装置２では、日付印の色によらず、日付印の位置を特定することが可能となる。更に、本実施形態の画像処理装置２では、日付印の位置が帳票上で指定されている領域からはみ出している場合のように日付印が押印された領域内に帳票の他の要素が存在する場合にも、日付印の位置を特定することが可能となる。よって、本実施形態の画像処理装置２では、オペレータによる操作を介さずに、自動的に帳票の画像から日付印の位置を特定することが可能となる。
【００７１】
しかも、本実施形態の画像処理装置２が行う画像処理は、図３のフローチャートに示したように、帳票の画像における日付印の向きが正立となるよう補正する正立補正処理（ステップＳ６）を含む。
【００７２】
図７は、正立補正処理の内容を説明するフローチャートである。
上記のように、正立補正処理（ステップＳ６）は、画像処理装置２の解析部２２０における補正部２２５が行う。補正部２２５は、正立補正処理として、図７のフローチャートに沿った処理を行う。
【００７３】
補正部２２５は、まず、帳票の画像から切り出した日付押印領域を二値化する（ステップＳ６０１）。日付押印領域は、図３のフローチャートにおけるステップＳ５の処理において、帳票の画像から切り出した日付印が押印された領域（部分画像）である。なお、日付押印領域を切り出す帳票の画像は、ステップＳ１で取得したカラー画像に限らず、ステップＳ２の変換処理により得たグレースケール画像であってもよい。ステップＳ６０１の処理では、補正部２２５は、日付押印領域内の画素のうちの下地（紙の色）を示す画素を「０」とし、帳票の要素（日付印、線、文字等）を示す画素を「１」とする。
【００７４】
次に、補正部２２５は、第１のループ処理（ステップＳ６０２〜Ｓ６０８）を行う。第１のループ処理は、日付押印領域内の画素毎に行われる。
【００７５】
第１のループ処理の開始端（ステップＳ６０２）では、補正部２２５は、日付押印領域内の画素のなかから処理の対象とする画素を選択する。例えば、補正部２２５は、ラスタスキャンにより処理の対象とする画素を選択する。一方、第１のループ処理の終了端（ステップＳ６０８）では、補正部２２５は、日付押印領域内の全ての画素で処理を行ったか否かを判定する。処理を行っていない画素がある場合、補正部２２５は、第１のループ処理（ステップＳ６０２〜Ｓ６０８）を継続する。全ての画素で処理を行った場合、補正部２２５は、第１のループ処理（ステップＳ６０２〜Ｓ６０８）を終了し、日付印の傾き角を算出して日付押印領域を回転させる処理（ステップＳ６０９〜Ｓ６１１）を行う。
【００７６】
ステップＳ６０２で処理の対象とする画素を選択した後、補正部２２５は、二値化する処理において該当画素に割り当てられた値が「０」であるか否かを判定する（ステップＳ６０３）。値が「０」である画素は、帳票の下地（紙の色）を示す画素である。このため、画素の値が「０」である場合（ステップＳ６０３；ＹＥＳ）、補正部２２５は、第２のループ処理（ステップＳ６０４〜Ｓ６０７）を省略し、第１のループ処理の終了端（ステップＳ６０８）において第１のループ処理を継続するか否かを判定する。
【００７７】
一方、画素の値が「０」以外である場合（ステップＳ６０３；ＮＯ）、補正部２２５は、次に、第２のループ処理（ステップＳ６０４〜Ｓ６０７）を行う。第２のループ処理は、０≦θ＜２πの範囲内で選択された複数の角度θの組に含まれる角度θ毎に行われる。例えば、複数の角度θの組は、Ｎ通りの角度θｎ＝（２π／１００）・ｎ｛ｎ＝０，１，２，・・・，Ｎ−１｝を含む。Ｎは任意の整数であり、例えば、Ｎ＝１００とする。
【００７８】
第２のループ処理の開始端（ステップＳ６０４）では、補正部２２５は、上記の複数の角度θの組のなかから処理の対象とする角度θを選択する。例えば、補正部２２５は、値が小さい角度θから順に選択する。一方、第２のループ処理の終了端（ステップＳ６０７）では、補正部２２５は、全ての角度θで処理を行ったか否かを判定する。処理を行っていない角度θがある場合、補正部２２５は、第２のループ処理（ステップＳ６０４〜Ｓ６０７）を継続する。全ての角度θで処理を行った場合、補正部２２５は、第２のループ処理（ステップＳ６０４〜Ｓ６０７）を終了し、第１のループ処理の終了端（ステップＳ６０８）において第１のループ処理を継続するか否かを判定する。
【００７９】
ステップＳ６０４で処理の対象とする角度θを選択した後、補正部２２５は、現在処理の対象になっている画素の座標（ｘ，ｙ）に対するρ＝ｘ・cosθ＋ｙ・sinθを算出し（ステップＳ６０５）、θ-ρ座標系に（θ，ρ）をプロットする（ステップＳ６０６）。ステップＳ６０５及びＳ６０６の処理を終えると、補正部２２５は、第２のループ処理の終了端（ステップＳ６０７）において第２のループ処理を継続するか否かを判定する。ステップＳ６０５及びＳ６０６の処理を行っていない角度θがある場合、補正部２２５は、第２のループ処理を継続する。そして、全ての角度θでステップＳ６０５及びＳ６０６の処理を行うと、補正部２２５は、第２のループ処理を終了し、第１のループ処理の終了端（ステップＳ６０８）において第１のループ処理を継続するか否かを判定する。処理を行っていない画素がある場合、補正部２２５は、第１のループ処理（ステップＳ６０２〜Ｓ６０８）を継続する。全ての画素で処理を行った場合、補正部２２５は、第１のループ処理（ステップＳ６０２〜Ｓ６０８）を終了し、日付印の傾き角を算出して日付押印領域を回転させる処理（ステップＳ６０９〜Ｓ６１１）を行う。
【００８０】
第１のループ処理を終了すると、補正部２２５は、次に、第１のループ処理の結果に基づいて、θ-ρ座標系にプロットされた点（θ，ρ）のなかから、プロットされた頻度が高い順に点（θ１，ρ１）及び点（θ２，ρ２）を抽出する（ステップＳ６０９）。
【００８１】
次に、補正部２２５は、日付押印領域（部分画像）のｘ-ｙ座標系においてρ１＝ｘ・cosθ１＋ｙ・sinθ１を満たす第１の直線上、及びρ２＝ｘ・cosθ２＋ｙ・sinθ２を満たす第２の直線上に、それぞれ、日付印における日付の上側に位置する第１の直線部、及び日付の下側に位置する第２の直線部があると認識する（ステップＳ６１０）。ステップＳ６１０において、補正部２２５は、例えば、第１の直線上に日付の上側に位置する第１の直線部があり、第２の直線上に日付の下側に位置する第２の直線部があると認識する。
【００８２】
次に、補正部２２５は、第１の直線部及び第２の直線部が画像内で水平となるよう、帳票の画像から切り出した日付押印領域全体を回転させる（ステップＳ６１１）。ステップＳ６１１の処理では、補正部２２５は、例えば、上記の角度θ１及びθ２の平均値θ＝（θ１＋θ２）／２を算出し、日付押印領域全体を角度−θだけ回転させる。ステップＳ６１１の処理を終えると、補正部２２５は、正立補正処理を終了する。
【００８３】
このように、本実施形態の画像処理装置２では、帳票の画像における日付印の位置を特定した後、画像内水平方向に対する日付印における直線部の傾きを算出し、当該傾きに基づいて画像内の日付印が押印された領域を回転させる。このため、本実施形態の画像処理装置２では、帳票に押印された日付印の向きが正立となっていない場合にも、オペレータの操作を介することなく、自動的に、日付印の向きを正立となる向きに補正して日付を認識する処理を行うことが可能となる。
【００８４】
図８は、帳票の例を示す図である。
図８には、帳票８の一例である電気料金振込通知票を示している。帳票８の上辺部には、帳票の種別を示す「電気料金振込通知票」等の文字列８０１が印刷されている。文字列８０１の下方には、お客様番号、適用期間、氏名等の顧客情報８０２が印刷されている。顧客情報８０２の下方には、お客様番号や振込金額等の情報を含む振込情報８０３が印刷されている。振込情報８０３の下方左側には、帳票８を発行した電力会社の情報８０４や、顧客に対するメッセージ８０５が印刷されている。また、振り込み情報８０３の下方右側には、振込手続を受け付けた日付を示す日付印を押印する領域を示す枠線８０６が印刷されている。
【００８５】
図８の帳票８を利用して電気料金の振込手続を行った場合、振込を受け付けた係員は、振込を受け付けた日付を示す日付印を帳票の枠線８０６で囲まれた領域内に押印する。本実施形態の画像処理装置２は、枠線８０６で囲まれた領域内に日付印が押印された帳票８の画像を取得し、日付印に含まれる日付を認識する。しかしながら、帳票８に日付印を押印する作業は係員が手作業で行っており、しかも、係員は印面が見えない状態で日付印を押印する。このため、帳票８に押印された日付印の向きや位置は、帳票毎に異なることが多い。
【００８６】
図９は、帳票に押印された日付印の例を示す図である。図１０は、帳票に押印された日付印の別の例を示す図である。
【００８７】
図９の（ａ）には、帳票８の枠線８０６で囲まれた領域内の適切な位置に適切な向きで押印された日付印９の例を示している。日付印９は、一般に、輪郭部９０１で囲まれた領域が上下方向に並ぶ２本の直線部９０２，９０３により３つの領域に分割されており、該３つの領域のうちの上下方向中央の領域に日付９０４が表示される。また、日付９０４の上側に位置する領域には項目名９０５が表示され、日付９０４の下側に位置する領域には振込を受け付けた金融機関名９０６が表示される。
【００８８】
帳票８は、図８に示した向きが正立である。このため、帳票８に押印された日付印９は、図９の（ａ）に示したように、日付の上側に位置する第１の直線部９０２及び下側に位置する第２の直線部９０３の延伸方向が帳票８の上辺（及び下辺）と平行になる向きが正立となる。このように、帳票８に押印された日付印９の向きが正立となっていれば、帳票８の画像から日付印９の日付９０４を文字認識する際に、正しく認識することが可能である。
【００８９】
図９の（ｂ）には、押印した位置は適切だが向きが正立ではない日付印９の例を示している。係員が手作業で日付印９を押印する場合、押印する位置は目視により調整可能であるが、印面の傾きを目視により調整することは困難である。このため、係員が手作業で日付印９を押印した場合、図９の（ｂ）に示すように、日付の上側及び下側に位置する直線部９０２，９０３の延伸方向が、帳票８の上辺（及び下辺）に対して斜めになる場合がある。このように日付印の向きが斜めになっても、帳票８の上辺（及び下辺）と、日付の上側及び下側に位置する直線部９０２，９０３の延伸方向とのなす角が小さい場合には、文字認識により日付９０４を正しく認識することが可能である。しかしながら、図９の（ｂ）に示したように、帳票８の上辺（及び下辺）と、日付の上側及び下側に位置する直線部９０２，９０３の延伸方向とのなす角が大きくなると、文字認識により日付９０４を正しく認識することは困難となる。
【００９０】
図９の（ｃ）には、向きは正立だが押印する領域からはみ出している日付印９の例を示している。係員が手作業で日付印９を押印する場合、日付印９を押印する係員の癖や押印する際の状況（緊急性の有無等）等に応じて、押印する位置にずれ（ばらつき）が生じる。このため、例えば、図９の（ｃ）に示すように、日付印９の一部分が枠線８０６で囲まれた領域外にはみ出してしまい、日付印９の輪郭部９０１で囲まれた領域内に、帳票８に印刷された枠線８０６の一部が含まれることがある。このような場合、例えば、帳票８の見出しや定義型に基づいて日付印９の位置を特定しようとすると、枠線８０６と日付印９の直線部９０２等が近接する或いは重なるため、位置の特定に失敗する。
【００９１】
また、図１０には、日付印９の別の例として、輪郭部９１１で囲まれた領域が八角形となる日付印９を示している。日付印９における輪郭部９０１，９１１で囲まれた領域は、上下方向の中央部に日付９０４が表示されており、日付の上側又は下側に押印した係員（金融機関）を識別可能な情報が表示されていればよい。このため、日付印９における輪郭部で囲まれた領域の形状や外形形状等には自由度がある。すなわち、日付印９の外形形状に多様性があるため、パターンマッチングにより帳票８の画像から日付印９の位置を特定する場合、多数のパターン（定義）を用意する必要がある。
【００９２】
このような実状を鑑み、本実施形態の画像処理装置２では、外形形状や色が異なる多種の日付印に共通する特徴、すなわち日付印９の輪郭部９０１，９１１には画像水平方向及び画像垂直方向に対して斜め方向に延伸する部分が複数存在することを利用して、帳票８の画像内の日付印９の位置を特定する。このため、本実施形態の画像処理装置２は、図３のフローチャートに示した斜度抽出処理（ステップＳ３）及びノイズ除去処理（ステップＳ４）を行う。
【００９３】
図１１は、斜度の算出方法を説明する図である。図１２は、斜度の算出結果を示す図である。
【００９４】
図１１には、日付印９が押印された帳票の画像１０と、該帳票の画像１０における２つの部分領域Ｑ１，Ｑ２を拡大した図と、フィルタ１１とを示している。帳票の画像１０における部分領域Ｑ１は、帳票における画面垂直方向に延伸する直線（線分）１００１と下地とを含む４画素×５画素の領域である。また、帳票の画像１０における部分領域Ｑ２は、日付印９の輪郭部９０１のうちの、右肩上がりの部分であって画面水平方向及び画面垂直方向のそれぞれに対して斜め方向に延伸している部分と、下地とを含む４画素×５画素の領域である。
【００９５】
拡大した部分領域Ｑ１及びＱ２のそれぞれにおける各マスに記載した数値は、それぞれ、グレースケール化した帳票の画像１０における該当画素の濃度を示している。例えば、２５６階調のグレースケールに変換した帳票の画像１０では、下地を示す画素の濃度は２５６に近い大きな値となり、帳票の要素（線、文字、日付印等）を示す画素の濃度は０に近い小さな値となる。
【００９６】
帳票の画像１０に対し斜度抽出処理（ステップＳ３）を行う場合、画像処理装置２では、上記のように、画像１０内の画素のうちの濃度が閾値ＴＨ１以上である画素は、斜度の算出を省略する（ステップＳ３０２；ＮＯ）。すなわち、部分領域Ｑ１における左端の５個の画素及び右端の５個の画素、部分領域Ｑ２における左上側の白い下地の画素及び右下側の白い下地の画素のそれぞれが処理の対象として選択されている場合、画像処理装置２は、斜度の算出を省略する。
【００９７】
また、黒い下地の画素のそれぞれが処理の対象として選択されている場合、画像処理装置２は、該当画素の周囲の隣接する８画素の濃度とフィルタ１１とに基づいて、該当画素の斜度を算出する（ステップＳ３０３）。このとき、画像処理装置２は、上記のように、数式（１）により該当画素の斜度を算出する。例えば、図１１の部分領域Ｑ１における画素Ｐu1,v1（濃度１０）の斜度Ｓu1,v1は、下記数式（２）により算出する。
【００９８】
Ｓu1,v1＝ａ1・Ｄu1-1,v1-1＋ａ2・Ｄu1,v1-1＋ａ3・Ｄu1+1,v1-1
＋ａ4・Ｄu1-1,v1＋ａ5・Ｄu1+1,v1
＋ａ6・Ｄu1-1,v1+1＋ａ7・Ｄu1,v1+1＋ａ8・Ｄu1+1,v1+1
＝ａ1・２４０＋ａ2・１６＋ａ3・２８
＋ａ4・２５０＋ａ5・１５
＋ａ6・２４０＋ａ7・１７＋ａ8・２０      ・・・（２）
【００９９】
数式（２）における係数ａ1〜ａ8は、それぞれ、フィルタ１１により与えられる。図１１のフィルタ１１は、３×３の９マスのうちの中央のマスが現在処理対象となっている画素と対応している。すなわち、図１１のフィルタ１１は、画素Ｐu1,v1の左上の画素Ｐu1-1,v1-1に対する係数ａ1、及び画素Ｐu1,v1の右下の画素Ｐu1+1,v1+1に対する係数ａ8を「１」とすることを示している。同様に、図１１のフィルタ１１は、画素Ｐu1,v1の右上の画素Ｐu1-1,v1+1に対する係数ａ3、及び画素Ｐu1,v1の左下の画素Ｐu1-1,v1+1に対する係数ａ6を「−１」とすることを示している。更に、図１１のフィルタ１１は、画素Ｐu1,v1の上下左右の各画素Ｐu1,v1-1、Ｐu1,v+1、Ｐu-1,v1、及びＰu1,v1+1に対する係数ａ2、ａ7、ａ4、及びａ5を「０」とすることを示している。従って、数式（２）のａ1〜ａ8にフィルタ１１で指定された値を入れて計算をすると、図１１の部分領域Ｑ１における画素Ｐu1,v1（濃度１０）の斜度Ｓu1,v1は、図１２に示したように「−８」となる。
【０１００】
また、例えば、図１１の部分領域Ｑ２における画素Ｐu2,v2（濃度２０）の斜度Ｓu2,v2は、図１２に示したように「４４０」となる。
【０１０１】
更に、詳細な説明は省略するが、部分領域Ｑ１及びＱ２における他の黒い下地の画素についての斜度は、それぞれ、図１２に示したような値となる。なお、図１２の部分領域Ｑ１及びＱ２における「＊」は、具体的な数値を省略する。
【０１０２】
また、図１１及び図１２の部分領域Ｑ２は、日付印９の輪郭部９０１における右上がりの部分を示す画素を含む領域である。このため、部分領域Ｑ２内の画素に対して図１１のフィルタ１１を適用して算出される斜度は、正の値となっている。これに対し、詳細な説明は省略するが、日付印９の輪郭部９０１における右下がりの部分を示す画素に対して図１１のフィルタ１１を適用して斜度を算出した場合には、負の値となる。このため、斜度を算出する処理（ステップＳ３０３）の後に行うステップＳ３０４の判定処理では、算出した斜度の絶対値が閾値ＴＨ２以上であるか否かを判定する。
【０１０３】
このように、帳票の画像１０における帳票の要素（線、文字、日付印９等）を示す画素の斜度を算出した場合、帳票の要素のうちの延伸方向が画像１０における水平方向又は垂直方向と略平行な部分を示す画素の斜度は、帳票の要素のうちの延伸方向が水平方向及び垂直方向のそれぞれとなす角が閾値以上となる部分を示す画素の斜度との間には明確な差が生じる。このため、本実施形態の画像処理装置２が行う斜度抽出処理（ステップＳ３）では、斜度を算出した画素のうちの、斜度の値が閾値ＴＨ２以上である画素のみを抽出し、該画素の情報を保持する（ステップＳ３０５）。従って、斜度抽出処理による斜度の抽出結果は、例えば、図１３の抽出結果１３のようになる。
【０１０４】
図１３は、斜度の抽出結果を示す図である。
図１３の抽出結果１３は、帳票の画像１０における各画素のうちの斜度を保持している画素を黒色で示している。抽出結果１３における右下角部に位置する４本の円弧状の曲線１３０１，１３０２，１３０３，及び１３０４は、それぞれ、日付印９の輪郭部９０１における斜度が閾値ＴＨ２以上となる画素の分布を示している。また、抽出結果１３における右下角部に位置する２本の右上がりの直線１３０５及び１３０６は、それぞれ、日付印９の日付９０４の上側に位置する直線部９０２及び下側に位置する直線部９０３を示す画素の分布を示している（図１１を参照）。
【０１０５】
また、抽出結果１３における下辺部に位置する４本の円弧状の曲線１３０７、１３０８、１３０９、及び１３１０は、それぞれ、帳票８の下辺部に位置するメッセージ８０４（図８を参照）を囲む枠線における角部を示す画素の分布を示している。更に、抽出結果１３における他の部分に位置する４本の円弧状の曲線１３１１，１３１２，１３１３，及び１３１４、並びに他の円弧状の曲線は、それぞれ、帳票８における他の要素（枠線及び文字）のうちの、斜度が閾値ＴＨ２以上となる画素の分布を示している。すなわち、ステップＳ３の斜度抽出処理を行った場合、図１３の抽出結果１３のように、日付印９の輪郭部９０１や直線部９０２，９０３とは別の帳票の要素における、延伸方向が画像水平方向及び画像垂直方向に対して斜め方向となる部分を示す画素の斜度も抽出される。このため、本実施形態の画像処理装置２が行う画像処理では、上記のように、斜度抽出処理の後にノイズ除去処理（ステップＳ４）を行い、日付印９の要素（輪郭部９０１や直線部９０２，９０３等）以外の要素を示す画素を除外する。ノイズ除去処理では、上記のように、まず、抽出結果１３において斜度を保持している複数の画素を連続する画素毎のグループにグループ化するグループ化処理（ステップＳ４０１）を行う。ここで、グループ化処理の具体例として、図１３の抽出結果１３における領域１３２０内の画素に対するグループ化について、図１４Ａ及び図１４Ｂを参照しながら説明する。
【０１０６】
図１４Ａは、画素をグループ化する方法を説明する図（その１）である。図１４Ｂは、画素をグループ化する方法を説明する図（その２）である。
【０１０７】
画像処理装置２は、グループ化処理として、例えば、図６のフローチャートに沿った処理を行う。このとき、画像処理装置２は、帳票の画像１０における左上角部の画素から順にラスタスキャンをし、斜度を保持している画素にグループ番号を付与する。
【０１０８】
図１４Ａの（ａ）には、帳票の画像１０における図１３の領域１３２０と対応する部分領域１３２０’内の画素Ｐu1,v1を処理の対象に選択した時点での、グループ番号の付与状況を示している。なお、図１４Ａの（ａ）では、白い下地のマスが斜度を保持している画素であり、網掛けを付したマスが斜度を保持していない画素である。処理の対象となる画素をラスタスキャンにより選択する場合、画素Ｐu1,v1の左側に位置する画素及び、画素Ｐu1,v1を含む画素列よりも上側の画素列に含まれる画素は、選択済みである。従って、画素Ｐu1,v1を選択した時点では、図１４Ａの（ａ）に示すように、画素Ｐu1,v1を含む画素列よりも上側の画素列に含まれる、斜度を保持している画素にはグループ番号が割り振られている。そして、画素Ｐu1,v1にグループ番号を割り振る際には、まず、画素Ｐu1,v1の左上、上、右上、及び左のいずれかにグループ番号が割り振られた画素が隣接しているか否かを判定する（ステップＳ４０１ｄ）。図１４Ａの（ａ）に示した例では、画素Ｐu1,v1の左上の隣接する画素、及び右上の隣接する画素に、グループ番号が割り振られている。また、画素Ｐu1,v1の左上の隣接する画素のグループ番号は「１」であり、右上の隣接する画素のグループ番号は「３」である。このため、画像処理装置２は、図１４Ａの（ｂ）に示すように、画素Ｐu1,v1に対し、最小のグループ番号である「１」を割り振る（ステップＳ４０１ｅ）。
【０１０９】
画素Ｐu1,v1に対してグループ番号を割り振った後、画像処理装置２は、画素Ｐu1,v1の左上の隣接する画素のグループ番号と、及び右上の隣接する画素のグループ番号とが同一であるか否かを判定する（ステップＳ４０１ｆ）。図１４Ａの（ｂ）に示した例では、２つの画素のグループ番号が異なる。このため、画像処理装置２は、図１４Ａの（ｃ）に示すように、置換テーブル１４に、グループ番号「３」に対する置換番号として「１」を登録する（ステップＳ４０１ｇ）。
【０１１０】
その後、詳細な説明は省略するが、グループ化処理におけるループ処理（図６のステップＳ４０１ｂ〜Ｓ４０１ｊ）が終了すると、図１４Ｂの（ｄ）に示すように、斜度を保持している全ての画素に対しグループ番号が割り振られる。ループ処理（図６のステップＳ４０１ｂ〜Ｓ４０１ｊ）を終了した後、画像処理装置２は、置換テーブル１４に基づいて、画素に割り振ったグループ番号を更新する（ステップＳ４０１ｋ）。置換テーブル１４には、グループ番号「３」を「１」に置換する情報が含まれるため、画像処理装置１は、グループ番号が「３」である画素のグループ番号を「１」に更新する（図１４Ｂの（ｅ）を参照）。
【０１１１】
斜度を保持している画素をグループ化するグループ化処理（ステップＳ４０１）を終了すると、画像処理装置２は、図５のフローチャートにおける第１のループ処理及び第２のループ処理を行って、グループ化処理により得られたグループのうちの、日付印の輪郭部が持つ条件を満たしていないグループを、日付印の輪郭部を示すグループの候補から除外する。
【０１１２】
図１５は、ノイズの除去方法を説明する図である。
図１５の（ａ）には、斜度の抽出結果１３に基づいてグループ化処理を行った場合の処理結果１５を示している。処理結果１５における右下角部に位置する４本の円弧状の曲線１５０１，１５０２，１５０３，及び１５０４は、それぞれ、日付印９の輪郭部９０１における斜度が閾値ＴＨ２以上となる画素のグループを示している。また、処理結果１５における右下角部に位置する２本の右上がりの直線１５０５及び１５０６は、それぞれ、日付印９の日付９０４の上側に位置する直線部９０２及び下側に位置する直線部９０３を示す画素のグループを示している（図１１を参照）。
【０１１３】
また、処理結果１５における下辺部に位置する４本の円弧状の曲線１５０７、１５０８、１５０９、及び１５１０は、それぞれ、帳票８の下辺部に位置するメッセージ８０４（図８を参照）を囲む枠線における角部を示す画素のグループを示している。更に、処理結果１５における他の部分に位置する４本の円弧状の曲線１５１１，１５１２，１５１３，及び１５１４、並びに他の円弧状の曲線は、それぞれ、帳票８における他の要素（枠線及び文字）のうちの、斜度が閾値ＴＨ２以上となる画素のグループを示している。このような処理結果１５に対し第１のループ処理（図５のステップＳ４０２〜Ｓ４０５）を行うと、縦横の長さが閾値ＴＨ３よりも短いグループは、日付印の輪郭部を示すグループの候補から除外される。閾値ＴＨ３は、日付印の輪郭を示すグループにおける縦横の長さよりも短い値とする。このため、第１のループ処理を行うと、例えば、図１５の（ｂ）に示すように、帳票における枠線の角部を示す画素のグループ１５１１、１５１２、１５１３、及び１５１４が、日付印の輪郭を示すグループの候補から除外される。
【０１１４】
第１のループ処理が終了すると、画像処理装置２は、第２のループ処理（図５のステップＳ４０６〜Ｓ４０９）を行う。第２のループ処理では、グループ毎に、周囲に有効なグループが２組以上存在するか判定し（ステップＳ４０７）、有効なグループが１組しか存在しないグループ或いは存在しないグループを、日付印の輪郭部を示すグループの候補から除外する（ステップＳ４０８）。ステップＳ４０７の判定処理では、上記のように、日付印の輪郭部を示す複数のグループ同士の距離に基づいて設定される探索領域内に一部又は全部が含まれる他の有効なグループを探索する。従って、例えば、図１５の（ｂ）における帳票の枠線と対応するグループ１５０７の周囲に存在する他の有効なグループは、グループ１５１０の１組のみとなる。同様に、帳票の枠線と対応するグループ１５０８、１５０９、及び１５１０の周囲に存在する他の有効なグループは、それぞれ、１組となる。これに対し、日付印の輪郭部と対応するグループ１５０１，１５０２，１５０３，及び１５０４、並びに直線部と対応するグループ１５０５及び１５０６は、それぞれ、周囲に存在する他の有効なグループが２組以上となる。従って、第２のループ処理を行うことにより、帳票の枠線と対応するグループ１５０７、１５０８、１５０９、及び１５１０が、日付印の輪郭部を示すグループの候補から除外される。すなわち、ノイズ除去処理が終了すると、図１５の（ｂ）における日付印の輪郭部と対応するグループ１５０１，１５０２，１５０３，及び１５０４、並びに直線部と対応するグループ１５０５及び１５０６のみが、日付印の輪郭を示すグループの候補として残る。よって、本実施形態の画像処理装置２では、斜度抽出処理及びノイズ除去処理を行うことにより得られたグループの画像内における位置に基づいて、自動的に、帳票に押印された日付印の位置を特定することが可能となる。
【０１１５】
更に、本実施形態の画像処理装置２では、帳票の画像１０における日付印の位置を特定した後、日付印の向きが正立となるよう日付印の傾きを補正する。
【０１１６】
図１６は、日付印の傾きを算出する方法を説明する図である。
図１６の（ａ）には、帳票の画像１０から切り出した日付印９における第１の直線部９０２を示す複数の画素のうちの３つの画素ｒ１、ｒ２、及びｒ３のｘ-ｙ座標系での座標を示している。ｘ-ｙ座標系におけるｘ方向は、画像内におけるｕ方向と平行であり、かつ正の方向がｕ方向と同一である。一方、ｘ-ｙ座標系におけるｙ方向は、画像内におけるｖ方向と平行であり、かつ正の方向がｖ方向とは反対の方向である。
【０１１７】
日付印の傾きを算出する際には、上記のように、帳票の画像１０から切り出した領域（部分画像）内における日付印９の要素を示す画素に対する、ハフ変換を行う。ハフ変換では、日付印９の要素を示す画素毎に、０≦θ＜２πの範囲内において下記数式（３）を満たすρの分布を算出する。
【０１１８】
ρ＝ｘ・cosθ＋ｙ・sinθ      （３）
【０１１９】
数式（３）におけるｘ及びｙは、それぞれ、処理の対象に選択された画素のｘ-ｙ座標系におけるｘ座標及びｙ座標である。例えば、図１６の（ａ）における座標（ｘ１，ｙ１）の画素ｒ１を処理の対象に選択した場合、画像処理装置２は、０≦θ＜２πの範囲内において下記数式（４）を満たすρの分布を算出する。
【０１２０】
ρ＝ｘ１・cosθ＋ｙ１・sinθ      （４）
【０１２１】
数式（４）により算出される画素ｒ１の座標（ｘ１，ｙ１）についてのθとρとの関係をθ-ρ座標系にプロットすると、例えば、図１６の（ｂ）に示したような曲線となる。また、詳細な説明は省略するが、画素ｒ２の座標（ｘ２，ｙ２）についてのθとρとの関係、及び画素ｒ３の座標（ｘ３，ｙ３）についてのθとρとの関係を、θ-ρ座標系にプロットすると、それぞれ、例えば、図１６の（ｂ）に示したような曲線となる。ここで、θ-ρ座標系における３本の曲線の交点となる点（θ１，ρ１）を抽出し、下記数式（５）を生成すると、ｘ-ｙ座標系において数式（５）を満たす直線は、３つの画素ｒ１、ｒ２、及びｒ３を通る直線となる。
【０１２２】
ρ１＝ｘ・cosθ１＋ｙ・sinθ１      （５）
【０１２３】
また、数式（５）は、数式（６）のように書き換えられる。
【０１２４】
ｙ＝（−cosθ１／sinθ１）・ｘ＋（ρ１／sinθ１）
【０１２５】
すなわち、ハフ変換により数式（５）を導出することにより、図１６の（ｂ）に示したように、日付印９における日付９０４の上側に位置する第１の直線部９０２の、ｘ方向に対する傾き角を算出することが可能となる。
【０１２６】
また、同様の手順により、日付印９における日付９０４の下側に位置する第２の直線部９０３上の各点を含む直線を示す式ρ２＝ｘ・cosθ２＋ｙ・sinθ２を導出することにより、第２の直線部の、ｘ方向に対する傾き角を算出することが可能となる。なお、日付印９における第１の直線部９０２と第２の直線部９０３とは略平行であるため、ハフ変換を利用した算出した２つの数式における傾きを示す値は、略同一となる。
【０１２７】
このように、ハフ変換に基づいて、日付印９の向きが正立である場合に水平方向に延伸する第１の直線部９０２及び第２の直線部９０３の傾き角を算出することにより、日付印９の傾き角θがわかる。よって、帳票の画像１０から切り出した日付印を−θだけ回転させることにより、第１の直線部９０２及び第２の直線部９０３の傾き角が０度となり、日付印の向きが正立となる。
【０１２８】
図１７は、日付印が正立補正される様子を説明する図である。
図１７の（ａ）には、帳票の画像１０から日付印９が押印された領域を切り出す際の領域Ｑ３の例を示している。領域Ｑ３は、例えば、斜度抽出処理及びノイズ除去処理により得られた、日付印の輪郭部を示す画素を含むグループの全てを内包する寸法の矩形領域とする。
【０１２９】
帳票の画像１０から領域Ｑ３を切り出した後、画像処理装置２は、ハフ変換を利用し、日付印９における第１の直線部９０２を含む直線を示す数式ρ１＝ｘ・cosθ１＋ｙ・sinθ１、及び第２の直線部９０３を含む直線を示す数式ρ２＝ｘ・cosθ２＋ｙ・sinθ２を導出する。その後、画像処理装置２は、図１７の（ｂ）に示すように、導出した２つの数式に基づいて、切り出した領域Ｑ３における日付印の傾き角θを算出する。
【０１３０】
傾き角θを算出した後、画像処理装置２は、図１７の（ｃ）に示すように、切り出した領域Ｑ３を角度−θだけ回転させる変換処理を行う。これにより、日付印９の向きが正立となる。従って、日付印９における第１の直線部９０２、第２の直線部９０３、及び輪郭部９０１により囲まれた領域に対する文字認識を行うことにより、日付印９の日付９０４を正しく認識することが可能となる。
【０１３１】
以上説明したように、本実施形態に係る画像処理装置２は、帳票の画像１０における日付印９には画像水平方向及び画像垂直方向のそれぞれとなす角が閾値以上となる部分が複数存在することを利用して、画像１０における日付印９の位置を特定する。このため、本実施形態の画像処理装置２では、帳票の画像１０における日付印９の輪郭（外形形状）、寸法、及び色等の組み合わせによらず、自動的に日付印９の位置を特定することが可能となる。すなわち、本実施形態の画像処理装置２によれば、日付印の多様化に迅速かつ柔軟に対応することが可能となる。従って、例えば、画像処理装置２（画像処理システム１）のオペレータは、多様化する日付印のパターンを定義する作業や、帳票の画像１０における日付印が押印された領域を選択する作業から解放される。
【０１３２】
更に、本実施形態に係る画像処理装置２は、帳票の画像１０における日付印の傾き角θを算出し、該傾き角θに基づいて日付印の向きが正立となるよう日付印の向きを補正する。このため、画像処理装置２では、文字認識により日付印に含まれる日付を認識する際の、日付印の傾きによる誤認識を低減することが可能となる。従って、例えば、画像処理装置２（画像処理システム１）のオペレータは、日付印の向きを補正する作業や誤認識された日付を修正する作業から解放される。
【０１３３】
なお、図３のフローチャートは、本実施形態に係る画像処理装置２が行う画像処理の一例に過ぎない。本実施形態の画像処理装置２が行う画像処理は、本実施形態で説明した要旨を逸脱しない範囲において、適宜変更可能である。例えば、本実施形態の画像処理装置２が行う画像処理は、日付印の日付を文字認識するだけでなく、帳票８における文字列の一部又は全部を文字認識する処理を含むものであってもよい。また、本実施形態の画像処理装置２が行う画像処理は、例えば、日付印の傾きを補正した場合には補正後の日付印を帳票の画像１０に合成した画像を生成して保持する処理を含むものであってもよい。
【０１３４】
また、図４のフローチャートは、斜度抽出処理の一例に過ぎない。斜度抽出処理は、図４のフローチャートに沿った処理に限らず、本実施形態で説明した要旨を逸脱しない範囲において、適宜変更可能である。例えば、斜度抽出処理は、帳票における直線のうち水平方向及び垂直方向のそれぞれとのなす角が所定の角度以上（例えば１５度以上）となる部分と、帳票における曲線のうち接線の方向と水平方向及び垂直方向のそれぞれとのなす角が所定の角度以上となる部分とを抽出する処理であってもよい。
【０１３５】
また、図５及び図６のフローチャートは、ノイズ除去処理の一例に過ぎない。ノイズ除去処理は、図５及び図６のフローチャートに沿った処理に限らず、本実施形態で説明した要旨を逸脱しない範囲において、適宜変更可能である。更に、図７のフローチャートは、正立補正処理の一例に過ぎない。正立補正処理は、図７のフローチャートに沿った処理に限らず、本実施形態で説明した要旨を逸脱しない範囲において、適宜変更可能である。
【０１３６】
また、本実施形態に係る画像処理装置２の機能構成は、図２に示した構成に限らず、適宜変更可能である。例えば、認識処理部２３０が参照する文字認識辞書６０１は、画像処理装置２が備える記憶部（図示せず）に記憶させておいてもよい。また、例えば、スキャナ装置３が出力する帳票の画像１０がグレースケールの画像或いは二値画像である場合には、解析部２２０における変換部２２１を省略することが可能である。また、例えば、解析部２２０における斜度抽出部２２２及びノイズ除去部２２３は、斜度抽出処理（ステップＳ３）及びノイズ除去処理（ステップＳ４）を一連の１つの処理として行う１つの処理部であってもよい。更に、本実施形態に係る画像処理装置２は、例えば、メモリカードや光ディスク等の可搬型記録媒体、或いはネットワークを介して提供される帳票の画像１０を取得して上記の画像処理を行えるようにしてもよい。
【０１３７】
加えて、本実施形態に係る画像処理装置２は、コンピュータと、該コンピュータに実行させるプログラムとにより実現可能である。以下、コンピュータとプログラムとにより実現される画像処理装置２について、図１８を参照して説明する。
【０１３８】
図１８は、コンピュータのハードウェア構成を示す図である。
図１８に示すように、コンピュータ２０は、ＣＰＵ（Central Processing Unit）２００１と、メモリ２００２と、補助記憶装置２００３と、入力装置２００４と、表示装置２００５とを備える。また、コンピュータ２０は、入出力インタフェース２００６と、通信制御装置２００７と、媒体駆動装置２００８とを備える。コンピュータ２０におけるこれらの要素２００１〜２００８は、バス２０１０により相互に接続されており、要素間でのデータの受け渡しが可能になっている。
【０１３９】
ＣＰＵ ２００１は、オペレーティングシステムを含む各種のプログラムを実行することによりコンピュータ２０の全体の動作を制御する。例えば、ＣＰＵ ２００１は、図３に示したステップＳ１〜Ｓ８の各ステップの処理を含む画像処理プログラムを実行する。ＣＰＵ ２００１が実行する画像処理プログラムにおける斜度抽出処理は、例えば、図４のフローチャートに示した各ステップの処理を含む処理としてサブルーチン化されている。また、ＣＰＵ ２００１が実行する画像処理プログラムにおけるノイズ抽出処理は、例えば、図５及び図６のフローチャートに示した各ステップの処理を含む処理としてサブルーチン化されている。更に、ＣＰＵ ２００１が実行する画像処理プログラムにおける正立補正処理は、例えば、図７のフローチャートに示した各ステップの処理を含む処理としてサブルーチン化されている。
【０１４０】
メモリ２００２は、図示しないＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）を含む。メモリ２００２のＲＯＭには、例えば、コンピュータ２０の起動時にＣＰＵ ２００１が読み出す所定の基本制御プログラム等が予め記録されている。また、メモリ２００２のＲＡＭは、ＣＰＵ ２００１が、各種のプログラムを実行する際に必要に応じて作業用記憶領域として使用する。メモリ２００２のＲＡＭは、例えば、帳票の画像、斜度、グループ番号、正立補正処理で算出する（θ，ρ）等の一時的な記憶に利用可能である。
【０１４１】
補助記憶装置２００３は、例えば、ＨＤＤ（Hard Disk Drive）等の磁気ディスク、及びフラッシュメモリ等の不揮発性メモリである。補助記憶装置２００３には、ＣＰＵ ２００１によって実行される各種のプログラムや各種のデータ等を記憶させることができる。補助記憶装置２００３は、例えば、図３に示したステップＳ１〜Ｓ８の各ステップの処理を含む画像処理プログラム等の記憶に利用可能である。また、補助記憶装置２００３は、例えば、帳票の画像１０、日付印の日付の認識結果等の記憶に利用可能である。
【０１４２】
入力装置２００４は、例えば、キーボード装置、マウス装置、及びタッチパネル装置等である。コンピュータ２０のオペレータが入力装置２００４に対し所定の操作を行うと、入力装置２００４は、その操作内容に対応付けられている入力情報をＣＰＵ ２００１に送信する。入力装置２００４には、図１の画像処理システム１における入力装置４に相当する。
【０１４３】
表示装置２００５は、例えば、液晶表示装置である。表示装置２００５は、例えば、コンピュータ２０の動作状態や、帳票の画像１０、日付印の日付の認識結果等の表示に利用可能である。表示装置２００５は、図１の画像処理システム１における表示装置５に相当する。
【０１４４】
入出力インタフェース２００６は、コンピュータ２０と、電子部品や他の電子装置（例えばスキャナ装置３）等とを接続する。入出力インタフェース２００６は、例えば、ＵＳＢ（Universal Serial Bus）規格のコネクタを備えたフラッシュメモリの接続にも利用可能である。
【０１４５】
通信制御装置２００７は、コンピュータ２０をネットワークに接続し、ネットワークを介したコンピュータ２０と他の電子機器との各種通信を制御する装置である。通信制御装置２００８は、例えば、図１の画像処理システム１におけるサーバ装置６が保持している文字認識辞書を参照することに利用可能である。
【０１４６】
媒体駆動装置２００８は、可搬型記憶媒体２１に記録されているプログラムやデータの読み出し、補助記憶装置２００３に記憶されたデータ等の可搬型記憶媒体２１への書き込みを行う。可搬型記憶媒体２１としては、例えば、Secure  Digital（ＳＤ）規格のメモリカード（フラッシュメモリ）がある。可搬型記録媒体２１は、上記の画像処理プログラム、帳票の画像１０、日付の認識結果等の記憶に利用可能である。また、コンピュータ２０が媒体駆動装置２００８として利用可能な光ディスクドライブを搭載している場合、当該光ディスクドライブで認識可能な各種の光ディスクを可搬型記録媒体２１として利用可能である。可搬型記録媒体２１として利用可能な光ディスクには、例えば、Compact Disc（ＣＤ）、Digital Versatile Disc（ＤＶＤ）、Blu-ray Disc（Blu-rayは登録商標）等がある。
【０１４７】
コンピュータ２０は、オペレータが入力装置２００４を操作して画像処理プログラムの開始命令を入力すると、ＣＰＵ ２００１が補助記憶装置２００３等から図３のステップＳ１〜Ｓ８の各ステップの処理を含む画像処理プログラムを読み出して実行する。画像処理プログラムを実行している間、ＣＰＵ ２００１は、図２に示した画像処理装置２における解析部２２０、認識処理部２３０、及び表示制御部２４０として機能（動作）する。また、帳票の画像１０をスキャナ装置３から取得する場合、ＣＰＵ ２００１及び入出力インタフェース２００６は、図２に示した画像処理装置２におけるスキャナ制御部２１０として機能する。更に、コンピュータ２０とは別のサーバ装置６等が保持している文字認識辞書６１０を参照して文字認識を行う場合、通信制御装置２００７が認識処理部２３０の持つ機能の一部を担う。
【０１４８】
なお、画像処理装置２として動作させるコンピュータ２０は、図１８に示した要素２００１〜２００８の全てを含む必要はなく、用途や条件に応じて一部の要素を省略することも可能である。例えば、コンピュータ２０は、媒体駆動装置２００８や通信制御装置２００７が省略されたものであってもよい。
【符号の説明】
【０１４９】
１  画像処理システム
２  画像処理装置
２１０  スキャナ制御部
２２０  解析部
２２１  変換部
２２２  斜度抽出部
２２３  ノイズ除去部
２２４  切出部
２２５  補正部
２３０  認識処理部
２４０  表示制御部
２５０  主制御部
３  スキャナ装置
４  入力装置
５  表示装置
６  サーバ装置
６０１  文字認識辞書
７  ネットワーク
８  帳票
９  日付印
１０  帳票の画像
１１  フィルタ
１３  抽出結果
１４  置換テーブル
１５  処理結果
２０  コンピュータ
２００１  ＣＰＵ
２００２  メモリ
２００３  補助記憶装置
２００４  入力装置
２００５  表示装置
２００６  入出力インタフェース
２００７  通信制御装置
２００８  媒体駆動装置
２０１０  バス
２１  可搬型記録媒体
【図１】
2019197444.tif 000003
【図２】
2019197444.tif 000004
【図３】
2019197444.tif 000005
【図４】
2019197444.tif 000006
【図５】
2019197444.tif 000007
【図６】
2019197444.tif 000008
【図７】
2019197444.tif 000009
【図８】
2019197444.tif 000010
【図９】
2019197444.tif 000011
【図１０】
2019197444.tif 000012
【図１１】
2019197444.tif 000013
【図１２】
2019197444.tif 000014
【図１３】
2019197444.tif 000015
【図１４Ａ】
2019197444.tif 000016
【図１４Ｂ】
2019197444.tif 000017
【図１５】
2019197444.tif 000018
【図１６】
2019197444.tif 000019
【図１７】
2019197444.tif 000020
【図１８】
2019197444.tif 000021