JP2016191989A - プログラム及び管理装置 - Google Patents

プログラム及び管理装置 Download PDF

Info

Publication number
JP2016191989A
JP2016191989A JP2015070337A JP2015070337A JP2016191989A JP 2016191989 A JP2016191989 A JP 2016191989A JP 2015070337 A JP2015070337 A JP 2015070337A JP 2015070337 A JP2015070337 A JP 2015070337A JP 2016191989 A JP2016191989 A JP 2016191989A
Authority
JP
Japan
Prior art keywords
information
area
image data
text information
specific information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015070337A
Other languages
English (en)
Other versions
JP6115584B2 (ja
Inventor
建太 佐々木
Kenta Sasaki
建太 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2015070337A priority Critical patent/JP6115584B2/ja
Publication of JP2016191989A publication Critical patent/JP2016191989A/ja
Application granted granted Critical
Publication of JP6115584B2 publication Critical patent/JP6115584B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Input (AREA)
  • Character Discrimination (AREA)

Abstract

【課題】レシートをスキャンして生成される画像データに対する画像処理をスムーズに実行し、特定の費用項目に対応する各情報を関連付けて電子的に管理可能な、プログラム及び管理装置を提供する。【解決手段】レシートに対応する画像データが、スキャナ装置におけるスキャンの主走査方向に一致する、画像データの水平方向の空白行領域によって区切られた複数の領域に、分割される。各領域のうち、領域のサイズが最大である最大領域が検出される。画像データの垂直方向において最大領域の下側に配置された第一領域に対する文字認識処理によって、第一領域に含まれる第一テキスト情報が取得される。第一テキスト情報に含まれる、特定の費用項目に対応する特定情報と、特定情報に対応する数値情報が関連付けて記憶部に記憶される。【選択図】図2

Description

本発明は、スキャナ装置によってスキャンされたレシートに対応する画像データを画像処理して取得される情報を管理するプログラムと管理装置に関する。
スキャナ装置を用いたスキャンによって生成される画像データを対象とした画像処理に関する技術が提案されている。例えば、特許文献1には、画像処理装置及び画像処理方法が開示されている。この画像処理装置及び画像処理方法では、文字を読み取る帳票がスキャナ等の入力部で電子化されることで、画像データが生成される。画像データに対して、領域分割処理が行われる。領域分割処理では、読み取った画像に含まれる、全ての黒画素の8連結領域が抽出され、予め予想される最大文字高さ及び文字幅に対して定められた閾値以下の大きさの8連結領域が文字と判定される。文字は隣接する文字と結合してテキスト領域を形成する。領域分割によって得られた領域データ中のテキスト領域が誤認識されたものである場合、そのテキスト領域は領域データから削除される。テキスト領域が誤認識されたものでない場合、各テキスト領域に対して文字の読取処理が行われる。
特開2001−134712号公報
レシートをスキャンして生成される画像データから取得される所定の情報を電子的に管理する場合、レシートに対応する画像データに含まれる各種の情報のうち、サマリー情報を管理対象とすることが多い。ここで、サマリー情報とは、特定の費用項目に対応する特定情報と、これに対応する数値情報である。特定の費用項目としては、小計、税及び合計(小計+税)が例示される。数値情報としては、前述したそれぞれの金額が例示される。
上述した管理システムにおいて、レシートの全体に対応する画像データを対象としたOCR(Optical Character Recognition)処理等の文字認識処理によって、その全体からテキスト情報を取得しても、利用する箇所は限定的である。即ち、レシートの全体に対応する画像データの全領域に対してOCR処理を実行すると、利用される可能性の低い領域までもが、OCR処理の処理対象となる。その結果、解析速度が遅くなるといった問題が生じることがある。レシートの長さが長くなり、文字が記録された領域の面積が大きくなるに従い、解析速度の遅延は顕著な問題となる。
本発明は、レシートをスキャンして生成される画像データに対する画像処理をスムーズに実行し、特定の費用項目に対応する各情報を関連付けて電子的に管理可能な、プログラム及び管理装置を提供することを目的とする。
本発明の一側面は、スキャナ装置によってスキャンされたレシートに対応する画像データを画像処理して取得される情報を管理する管理装置を制御するコンピュータが実行可能なプログラムであって、前記コンピュータを、前記画像データを、前記スキャナ装置におけるスキャンの主走査方向に一致する、前記画像データの水平方向の空白行領域によって区切られた複数の領域に、分割する分割手段と、前記分割手段によって分割された前記各領域のうち、前記領域のサイズが最大である最大領域を検出する検出手段と、前記画像データの垂直方向において前記検出手段によって検出された前記最大領域の下側に配置された第一領域に対する文字認識処理によって、前記第一領域に含まれる第一テキスト情報を取得する第一取得手段と、前記第一取得手段によって取得された前記第一テキスト情報に含まれる、特定の費用項目に対応する特定情報と、前記特定情報に対応する数値情報と、を関連付けて記憶部に記憶する記憶手段と、して機能させるプログラムである。
これによれば、画像データを複数の領域に分割し、分割された各領域のうちの最大領域の下側に配置された第一領域を、文字認識処理の対象とすることができる。文字認識処理の処理対象となる領域を限定することができる。限定された領域から第一テキスト情報を取得し、これに含まれる特定情報と数値情報を関連付けて記憶部に記憶することができる。
このプログラムは、前記コンピュータを、前記第一取得手段によって取得された前記第一テキスト情報に、前記特定情報が含まれているかを判断する第一判断手段と、前記第一取得手段によって取得された前記第一テキスト情報に、前記特定情報が含まれていない場合、前記垂直方向において前記第一領域と隣り合う第二領域に対する文字認識処理によって、前記第二領域に含まれる第二テキスト情報を取得する第二取得手段と、して機能させ、前記記憶手段は、前記第二取得手段によって取得された前記第二テキスト情報に含まれる、前記特定情報と、前記数値情報と、を関連付けて前記記憶部に記憶する機能を含む、ようにしてもよい。これによれば、順次、文字認識処理の対象となる領域を特定し、特定情報と数値情報を記憶部に記憶することができる。
このプログラムは、前記コンピュータを、前記第一取得手段によって取得された前記第一テキスト情報に、前記特定情報が含まれていない場合、前記第一テキスト情報に、予め定められた文字パターンに対応する除外情報が含まれているかを判断する第二判断手段として機能させ、前記第二取得手段は、前記第一テキスト情報に前記除外情報が含まれていない場合、前記垂直方向において前記第一領域より下側に配置された前記第二領域としての下側第二領域に対する文字認識処理によって、前記第二テキスト情報を取得し、前記第一テキスト情報に前記除外情報が含まれている場合、前記垂直方向において前記第一領域より上側に配置された前記最大領域のうち、前記垂直方向の下側端を含む、前記垂直方向の所定範囲である前記第二領域としての上側第二領域に対する文字認識処理によって、前記第二テキスト情報を取得する、機能を含む、ようにしてもよい。これによれば、除外情報の有無に従い、文字認識処理の対象となる領域を、スムーズに特定することができる。
このプログラムにおいて、前記第二取得手段は、前記第一テキスト情報に前記除外情報が含まれている場合、前記垂直方向において前記第一領域より上側に配置された前記最大領域のうち、前記垂直方向の下側端を含む、前記垂直方向の基準となる基準値の整数倍の範囲である前記上側第二領域に対する文字認識処理によって、前記第二テキスト情報を取得する機能を含む、ようにしてもよい。これによれば、最大領域の中から、文字認識処理の対象とする上側第二領域を、スムーズに特定することができる。
このプログラムは、前記コンピュータを、前記第一取得手段によって取得された前記第一テキスト情報に含まれる前記特定情報に、第一特定情報が含まれ、前記第一特定情報とは異なる第二特定情報が含まれていない場合、前記下側第二領域に対する文字認識処理によって、前記第二テキスト情報を取得する第三取得手段として機能させ、前記第二判断手段は、前記第一取得手段によって取得された前記第一テキスト情報に、前記第一特定情報と前記第二特定情報とが含まれていない場合、前記第一テキスト情報に前記除外情報が含まれているかを判断し、前記第一取得手段によって取得された前記第一テキスト情報に、前記第一特定情報が含まれ、前記第二特定情報が含まれていない場合、前記第一テキスト情報に前記除外情報が含まれているかを判断しない、機能を含み、前記記憶手段は、前記第一取得手段によって取得された前記第一テキスト情報に含まれる前記第一特定情報と、前記第一特定情報に対応する第一数値情報と、を関連付け、前記第三取得手段によって取得された前記第二テキスト情報に含まれる前記第二特定情報と、前記第二特定情報に対応する第二数値情報と、を関連付け、更に、前記第一特定情報及び前記第一数値情報と、前記第二特定情報及び前記第二数値情報と、を関連付けて前記記憶部に記憶する機能を含む、ようにしてもよい。これによれば、一部の特定情報と数値情報が記憶部に記憶されないといった事態を回避し、全ての特定情報と数値情報を互いに関連付けて記憶することができる。
このプログラムにおいて、前記検出手段は、前記分割手段によって分割された前記複数の領域のうち、前記垂直方向の中央部より上側に配置される領域と、前記垂直方向の中央部を含む領域と、を対象として、前記最大領域を検出する機能を含む、ようにしてもよい。これによれば、第一領域の特定の基準となる最大領域の検出をスムーズに実行することができる。
このプログラムにおいて、前記分割手段は、前記画像データを、前記レシートに記録されたオブジェクトを示す色値を有する第一画素を含まない第二画素が前記水平方向に整列した画素列が、前記水平方向に亘って配置され、且つ前記垂直方向に所定列数以上連続する前記空白行領域によって区切られた前記複数の領域に、分割する機能を含む、ようにしてもよい。これによれば、画像データを複数の領域に分割する際の基準となる空白行領域をスムーズに特定することができる。空白行領域によって、画像データを複数の領域に分割することができる。
このプログラムは、前記コンピュータを、前記垂直方向における前記画像データのサイズを取得する第四取得手段と、前記第四取得手段によって取得された前記画像データのサイズが基準となる基準サイズより小さい場合、前記画像データの全領域に対する文字認識処理によって、前記全領域に含まれる第三テキスト情報を取得する第五取得手段と、して機能させ、前記分割手段は、前記第四取得手段によって取得された前記画像データのサイズが前記基準サイズより小さい場合、前記画像データを前記複数の領域に分割しない機能を含み、前記記憶手段は、前記第五取得手段によって取得された前記第三テキスト情報に含まれる、前記特定情報と、前記数値情報と、を関連付けて前記記憶部に記憶する機能を含む、ようにしてもよい。これによれば、垂直方向における画像データのサイズに応じて、処理を適宜選択することができる。
本発明の他の側面は、スキャナ装置によってスキャンされたレシートに対応する画像データを画像処理して取得される情報を管理する管理装置であって、前記画像データを、前記スキャナ装置におけるスキャンの主走査方向に一致する、前記画像データの水平方向の空白行領域によって区切られた複数の領域に、分割する分割手段と、前記分割手段によって分割された前記各領域のうち、前記領域のサイズが最大である最大領域を検出する検出手段と、前記画像データの垂直方向において前記検出手段によって検出された前記最大領域の下側に配置された第一領域に対する文字認識処理によって、前記第一領域に含まれる第一テキスト情報を取得する第一取得手段と、前記第一取得手段によって取得された前記第一テキスト情報に含まれる、特定の費用項目に対応する特定情報と、前記特定情報に対応する数値情報と、を関連付けて記憶部に記憶する記憶手段と、を備える管理装置である。
これによれば、上記の対応するプログラムと同様の作用が実現される。この管理装置は、上記のプログラムと同様、他の機能が実現される管理装置として特定することもできる。
本発明によれば、レシートをスキャンして生成される画像データに対する画像処理をスムーズに実行し、特定の費用項目に対応する各情報を関連付けて電子的に管理可能な、プログラム及び管理装置を得ることができる。
管理システムの一例を示す図である。 画像処理の第一部分のフローチャートである。 画像処理の第二部分のフローチャートである。 第一例のレシートを示す図である。第一例のレシートをスキャンして生成される画像データによるレシート画像にも対応する。 データベースの一例を示す図である。 最大領域処理のフローチャートである。 第二例のレシートを示す図である。第二例のレシートをスキャンして生成される画像データによるレシート画像にも対応する。 全領域処理のフローチャートである。 第三例のレシートを示す図である。第三例のレシートをスキャンして生成される画像データによるレシート画像にも対応する。
本発明を実施するための実施形態について、図面を用いて説明する。本発明は、以下に記載の構成に限定されるものではなく、同一の技術的思想において種々の構成を採用することができる。例えば、以下に示す構成の一部は、省略し又は他の構成等に置換してもよい。他の構成を含むようにしてもよい。
<管理システム>
管理システム10について、図1を参照して説明する。管理システム10は、管理装置20と、スキャナ装置30を含む。管理システム10において、管理装置20とスキャナ装置30は、通信ケーブル11によって接続される。管理装置20とスキャナ装置30の間では、通信ケーブル11を介してデータ通信が行われる。例えば、スキャナ装置30によって生成された画像データが、通信ケーブル11を介して管理装置20に送信される。画像データは、読取媒体のスキャン対象面に対応するデータである。管理装置20では、スキャナ装置30から送信された前述の画像データが受信され、管理装置20は、これを取得する。
管理装置20では、取得された画像データに対する画像処理が実行される。管理装置20は、例えば、パーソナルコンピュータのような情報処理装置である。管理装置20で実行される画像処理については後述する。スキャナ装置30では、読取媒体がスキャンされ、スキャンされた読取媒体に対応する画像データが生成される。実施形態では、スキャン対象の読取媒体は、レシートである。レシートは、所定の物品を購入した際、又は所定のサービスを受けた際、精算時に店員等から渡される。レシートには、各種の情報が、複数の領域に分かれて記録されている(後述する図4、図7及び図9参照)。
<管理装置>
管理装置20は、図1に示すように、CPU21と、記憶装置22と、RAM23と、表示部24と、操作部25と、通信部26を備える。これら各部21〜26は、通信可能に接続される。CPU21は、演算処理を実行する。記憶装置22は、コンピュータが読み取り可能な記憶媒体によって構成される。例えば、記憶装置22は、ハードディスク及び/又はフラッシュメモリによって構成される。この他、記憶装置22は、ROMを含むものであってもよい。記憶装置22には、各種のプログラムが記憶される。例えば、記憶装置22には、OS(Operating System)と各種のアプリケーションが記憶される。記憶装置22に記憶されるアプリケーションには、後述する画像処理(図2及び図3参照)と、最大領域処理(図3のS35及び図6参照)と、全領域処理(図3のS41及び図8参照)の各プログラムと、文字認識処理のプログラムが含まれる。文字認識処理としては、OCR処理が例示される。
例えば、アプリケーションは、記憶装置22に事前にインストールされる。事前のインストールは、例えば、半導体メモリ等のコンピュータが読み取り可能な記憶媒体に記憶されたプログラムが、管理装置20の読取部(不図示)によって読み取られることで行われる。管理装置20が、例えば、光学ドライブ(不図示)を備えている場合、事前のインストールは、光学メディアに記憶されたプログラムが、光学ドライブによって読み取られることで行われるようにしてもよい。この他、管理装置20がインターネットのようなネットワーク(不図示)に接続されている場合、事前のインストールは、このネットワークに接続されたサーバ装置のハードディスク等のコンピュータが読み取り可能な記憶媒体に記憶されたプログラムが、通信部26で伝送信号として受信されることで行われるようにしてもよい。何れの形態とするかは、諸事情を考慮して適宜決定される。コンピュータが読み取り可能な記憶媒体は、一時的な記憶媒体(例えば、伝送信号)を含まない、非一時的な記憶媒体であってもよい。非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を記憶可能な記憶媒体であればよい。この他、記憶装置22には、画像処理のプログラムに関連付けて、後述する図5に示すデータベースが記憶される。データベースについては後述する。
RAM23は、CPU21が各種のプログラムを実行する際に利用される記憶領域となる。RAM23には、処理の実行途中に、処理で利用される所定のデータと情報が、所定の記憶領域に記憶される。管理装置20では、CPU21が、記憶装置22に記憶されたOS及び上述した各プログラム(図2及び図3と図6と図8参照)を実行する等して、管理装置20を制御する。これにより、管理装置20では、各種の機能手段が実現される。
表示部24は、例えば、液晶ディスプレイである。表示部24には、各種の情報が表示される。操作部25は、管理装置20に対する各種の指示等の入力を受け付ける。例えば、操作部25は、スキャン動作の開始指示の入力を受け付ける。操作部25は、例えば、キーボード及びマウスを含む。詳細は省略するが、キーボード及びマウスへの各操作に対応する操作情報を生成する処理は、例えば、公知のパーソナルコンピュータで採用されている技術であり、管理装置20でも採用される。
通信部26には、通信ケーブル11が接続される。通信部26は、通信ケーブル11を介したスキャナ装置30との間のデータ通信を行う。例えば、管理装置20では、通信部26を介してスキャナ装置30から送信される画像データが受信される。通信部26は、例えば、USB(Universal Serial Bus)規格又はイーサネット(登録商標)規格に適合するインターフェース回路である。通信部26がイーサネット(登録商標)規格に適合するインターフェース回路であるとする。この場合、スキャナ装置30との接続は、有線接続又は無線接続の何れであってもよい。
管理装置20は、図2及び図3と図6と図8に示す各処理のプログラムが記憶装置22に記憶されている点が、公知の管理装置と相違する。但し、管理装置20は、ハードウェア的には、公知の管理装置と同様の情報処理装置である。従って、上記では説明を省略したが、管理装置20は、上述した各部21〜26の他、公知の管理装置が備える構成を備える。
<スキャナ装置>
スキャナ装置30は、図1に示すように、CPU31と、記憶装置32と、RAM33と、搬送部34と、イメージセンサ35と、通信部36と、表示部37と、操作部38を備える。これら各部31〜38は、通信可能に接続される。CPU31は、演算処理を実行する。記憶装置32は、コンピュータが読み取り可能な記憶媒体によって構成される。例えば、記憶装置32は、フラッシュメモリによって構成される。記憶装置32には、各種のプログラムが記憶される。例えば、記憶装置32に記憶されるプログラムには、スキャン動作に応じて、画像データを生成するプログラムが含まれる。
RAM33は、CPU31が各種のプログラムを実行する際に利用される記憶領域となる。RAM33には、処理の実行途中に、処理で利用される所定のデータが、所定の記憶領域に記憶される。例えば、RAM33には、生成された画像データが記憶される。スキャナ装置30では、CPU31が、記憶装置32に記憶されたプログラムを実行する等して、スキャナ装置30を制御する。これにより、スキャナ装置30では、各種の機能手段が実現される。
搬送部34は、スキャナ装置30にセットされた読取媒体を搬送する。実施形態における読取媒体は、上述した通り、レシートである。イメージセンサ35は、CIS方式のイメージセンサである。但し、イメージセンサ35は、CCD方式のイメージセンサであってもよい。
通信部36には、通信ケーブル11が接続される。通信部36は、通信ケーブル11を介した管理装置20との間のデータ通信を行う。例えば、スキャナ装置30では、通信部36から画像データが管理装置20に送信される。通信部36は、通信部26と同様の構成である。従って、通信部36に関するこの他の説明は省略する。表示部37には、各種の情報が表示される。操作部38では、各種のボタンを含み、各種の指示等の入力を受け付ける。表示部37と操作部38は、タッチパネルであってもよい。
スキャナ装置30は、ハードウェア的には、例えば、シートフィードスキャナ、フラットベッドスキャナ等の公知のスキャナ装置である。従って、上記では説明を省略したが、スキャナ装置30は、上述した各部31〜38の他、公知のスキャナ装置が備える構成を備える。
<画像処理>
管理装置20で実行される画像処理について、図2及び図3を参照して説明する。画像処理は、読取媒体としてのレシートに対応する画像データに含まれるテキスト情報から、特定のサマリー情報を検出し、データベースに記憶する処理である。テキスト情報は、レシートに記録された文字に対応する。特定のサマリー情報は、特定の費用項目に対応する特定情報と、この特定情報に対応する数値情報である。実施形態では、特定の費用項目は、「SUBTOTAL」と、「9.25% TAX」と、「7.25% TAX」と、「TOTAL」とする。従って、特定情報及び数値情報の組み合わせは、「SUBTOTAL」及び「金額(小計額)」と、「9.25% TAX」及び「金額(税額)」と、「7.25% TAX」及び「金額(税額)」と、「TOTAL」及び「金額(合計額)」である。データベースには、入力項目として、「SUBTOTAL」と「9.25% TAX」と「7.25% TAX」と「TOTAL」が関連付けて記憶されている(図5参照)。レシートに含まれる、特定の費用項目ではない費用項目に関する情報としては、物品名とその物品の金額(価格)の組み合わせが例示される。画像処理のプログラムには、特定の費用項目が登録されている。
ユーザは、開始指示の入力に際し、費用項目を含む各情報が記録されたレシートの面がスキャン対象となる状態で、レシートをスキャナ装置30にセットする。その後、ユーザは、操作部25を操作し、スキャンの開始指示を入力する。開始指示は、操作部25で受け付けられる。CPU21は、この開始指示を操作部25から取得する。CPU21は、開始指示の送信を制御する。即ち、CPU21は、開始指示の送信指令を通信部26に出力する。開始指示の送信先は、スキャナ装置30である。これに伴い、開始指示が、通信部26からスキャナ装置30に送信される。
スキャナ装置30では、CPU31が、通信部36を介して開始指示を取得したことに応じて、スキャン動作が開始される。これに伴い、搬送部34が駆動し、スキャナ装置30にセットされたレシートが搬送される。スキャナ装置30では、レシートに対するスキャン動作に応じて、上述したレシートの面に対応する画像データが生成される。スキャナ装置30では、生成された画像データが、通信部36から管理装置20に送信される。スキャンの開始指示は、スキャナ装置30において、直接、入力されるようにしてもよい。この場合、ユーザは、上述したように、レシートをスキャナ装置30にセットした後、スキャナ装置30を操作し、スキャンの開始指示を入力する。開始指示は、操作部38で受け付けられる。CPU31は、操作部38を介して開始指示を取得し、スキャン動作を開始させる。
実施形態では、次の事項を前提とする。即ち、レシートは、図4と後述する図7及び図9に示すように、長尺であるとする。レシートは、レシートの長手方向に沿って搬送される。スキャナ装置30では、図4と後述する図7及び図9に示す状態の画像データが生成される。レシートの長手方向に直交する方向を、「短手方向」という。レシートの長手方向及び短手方向と、画像データの垂直方向及び水平方向の関係は、図4と後述する図7及び図9の通りである。即ち、図4、図7及び図9を正面視したときの上下方向が、レシートの長手方向に対応し、画像データの垂直方向に対応する。従って、画像データの垂直方向は、レシートの長手方向に一致する。図4、図7及び図9を正面視したときの左右方向が、レシートの短手方向に対応し、画像データの短手方向に対応する。従って、画像データの短手方向は、レシートの短手方向に一致する。レシートの長手方向と画像データの垂直方向に関し、上側及び下側についても、図4と後述する図7及び図9の通りである。即ち、図4、図7及び図9を正面視したときの上側が、長手方向及び垂直方向の各上側に対応し、これら各図を正面視したときの下側が、長手方向及び垂直方向の各下側に対応する。また、画像データの垂直方向の下側は、レシートに記録されている文字の下側と一致する。レシートにおいて、文字は、水平方向に配置され、且つ垂直方向において複数行に亘って記録されている。従って、スキャナ装置30で生成される画像データにおいても、テキスト情報は、水平方向に配置され、且つ垂直方向において複数行に亘って配置される。画像データの水平方向は、スキャナ装置30におけるスキャンの主走査方向に一致する。画像データの垂直方向は、レシートが搬送される方向に対応する。
管理装置20では、スキャナ装置30からの画像データが、通信部26で受信される。CPU21は、通信部26を介して画像データを取得する。CPU21は、画像データの取得を条件として、画像処理を開始する。画像処理を開始させたCPU21は、画像データを2値化する(S11)。2値化の閾値は、画像データに含まれるテキスト情報が抽出可能な値に、適宜設定される。取得された画像データが、例えば、カラーの画像データであるとする。この場合、CPU21は、画像データをグレースケールの画像データに変換し、グレースケールに変換された画像データを対象として、2値化するようにしてもよい。画像データをグレースケールに変換する処理及び2値化する処理は、これら各処理に対応する公知の画像処理技術を採用することができる。そのため、グレースケールに変換する処理及び2値化する処理に関する説明は省略する。2値化後の画像データは、RAM23の所定の記憶領域に記憶される。
次に、CPU21は、2値化後の画像データのサイズ(例えば画素数)を取得する(S13)。取得対象となるサイズは、垂直方向における画像データのサイズである。続けて、CPU21は、S13で取得された垂直方向のサイズが基準となる基準サイズ以上であるかを判断する(S15)。基準サイズは、諸事情を考慮して適宜設定される。例えば、基準サイズは、水平方向における画像データのサイズの1.5倍に設定される。この場合、CPU21は、S15の判断に際し、前述した画像データの水平方向のサイズを取得する。
垂直方向のサイズが基準サイズ未満である場合(S15:No)、CPU21は、処理を図3のS41に移行する。垂直方向のサイズが基準サイズ以上である場合(S15:Yes)、CPU21は、2値化後の画像データを、空白行領域によって区切られた複数の領域に分割する(S17)。空白行領域は、第一画素を含まない第二画素が水平方向に整列した画素列が、水平方向に亘って配置され、且つ垂直方向に所定列数以上連続する領域である。第一画素は、例えば、レシートに記録されたオブジェクト(例えば、文字)を示す色値を有する画素である。前述のオブジェクトを示す色値は、任意の色であってよいが、例えば、2値化後の画像データにおいては黒色の色値に対応する。また、空白行の特定を精度よく行うために、所定のノイズ除去処理(例えば、メディアンフィルタ、オープニング処理)が実行されてもよい。
例えば、2値化後の画像データが、図4に示すレシートに対応するとする。この場合、CPU21は、空白行領域L1,L2,L3,L4,L5,L6,L7,L8のそれぞれによって、2値化後の画像データを、9個の領域に分割する。図4に示す破線と1点鎖線による中心線Mは、レシートに記録された情報ではない。破線は、空白行領域と分割領域の境界位置を明示するものである。中心線Mは、画像データ(レシート画像)の垂直方向の中心位置を明示するものである。実施形態では、図4に基づいた9個の領域を、「分割領域R1」、「分割領域R2」、「分割領域R3」、「分割領域R4」、「分割領域R5」、「分割領域R6」、「分割領域R7」、「分割領域R8」及び「分割領域R9」という。
実施形態における「空白行領域」は、空白行領域L1,L2,L3,L4,L5,L6,L7,L8と後述する空白行領域L9(図7参照)、及び/又はこれら以外の空白行領域を、区別せず又は総称するものである。実施形態における「分割領域」は、分割領域R1,R2,R3,R4,R5,R6,R7,R8,R9と後述する分割領域R10,R18(図7及び図9参照)、及び/又はこれら以外の分割領域を、区別せず又は総称するものである。2値化後の画像データから、複数の分割領域のそれぞれを特定する情報は、RAM23の所定の記憶領域に記憶される。前述の情報としては、座標情報が例示される。実施形態では、座標情報を例に説明する。
次に、CPU21は、S17で分割された複数の分割領域のうち、第一条件又は第二条件を満足する分割領域を対象として、サイズが最も大きい最大領域を検出する(S19)。前述の第一条件は、画像データの垂直方向の中央部より上側に配置されていることである。前述の第二条件は、画像データの垂直方向の中央部を含む領域である。画像データは、水平方向のサイズが垂直方向に一定である。従って、最大領域としては、前述した第一条件又は第二条件を満足する分割領域のうち、垂直方向のサイズが最も大きな分割領域が検出される。S19における最大領域の検出を、図4に基づき説明する。この場合、第一条件又は第二条件を満足する分割領域は、分割領域R1,R2,R3,R4,R5,R6,R7,R8,R9のうち、分割領域R1,R2,R3である。従って、分割領域R1,R2,R3のうち、分割領域R3が最大領域として検出される。
続けて、CPU21は、垂直方向において最大領域の下側に配置された分割領域を、処理対象の分割領域として特定する(S21)。図4に基づき説明する。S19では、上述した通り、最大領域として、分割領域R3が検出される。従って、S21では、2値化後の画像データで、分割領域R3の垂直方向の下側に配置された分割領域R4が、処理対象の分割領域として特定される。この特定は、S19でRAM23の所定の記憶領域に記憶された座標情報に従って行われる。
CPU21は、S21で特定された分割領域を対象として、文字認識処理を実行する(S23)。実施形態では、文字認識処理として、パターンマッチング法等の公知のOCR処理が実行される。従って、文字認識処理(OCR処理)の詳細については省略する。CPU21は、S23での文字認識処理によって、処理対象とされた分割領域に含まれるテキスト情報を取得する。但し、処理対象とされた分割領域が、例えば、図4における分割領域R9のように、文字を含まない場合、テキスト情報は、取得されない。文字認識処理によって取得されたテキスト情報は、RAM23の所定の記憶領域に記憶される。
S23を実行した後、CPU21は、取得されたテキスト情報に、特定情報が含まれるかを判断する(S25)。S25では、特定情報が1個も含まれていない場合、特定情報は含まれていないと判断され(S25:No参照)、少なくとも1個の特定情報が含まれている場合、特定情報は含まれていると判断される(S25:Yes参照)。例えば、特定情報「SUBTOTAL」と「9.25% TAX」と「7.25% TAX」と「TOTAL」の何れも、S23で取得されたテキスト情報に含まれていない場合、S25は否定(S25:No参照)される。これに対して、例えば、特定情報「SUBTOTAL」がS23で取得されたテキスト情報に含まれている場合、特定情報「9.25% TAX」、「7.25% TAX」及び/又は「TOTAL」の有無に関わらず、S25は肯定(S25:Yes参照)される。
特定情報が含まれていない場合(S25:No)、CPU21は、処理を図3のS33に移行する。特定情報が含まれている場合(S25:Yes)、CPU21は、S23で取得されたテキスト情報に含まれる特定情報と、この特定情報に対応する数値情報を関連付けて、RAM23の所定の記憶領域に記憶する(S27)。実施形態では、特定情報と数値情報が関連付けて記憶されるRAM23の記憶領域を、他のデータがそれぞれ記憶される記憶領域と区別するため、「一時領域」といい、一時領域への記憶を「一時記憶」という。続けて、CPU21は、全ての特定情報が一時領域に一時記憶されているかを判断する(S29)。全ての特定情報が一時領域に一時記憶されていない場合(S29:No)、CPU21は、処理を図3のS37に移行する。全ての特定情報が一時領域に一時記憶されている場合(S29:Yes)、CPU21は、一時領域に一時記憶されている特定情報と数値情報を関連付けて、データベースに記憶する(S31)。その後、CPU21は、画像処理を終了する。
図4に基づきS29とS31を説明する。図4では、特定情報と数値情報の組み合わせは次の通りである。即ち、特定情報「SUBTOTAL」に対応する数値情報は、「$100.02」である。特定情報「9.25% TAX」に対応する数値情報は、「$4.62」である。特定情報「7.25% TAX」に対応する数値情報は、「$3.75」である。特定情報「TOTAL」に対応する数値情報は、「$108.39」である。S29でCPU21は、特定情報「SUBTOTAL」と「9.25 TAX」と「7.25 TAX」と「TOTAL」の全てが、一時領域に記憶されていない場合、判断を否定する(S29:No)。この場合、CPU21は、処理を図3のS37に移行する。S29でCPU21は、特定情報「SUBTOTAL」と「9.25 TAX」と「7.25 TAX」と「TOTAL」の全てが、一時領域に一時記憶されている場合、判断を肯定する(S29:Yes)。
S29が肯定された場合(S29:Yes)、S31でCPU21は、特定情報「SUBTOTAL」と数値情報「$100.02」を関連付けて、データベースに記憶する(図5参照)。CPU21は、特定情報「9.25% TAX」と数値情報「$4.62」を関連付けて、データベースに記憶する(図5参照)。CPU21は、特定情報「7.25% TAX」と数値情報「$3.75」を関連付けて、データベースに記憶する(図5参照)。CPU21は、特定情報「TOTAL」と数値情報「$108.39」を関連付けて、データベースに記憶する(図5参照)。その際、データベースでは、今回記憶された数値情報「$100.02」と「$4.62」と「$3.75」と「$108.39」は、例えば、同一のレコードに記憶される等して、互いに関連付けられる(図5参照)。
図3に示すS33でCPU21は、S23の文字認識処理で取得され、RAM23の所定の記憶領域に記憶されたテキスト情報に、除外情報が含まれているかを判断する。除外情報は、予め定められた文字パターンに対応する情報である。予め定められた文字パターンとしては、電話番号と、日付と、URLが例示される。電話番号の文字パターンとしては、任意の数字が括弧やハイフン等の特定の文字で区切られたパターン(例えば、「(***)***−***」(但し、「*」は任意の数字一文字))が例示される。日付の文字パターンとしては、任意の数字がスラッシュや「月」「日」等の特定の文字で区切られたパターン(例えば、「**/**/**」)が例示される。なお、「Mar.」等、特定の月を表す任意の文字列を、予め定められた文字パターンとしてもよい。URLの文字パターンとしては、「www」を含み、任意の文字が「.」で区切られたパターン(例えば、「www.***.***」)が例示される。1種類の文字パターンについて、複数のパターンを定義するようにしてもよい。例えば、日付について、前述した例に加え、「*** **,****」を定義するようにしてもよい。電話番号の文字パターン「(***)***−***」に対応する除外情報としては、「(000)000−0000」が例示される。日付の文字パターン「**/**/**」に対応する除外情報としては、「01/20/13」が例示される。URLの文字パターン「www.***.***」に対応する除外情報としては、「www.XXXX−Store.com」が例示される。
除外情報が含まれている場合(S33:Yes)、CPU21は、最大領域処理を実行する(S35)。最大領域処理については後述する。その後、CPU21は、画像処理を終了する。除外情報が含まれていない場合(S33:No)、CPU21は、処理をS37に移行する。S37でCPU21は、垂直方向において、処理対象とされている分割領域の下側に分割領域が配置されているかを判断する(S37)。図4に基づき説明する。処理対象とされている分割領域は、「分割領域R4」であるとする。この場合、処理対象とされている分割領域R4の下側に配置された分割領域は、分割領域R5である。この特定は、S19でRAM23の所定の記憶領域に記憶された座標情報に従って行われる。
下側に分割領域が配置されている場合(S37:Yes)、CPU21は、下側の分割領域を、新たな処理対象の分割領域として特定する(S39)。S39を実行した後、CPU21は、処理を図2のS23に戻す。CPU21は、新たな分割領域を処理対象として、S23以降の処理を繰り返して実行する。S23の実行に際し、CPU21は、先の処理対象の分割領域に対する文字認識処理で取得されたテキスト情報を、RAM23の所定の記憶領域から消去する。CPU21は、再度実行される、新たな分割領域に対応する文字認識処理によって取得されたテキスト情報を、RAM23の所定の記憶領域に記憶する。
下側に分割領域が配置されていない場合(S37:No)、CPU21は、処理をS41に移行する。S41でCPU21は、全領域処理を実行する。全領域処理については後述する。その後、CPU21は、画像処理を終了する。
<最大領域処理>
図3のS35で実行される最大領域処理について、図6を参照して説明する。最大領域処理を開始させたCPU21は、最大領域を複数の領域に再分割する(S51)。最大領域は、図2のS19で検出された分割領域である。最大領域は、例えば、空白行領域の垂直方向のサイズを基準として、再分割される。例えば、空白行領域の垂直方向のサイズのNA倍の各領域に、再分割される。「NA」は、諸事情を考慮して、所定の整数に適宜設定される。例えば、「NA」は「5」に設定される。再分割の基準位置は、垂直方向の下側とされ、垂直方向の下側から、例えば、空白行領域のNA倍の各領域に再分割される。この場合、再分割された各領域において、垂直方向の最も上側の領域の垂直方向のサイズは、空白行領域のNA倍より小さくなることがある(図7で符号「R17」の領域参照)。
更に、空白行領域の垂直方向のサイズは、例えば、次のようにして設定される。即ち、前述のサイズは、2値化後の画像データに含まれる空白行領域のうち、垂直方向のサイズが最も小さな空白行領域を対象として設定される。この他、前述のサイズは、2値化後の画像データの水平方向のサイズを基準として設定するようにしてもよい。例えば、2値化後の画像データの水平方向のサイズの1/NBを、前述のサイズとして設定するようにしてもよい。「NB」は、例えば、レシートにおける1行の文字数を考慮して適宜設定される。例えば、「NB」は、20〜60の範囲の所定の値に設定される。実施形態では、S51で再分割された領域を「再分割領域」という。
図2のS11での2値化後の画像データが、図7に示すレシートに対応するとする。図2のS19で最大領域として、図7に示す「分割領域R10」が検出され、垂直方向のサイズが最も小さな空白行領域が、「空白行領域L9」であったとする。上述したNAは、「5」に設定されていたとする。この場合、S51で、最大領域としての分割領域R10は、垂直方向の下側から、複数の再分割領域R11,R12,R13,R14,R15,R16,R17に、再分割される。図7に示す破線は、レシートに記録された情報ではない。破線は、分割領域R10の境界位置と、再分割領域R11,R12,R13,R14,R15,R16,R17の境界位置を明示するものである。実施形態における「再分割領域」は、再分割領域R11,R12,R13,R14,R15,R16,R17、及び/又はこれ以外の再分割領域を、区別せず又は総称するものである。複数の再分割領域のそれぞれを特定する情報は、RAM23の所定の記憶領域に記憶される。実施形態では、この情報は、図2及び図3に示す画像処理の分割領域の場合と同様、座標情報とする。
次に、CPU21は、複数の再分割領域のうち、垂直方向において最も下側に配置された再分割領域を、処理対象の再分割領域として特定する(S53)。ここで特定される再分割領域は、最大領域である分割領域の垂直方向の下側端を含む再分割領域である。図7に基づけば、垂直方向において最も下側に配置された再分割領域R11が、処理対象の再分割領域として特定される。この特定は、S51でRAM23の所定の記憶領域に記憶された座標情報に従って行われる。
CPU21は、S53で特定された再分割領域を対象として、文字認識処理を実行する(S55)。実施形態では、図2のS23と同様、文字認識処理として、公知のOCR処理が実行される。従って、文字認識処理(OCR処理)の詳細については省略する。CPU21は、S55での文字認識処理によって、処理対象とされた再分割領域に含まれるテキスト情報を取得する。但し、処理対象とされた再分割領域が、文字を含まない場合、テキスト情報は、取得されない。文字認識処理によって取得されたテキスト情報は、RAM23の所定の記憶領域に記憶される。
S55を実行した後、CPU21は、取得されたテキスト情報に、特定情報が含まれるかを判断する(S57)。S57は、図2のS25と同様の処理であり、CPU21は、S57を上記同様に実行する。S53で、処理対象の再分割領域として、図7に示す再分割領域R11が特定されていたとする。この場合、S55の文字認識処理で取得されるテキスト情報は、特定情報「SUBTOTAL」と「9.25 TAX」と「7.25 TAX」と「TOTAL」を含む。従って、S57は肯定(S57:Yes)される。S57は、図2のS25と同様、S55の文字認識処理で取得されるテキスト情報に、特定情報「SUBTOTAL」と「9.25 TAX」と「7.25 TAX」と「TOTAL」の何れも含まれていない場合、否定(S57:No参照)され、少なくとも1個の特定情報が含まれている場合、肯定(S57:Yes参照)される。
特定情報が含まれていない場合(S57:No)、CPU21は、処理をS65に移行する。特定情報が含まれている場合(S57:Yes)、CPU21は、S59〜S63を順次実行する。S59〜S63は、図2のS27〜S31と同様の処理であり、CPU21は、S59〜S63を上記同様に実行する。S53で、処理対象の再分割領域として、図7に示す再分割領域R11が特定されていたとする。この場合、上述した通り、S55の文字認識処理で取得されるテキスト情報は、上述した4個の特定情報を含み、S59では、特定情報「SUBTOTAL」及び数値情報「$68.37」と、特定情報「9.25 TAX」及び数値情報「$2.27」と、特定情報「7.25% TAX」及び数値情報「$2.17」と、特定情報「TOTAL」及び数値情報「$73.32」が、一時領域に一時記憶されている。従って、S61は肯定(S61:Yes)される。S63を実行した後、CPU21は、最大領域処理を終了する。特定情報「SUBTOTAL」と「9.25 TAX」と「7.25 TAX」と「TOTAL」の全てが、一時領域に記憶されておらず、S61が否定される場合(S61:No)、CPU21は、処理をS65に移行する。S59〜S63に関するこの他の説明は省略する。
S65でCPU21は、垂直方向において、処理対象とされている再分割領域の上側に再分割領域が配置されているかを判断する。この特定は、S55でRAM23の所定の記憶領域に記憶された座標情報に従って行われる。上側に分割領域が配置されている場合(S65:Yes)、CPU21は、上側の分割領域を、新たな処理対象の分割領域として特定する(S67)。S67を実行した後、CPU21は、処理をS55に戻す。CPU21は、新たな再分割領域を処理対象として、S55以降の処理を繰り返して実行する。S55の実行に際し、CPU21は、先の処理対象の再分割領域に対する文字認識処理で取得されたテキスト情報を、RAM23の所定の記憶領域から消去する。CPU21は、再度実行される、新たな再分割領域に対応する文字認識処理によって取得されたテキスト情報を、RAM23の所定の記憶領域に記憶する。
上側に分割領域が配置されていない場合(S65:No)、CPU21は、全領域処理を実行する(S69)。全領域処理については後述する。その後、CPU21は、最大領域処理を終了する。
<全領域処理>
図3のS41又は図6のS69で実行される全領域処理について、図8を参照して説明する。全領域処理を開始させたCPU21は、図2のS11における2値化後の画像データを対象として、文字認識処理を実行する(S71)。実施形態では、図2のS23及び図6のS55と同様、文字認識処理として、公知のOCR処理が実行される。従って、文字認識処理(OCR処理)の詳細については省略する。CPU21は、S71での文字認識処理によって、処理対象とされた2値化後の画像データに含まれるテキスト情報を取得する。但し、処理対象とされた2値化後の画像データが、文字を含まない場合、テキスト情報は、取得されない。文字認識処理によって取得されたテキスト情報は、RAM23の所定の記憶領域に記憶される。
次に、CPU21は、取得されたテキスト情報に、特定情報が含まれるかを判断する(S73)。S73は、図2のS25と同様の処理であり、CPU21は、S73を上記同様に実行する。特定情報が含まれている場合(S73:Yes)、CPU21は、2値化後の画像データに含まれる特定情報に関連付けて数値情報を、データベースに記憶する。データベースへの記憶は、図2のS31と同様にして実行される。
S71では、2値化後の画像データを処理対象とし、その全領域に対して、文字認識処理が実行されている。従って、S73が肯定される場合(S73:Yes参照)、2値化後の画像データには、特定情報及び数値情報の組み合わせとして、「SUBTOTAL」及び「金額(小計額)」と、「9.25% TAX」及び「金額(税額)」と、「7.25% TAX」及び「金額(税額)」と、「TOTAL」及び「金額(合計額)」が含まれている。従って、S73では、全ての特定情報と全ての数値情報が関連付けられて、データベースに記憶される。但し、一部の特定情報及び数値情報については、例外的に、取得されたテキスト情報に含まれていないことも想定される。このような場合、取得されたテキスト情報に含まれている特定情報及び数値情報を対象とした、データベースへの記憶が実行される。
特定情報が含まれていない場合(S73:No)、CPU21は、未検出情報をデータベースに記憶する(S77)。未検出情報は、特定情報と数値情報が検出されなかったことを示す情報である。例えば、スキャン対象とされたレシートの記録面が、汚損等されていた場合、未検出情報がデータベースに記憶される。S75又はS77を実行した後、CPU21は、全領域処理を終了する。
<実施形態の効果>
実施形態によれば、次のような効果を得ることができる。
(1)図2及び図3に示す画像処理では、スキャナ装置30でスキャンされたレシートに対応する画像データを2値化し(図2のS11参照)、垂直方向における2値化後の画像データのサイズが基準サイズ以上であるかが判断される(図2のS15参照)。垂直方向のサイズが基準サイズ以上である場合(図2のS15:Yes参照)、2値化後の画像データは、複数の領域(分割領域)に分割される(図2のS17参照)。続けて、複数の分割領域の中から、最大領域が検出され(図2のS19参照)、垂直方向において、最大領域の下側に配置された分割領域が処理対象として特定される(図2のS21参照)。
そのため、垂直方向における2値化後の画像データのサイズが基準サイズ以上である場合(図2のS15:Yes参照)、文字認識処理の処理対象となる領域を限定することができる。処理対象として特定された分割領域に対して文字認識処理を実行し(図2のS23参照)、取得されたテキスト情報に含まれる特定情報と、この特定情報に対応する数値情報を関連付けて、データベースに記憶することができる(図2のS31参照)。一般的に、レシートでは、実施形態において設定した特定の費用項目以外の費用項目が記録された領域(図4の「分割領域R3」参照)の下側に、特定情報と数値情報が記録されていることが多い。画像処理によれば、このような事項に基づき、処理をスムーズに実行することが可能となる。
画像処理では、垂直方向における2値化後の画像データのサイズが基準サイズ未満である場合(図2のS15:No参照)、処理が図3のS41に移行され、図8に示す全領域処理が実行される。そのため、2値化後の画像データを対象とした文字認識処理について、垂直方向における画像データのサイズに応じて、処理を適宜選択することができる。垂直方向のサイズが基準サイズ未満である画像データについては、文字認識処理をスムーズに実行することが可能である。データベースに特定情報と数値情報を関連付けて記憶することで、日々の出費を、電子的に管理することができる。
(2)画像処理では、最大領域の下側に配置された分割領域を対象とした文字認識処理によって取得されたテキスト情報に、特定情報が含まれていない場合(図2のS25:No参照)、図2のS21で処理対象として特定された分割領域から取得されたテキスト情報に、除外情報が含まれているかが判断される(図3のS33参照)。除外情報としては、例えば、電話番号、日付及びURLの各情報を記録する際に用いられる一般的な文字パターンが適宜定義される。除外情報が含まれていない場合(図3のS33:No参照)、処理対象とされている分割領域の更に下側に配置された分割領域が、処理対象の分割領域として特定される(図3のS39参照)。除外情報が含まれている場合(図3のS33:Yes参照)、最大領域処理が実行される(図3のS35参照)。最大領域処理では、図2のS19で検出された最大領域が再分割され(図6のS51参照)、垂直方向において最も下側に配置された再分割領域が処理対象として特定される(図6のS53参照)。最大領域の再分割は、例えば、空白行領域の垂直方向のサイズを基準として実行される。
図2のS31でのデータベースへの記憶に際し、全特定情報が、RAM23の一時領域に一時記憶されているかが判断される(図2のS29参照)。全ての特定情報が一時領域に一時記憶されていない場合(図2のS29:No参照)、処理対象とされている分割領域の更に下側に配置された分割領域が、処理対象の分割領域として特定される(図3のS39参照)。
そのため、順次、文字認識処理の対象となる領域を特定し、特定情報と数値情報を記憶部に記憶することができる。その際、除外情報の有無に従い、文字認識処理の対象となる領域を、スムーズに特定することができる。最大領域の全体を文字認識処理の対象とすることを回避することができる。
(3)画像処理では、2値化後の画像データが分割された全ての分割領域のうち、垂直方向の中央部より上側に配置された分割領域と(第一条件)、前述の中央部を含む分割領域(第二条件)を対象として、最大領域が選択される(図2のS19参照)。そのため、最大領域の検出をスムーズに実行することができる。
例えば、レシートには、図9に示すように、中央部より下側に広告等が記録されているタイプのものがある。図9に示すようなタイプのレシートに対応する画像データを、上記同様、複数の領域に分割したとする。詳細は省略するが、この場合、分割領域R18が、最大領域として検出される。分割領域R18は、イベント及びクーポンの各情報が記録された領域である。分割領域R18には、特定情報と数値情報は、含まれていない。最大領域の検出に際し、上述した第一条件と第二条件を採用することで、分割領域R18が、最大領域として検出されることを防止することができる。図9に示す破線と1点鎖線による中心線Mは、レシートに記録された情報ではない。破線は、分割領域R18の境界位置を明示するものである。中心線Mは、図4と同様、画像データ(レシート画像)の垂直方向の中心位置を明示するものである。
<変形例>
実施形態は、次のようにすることもできる。以下に示す変形例のうちの幾つかの構成は、適宜組み合わせて採用することもできる。以下では、上記とは異なる点を説明することとし、同様の点についての説明は適宜省略する。
(1)図2及び図3に示す画像処理のS15(図2参照)の判断条件を「垂直方向のサイズ≧基準サイズ」とした。この判断条件は、「垂直方向のサイズ>基準サイズ」としてもよい。即ち、S15では、垂直方向のサイズと基準サイズが等しい場合、判断を否定(図2のS15:No参照)するようにしてもよい。
(2)図8に示す全領域処理では、S73が否定された場合(図8のS73:No参照)、未検出情報が、データベースに記憶される(図8のS77参照)。S77は、省略するようにしてもよい。この場合、S73が否定された場合(図8のS73:No参照)、全領域処理は、終了する。全領域処理の終了に際し、管理装置20の表示部24に、特定情報と数値情報が検出されなかったこと、及び/又は特定情報と数値情報が関連付けて記憶されなかったことを示すメッセージ画面を表示するようにしてもよい。ユーザは、表示部24に表示されたメッセージ画面によって、前述した状態を認識することができる。
10 管理システム
11 通信ケーブル
20 管理装置
21 CPU
22 記憶装置
23 RAM
24 表示部
25 操作部
26 通信部
30 スキャナ装置
31 CPU
32 記憶装置
33 RAM
34 搬送部
35 イメージセンサ
36 通信部
37 表示部
38 操作部
L1,L2,L3,L4,L5,L6,L7,L8,L9 空白行領域
M 中心線
R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R18 分割領域
R11,R12,R13,R14,R15,R16,R17 再分割領域

Claims (9)

  1. スキャナ装置によってスキャンされたレシートに対応する画像データを画像処理して取得される情報を管理する管理装置を制御するコンピュータが実行可能なプログラムであって、
    前記コンピュータを、
    前記画像データを、前記スキャナ装置におけるスキャンの主走査方向に一致する、前記画像データの水平方向の空白行領域によって区切られた複数の領域に、分割する分割手段と、
    前記分割手段によって分割された前記各領域のうち、前記領域のサイズが最大である最大領域を検出する検出手段と、
    前記画像データの垂直方向において前記検出手段によって検出された前記最大領域の下側に配置された第一領域に対する文字認識処理によって、前記第一領域に含まれる第一テキスト情報を取得する第一取得手段と、
    前記第一取得手段によって取得された前記第一テキスト情報に含まれる、特定の費用項目に対応する特定情報と、前記特定情報に対応する数値情報と、を関連付けて記憶部に記憶する記憶手段と、して機能させるプログラム。
  2. 前記コンピュータを、
    前記第一取得手段によって取得された前記第一テキスト情報に、前記特定情報が含まれているかを判断する第一判断手段と、
    前記第一取得手段によって取得された前記第一テキスト情報に、前記特定情報が含まれていない場合、前記垂直方向において前記第一領域と隣り合う第二領域に対する文字認識処理によって、前記第二領域に含まれる第二テキスト情報を取得する第二取得手段と、して機能させ、
    前記記憶手段は、前記第二取得手段によって取得された前記第二テキスト情報に含まれる、前記特定情報と、前記数値情報と、を関連付けて前記記憶部に記憶する機能を含む、請求項1に記載のプログラム。
  3. 前記コンピュータを、前記第一取得手段によって取得された前記第一テキスト情報に、前記特定情報が含まれていない場合、前記第一テキスト情報に、予め定められた文字パターンに対応する除外情報が含まれているかを判断する第二判断手段として機能させ、
    前記第二取得手段は、
    前記第一テキスト情報に前記除外情報が含まれていない場合、前記垂直方向において前記第一領域より下側に配置された前記第二領域としての下側第二領域に対する文字認識処理によって、前記第二テキスト情報を取得し、
    前記第一テキスト情報に前記除外情報が含まれている場合、前記垂直方向において前記第一領域より上側に配置された前記最大領域のうち、前記垂直方向の下側端を含む、前記垂直方向の所定範囲である前記第二領域としての上側第二領域に対する文字認識処理によって、前記第二テキスト情報を取得する、機能を含む、請求項2に記載のプログラム。
  4. 前記第二取得手段は、前記第一テキスト情報に前記除外情報が含まれている場合、前記垂直方向において前記第一領域より上側に配置された前記最大領域のうち、前記垂直方向の下側端を含む、前記垂直方向の基準となる基準値の整数倍の範囲である前記上側第二領域に対する文字認識処理によって、前記第二テキスト情報を取得する機能を含む、請求項3に記載のプログラム。
  5. 前記コンピュータを、前記第一取得手段によって取得された前記第一テキスト情報に含まれる前記特定情報に、第一特定情報が含まれ、前記第一特定情報とは異なる第二特定情報が含まれていない場合、前記下側第二領域に対する文字認識処理によって、前記第二テキスト情報を取得する第三取得手段として機能させ、
    前記第二判断手段は、前記第一取得手段によって取得された前記第一テキスト情報に、前記第一特定情報と前記第二特定情報とが含まれていない場合、前記第一テキスト情報に前記除外情報が含まれているかを判断し、前記第一取得手段によって取得された前記第一テキスト情報に、前記第一特定情報が含まれ、前記第二特定情報が含まれていない場合、前記第一テキスト情報に前記除外情報が含まれているかを判断しない、機能を含み、
    前記記憶手段は、前記第一取得手段によって取得された前記第一テキスト情報に含まれる前記第一特定情報と、前記第一特定情報に対応する第一数値情報と、を関連付け、前記第三取得手段によって取得された前記第二テキスト情報に含まれる前記第二特定情報と、前記第二特定情報に対応する第二数値情報と、を関連付け、更に、前記第一特定情報及び前記第一数値情報と、前記第二特定情報及び前記第二数値情報と、を関連付けて前記記憶部に記憶する機能を含む、請求項3又は請求項4に記載のプログラム。
  6. 前記検出手段は、前記分割手段によって分割された前記複数の領域のうち、前記垂直方向の中央部より上側に配置される領域と、前記垂直方向の中央部を含む領域と、を対象として、前記最大領域を検出する機能を含む、請求項1から請求項5の何れか1項に記載のプログラム。
  7. 前記分割手段は、前記画像データを、前記レシートに記録されたオブジェクトを示す色値を有する第一画素を含まない第二画素が前記水平方向に整列した画素列が、前記水平方向に亘って配置され、且つ前記垂直方向に所定列数以上連続する前記空白行領域によって区切られた前記複数の領域に、分割する機能を含む、請求項1から請求項6の何れか1項に記載のプログラム。
  8. 前記コンピュータを、
    前記垂直方向における前記画像データのサイズを取得する第四取得手段と、
    前記第四取得手段によって取得された前記画像データのサイズが基準となる基準サイズより小さい場合、前記画像データの全領域に対する文字認識処理によって、前記全領域に含まれる第三テキスト情報を取得する第五取得手段と、して機能させ、
    前記分割手段は、前記第四取得手段によって取得された前記画像データのサイズが前記基準サイズより小さい場合、前記画像データを前記複数の領域に分割しない機能を含み、
    前記記憶手段は、前記第五取得手段によって取得された前記第三テキスト情報に含まれる、前記特定情報と、前記数値情報と、を関連付けて前記記憶部に記憶する機能を含む、請求項1から請求項7の何れか1項に記載のプログラム。
  9. スキャナ装置によってスキャンされたレシートに対応する画像データを画像処理して取得される情報を管理する管理装置であって、
    前記画像データを、前記スキャナ装置におけるスキャンの主走査方向に一致する、前記画像データの水平方向の空白行領域によって区切られた複数の領域に、分割する分割手段と、
    前記分割手段によって分割された前記各領域のうち、前記領域のサイズが最大である最大領域を検出する検出手段と、
    前記画像データの垂直方向において前記検出手段によって検出された前記最大領域の下側に配置された第一領域に対する文字認識処理によって、前記第一領域に含まれる第一テキスト情報を取得する第一取得手段と、
    前記第一取得手段によって取得された前記第一テキスト情報に含まれる、特定の費用項目に対応する特定情報と、前記特定情報に対応する数値情報と、を関連付けて記憶部に記憶する記憶手段と、を備える管理装置。
JP2015070337A 2015-03-30 2015-03-30 プログラム及び管理装置 Active JP6115584B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015070337A JP6115584B2 (ja) 2015-03-30 2015-03-30 プログラム及び管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015070337A JP6115584B2 (ja) 2015-03-30 2015-03-30 プログラム及び管理装置

Publications (2)

Publication Number Publication Date
JP2016191989A true JP2016191989A (ja) 2016-11-10
JP6115584B2 JP6115584B2 (ja) 2017-04-19

Family

ID=57246978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015070337A Active JP6115584B2 (ja) 2015-03-30 2015-03-30 プログラム及び管理装置

Country Status (1)

Country Link
JP (1) JP6115584B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021900A (zh) * 2017-12-18 2018-05-11 科大讯飞股份有限公司 版面分栏方法及装置
JP2021092921A (ja) * 2019-12-09 2021-06-17 カシオ計算機株式会社 取引データ処理装置、端末装置、取引データ処理システム、プログラム及びレシート

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10275196A (ja) * 1997-03-28 1998-10-13 Sanyo Electric Co Ltd データ入力装置
JP2004164218A (ja) * 2002-11-12 2004-06-10 Seiko Epson Corp レシート処理装置およびその方法、並びにコンピュータプログラム
JP2006178802A (ja) * 2004-12-24 2006-07-06 Hitachi Ltd 帳票定義自動作成方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10275196A (ja) * 1997-03-28 1998-10-13 Sanyo Electric Co Ltd データ入力装置
JP2004164218A (ja) * 2002-11-12 2004-06-10 Seiko Epson Corp レシート処理装置およびその方法、並びにコンピュータプログラム
JP2006178802A (ja) * 2004-12-24 2006-07-06 Hitachi Ltd 帳票定義自動作成方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021900A (zh) * 2017-12-18 2018-05-11 科大讯飞股份有限公司 版面分栏方法及装置
CN108021900B (zh) * 2017-12-18 2022-05-17 科大讯飞股份有限公司 版面分栏方法及装置
JP2021092921A (ja) * 2019-12-09 2021-06-17 カシオ計算機株式会社 取引データ処理装置、端末装置、取引データ処理システム、プログラム及びレシート
JP7415509B2 (ja) 2019-12-09 2024-01-17 カシオ計算機株式会社 取引データ処理装置、端末装置、取引データ処理システム及びプログラム

Also Published As

Publication number Publication date
JP6115584B2 (ja) 2017-04-19

Similar Documents

Publication Publication Date Title
JP6928876B2 (ja) フォーム種別学習システムおよび画像処理装置
CN104902120B (zh) 图像读取装置和图像读取方法
CN103714338B (zh) 图像处理装置和图像处理方法
CN106326888B (zh) 图像识别方法和装置
US8306325B2 (en) Text character identification system and method thereof
EP3853761A1 (en) Converting an image into a structured table
CN105320933A (zh) 电子文档生成系统以及电子文档生成装置
CN110502985A (zh) 表格识别方法、装置及表格识别设备
CN107211068B (zh) 图像读取装置、图像读取方法及图像读取程序
JP6115584B2 (ja) プログラム及び管理装置
CN111144081B (zh) 表单生成方法、装置、存储介质及电子设备
US10803233B2 (en) Method and system of extracting structured data from a document
JP2017521011A (ja) シンボルの光学的検出方法
CN106256119B (zh) 检测电子文档内的签名行
JP6879034B2 (ja) プログラム、情報処理装置、及びシステム
US10817821B2 (en) Workflow control device and non-transitory computer-readable storage medium having stored therein workflow control program for controlling workflow regarding operation on electronic apparatus
US20220254169A1 (en) Road surface inspection apparatus, road surface inspection method, and program
JP6361432B2 (ja) 表示制御プログラム、表示制御方法および表示制御装置
JP2008092451A (ja) スキャナシステム
CN106055693A (zh) 一种信息处理方法及终端
JP2008299744A (ja) 帳票入力支援システム、プログラムおよび記録媒体
KR20130010833A (ko) 복수 개의 객체 이미지를 포함한 정적인 디지털 결합 이미지의 편집 방법
CN109409362A (zh) 基于tesseract引擎的图片敏感词检测和定位方法和装置
JP2018197692A (ja) 損傷状況処理システム
CN110390323B (zh) 信息处理装置以及计算机可读介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170306

R150 Certificate of patent or registration of utility model

Ref document number: 6115584

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150