JP4052095B2 - レシート処理装置およびその方法、並びにコンピュータプログラム - Google Patents
レシート処理装置およびその方法、並びにコンピュータプログラム Download PDFInfo
- Publication number
- JP4052095B2 JP4052095B2 JP2002328600A JP2002328600A JP4052095B2 JP 4052095 B2 JP4052095 B2 JP 4052095B2 JP 2002328600 A JP2002328600 A JP 2002328600A JP 2002328600 A JP2002328600 A JP 2002328600A JP 4052095 B2 JP4052095 B2 JP 4052095B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- receipt
- character string
- line
- text data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Character Discrimination (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
【発明の属する技術分野】
本発明は、レシートに印刷された画像を光学的に読み取り、該画像から、品目、品数、金額等の家計簿処理に必要となるレシートデータを作成する技術に関する。
【0002】
【従来の技術】
近年、一般家庭においてもパーソナルコンピュータを利用して種々の情報管理を行うことが可能となってきた。パーソナルコンピュータを利用して、レシートから家計簿を作成する技術として、レシートに印刷されている文字情報を光学的に読み取って、その読み取った情報を認識して、家計簿を作成するものがある(例えば、特許文献1参照)。
【0003】
また、レシートのフォーマットを予め登録しておき、そのフォーマットを参照して文字認識を行なうといった特徴を持つ家計簿処理装置も提案されている(例えば、特許文献2参照)。この構成によって、レシートから所望のレシートデータを確実に読み取ることが可能となった。
【0004】
【特許文献1】
登録実用新案第3019192号
【特許文献2】
特開平11−265409号公報
【0005】
【発明が解決しようとする課題】
しかしながら、特許文献2を参照した従来の技術では、例えば、全国主要スーパーマーケット等のレシートというように、予め登録したフォーマットのレシートからしかレシートデータの作成を行なうことができないことから、汎用性が低く、家計簿に利用するには実用的ではなかった。
【0006】
この発明は、上記問題に鑑みてなされたもので、大多数のレシートについてのレシートデータの作成を可能とすることで、実用性の向上を図ることを目的としている。
【0007】
【課題を解決するための手段およびその作用・効果】
前述した課題の少なくとも一部を解決するための手段として、以下に示す構成をとった。
【0008】
この発明のレシート処理装置は、
レシートの画像を読み取る画像読取手段と、
前記レシートの画像から文字を認識してテキストデータを生成する文字認識手段と、
前記テキストデータから家計簿処理に必要となるレシートデータを抽出するレシートデータ抽出手段と
を備えるレシート処理装置において、
前記レシートデータ抽出手段は、
前記テキストデータから第1の文字列を選択し、該選択された第1の文字列が含まれる行が前記テキストデータ上で何行目にあたるかを示す第1の行位置を検出する第1の行位置検出手段と、
前記テキストデータから前記第1の文字列とは相違する第2の文字列を選択し、該選択された第2の文字列が含まれる行が前記テキストデータ上で何行目にあたるかを示す第2の行位置を検出する第2の行位置検出手段と、
前記文字認識手段により検出された1シート分のテキストデータから行を単位とするラインデータを、前記第1の行位置から前記第2の行位置までの行範囲にわたって順に選択して、該ラインデータから品目に関わるデータを抽出する品目関連データ抽出手段と
を備えることを特徴としている。
【0009】
レシートは、店舗毎に、サイズやフォーマットが異なることがよく知られている。しかしながら、近年のレシートは、大多数がロール紙をカットしたものであることから、フォーマットに一つの規則性があることがわかる。図1は、レシートの一例を示す説明図である。図示するように、レシートは、ロール紙をカットしたものであることから、縦長の形状で、店名データの欄F1、日付データの欄F2、品目関連データ(品目、品数、金額等)の欄F3、合計関連データの欄F4等が縦方向に順に配列されている。上記品目関連データは、1品目毎に改行がなされて印刷されている。これらの点に着目されて、特許請求の範囲に記載された本願発明は発明されたものである。
【0010】
上記構成のレシート処理装置によれば、レシートから得られたテキストデータから、文字列選択手段により、所定の文字列が選択されて、行位置検出手段により、その選択された所定の文字列が含まれる行位置が検出される。そして、品目関連データ抽出手段により、その検出された行位置に基づいて定まる前記テキストデータ上の所定の行範囲から行を単位とするラインデータが順に選択され、該ラインデータから品目関連データが抽出される。例えば、図1の例では、所定の文字列を「小計」とすることで、「小計」の行位置より上部の所定の行範囲が品目関連データの欄F3であることがわかる。しかも、品目関連データの欄F3に印刷される各品目関連データは、1行に複数品目が印刷されることがないことから、その行範囲から選択されたラインデータから品目関連データを容易に抽出することができる。このフォーマットの規則性は、レシートがロール紙をカットしたものに移行してきていることから、近年では大部分のレシートに当てはまる。したがって、上記レシート処理装置によれば、大多数のレシートから品目関連データを確実に作成することができる。この結果、実用性に優れている。
【0014】
また、2位置から、品目関連データが記載された行範囲を見つけることができることから、作成する品目関連データの精度をより高めることができる。
【0015】
前記第1の文字列は、日付または時刻を示す文字列であり、前記第2の文字列は、各品目の金額の合計を意味する文字列である構成とすることができる。これにより、品目関連データの欄を容易にみつけることができる。
上記レシート処理装置において、前記品目関連データ抽出手段は、前記第2の行位置検出手段により検出された行位置から順に上方に向かって前記ラインデータを選択する手段を備える構成とすることができる。これにより、品目関連データを容易に抽出することができる。
【0016】
この発明のレシート処理方法は、
レシートから家計簿処理に必要となるレシートデータを作成するレシート処理方法であって、
(a)レシートの画像を読み取るステップと、
(b)前記レシートの画像から文字を認識してテキストデータを生成するステップと、
(c)前記テキストデータから前記レシートデータを抽出するステップと
を備え、
前記ステップ(c)は、
(c−1)前記テキストデータから第1の文字列を選択し、該選択された第1の文字列が含まれる行が前記テキストデータ上で何行目にあたるかを示す第1の行位置を検出するステップと、
(c−2)前記テキストデータから前記第1の文字列とは相違する第2の文字列を選択し、該選択された第2の文字列が含まれる行が前記テキストデータ上で何行目にあたるかを示す第2の行位置を検出するステップと、
(c−3)前記ステップ(b)により検出された1シート分のテキストデータから行を単位とするラインデータを、前記第1の行位置から前記第2の行位置までの行範囲にわたって順に選択して、該ラインデータから品目に関わるデータを抽出するステップと
を備えることを特徴としている。
【0017】
この発明のコンピュータプログラムは、
レシートから家計簿処理に必要となるレシートデータを作成する処理をコンピュータに実行させるためのコンピュータプログラムであって、
(a)レシートの画像を読み取る機能と、
(b)前記レシートの画像から文字を認識してテキストデータを生成する機能と、
(c)前記テキストデータから前記レシートデータを抽出する機能と
を実現するとともに、
前記機能(c)は、
(c−1)前記テキストデータから第1の文字列を選択し、該選択された第1の文字列が含まれる行が前記テキストデータ上で何行目にあたるかを示す第1の行位置を検出する機能と、
(c−2)前記テキストデータから前記第1の文字列とは相違する第2の文字列を選択し、該選択された第2の文字列が含まれる行が前記テキストデータ上で何行目にあたるかを示す第2の行位置を検出する機能と、
(c−3)前記ステップ(b)により検出された1シート分のテキストデータから行を単位とするラインデータを、前記第1の行位置から前記第2の行位置までの行範囲にわたって順に選択して、該ラインデータから品目に関わるデータを抽出する機能と
を備えることを特徴としている。
【0018】
上記構成のレシート処理方法およびコンピュータプログラムは、上記レシート処理装置と同様な作用・効果を有しており、大多数のレシートについての品目関連データを確実に作成することができ、実用性に優れているという効果を奏する。
【0019】
この発明の記録媒体は、この発明のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体を特徴としている。この記録媒体は、この発明の各コンピュータプログラムと同様な作用・効果を有している。
【0020】
【発明の他の態様】
この発明は、以下のような他の態様も含んでいる。その第1の態様は、この発明のコンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様である。この第1の態様では、コンピュータプログラムをコンピュータネットワーク上のサーバなどに置き、通信経路を介して、必要なプログラムをコンピュータにダウンロードし、これを実行することで、上記の方法や装置を実現することができる。
【0021】
第2の態様は、
レシートの画像を読み取る画像読取手段と、
前記レシートの画像からロゴを表わすパーツ画像を切り出すロゴ切出手段と、
前記切り出したパーツ画像を、画像を表示する画像表示手段に表示させる表示制御手段と、
使用者の操作に従って、前記パーツ画像に対応する店名を入力する入力手段と、
前記パーツ画像を前記入力手段で入力された店名とともに管理するデータ管理手段と
を備えることを特徴とするレシート処理装置としての態様である。
【0022】
【発明の実施の形態】
本発明の実施の形態を実施例に基づき説明する。この実施例を、次の順序に従って説明する。
A.装置の構成:
B.コンピュータ処理:
C.作用・効果
D.他の実施形態:
【0023】
A.装置の構成:
図2は、この発明の第1実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。このコンピュータシステムは、いわゆるパーソナルコンピュータ(以下、単にコンピュータと呼ぶ)を中心に備え、その周辺にCRTディスプレイ12およびレシートスキャナ14を備える。コンピュータは、コンピュータ本体16とキーボード18とマウス20を備える。なお、このコンピュータ本体16には、CD−ROM22の内容を読み取るCDドライブ24が搭載されている。レシートスキャナ14は、レシートを光学的にスキャンして、レシートRの画像を読み取る画像読取用の装置である。このレシートスキャナ14は、読取機構をレシートRのサイズに合わせたレシート専用のものである。なお、レシート専用で必ずしもある必要はなく、汎用的なイメージスキャナを用いた構成とすることもできる。
【0024】
コンピュータ本体16は、中央演算処理装置としてのCPU30を中心にバスにより相互に接続されたROM31、RAM32、表示画像メモリ33、マウスインタフェース34、キーボードインタフェース35、CDC36、HDC37、CRTC38、入出力機用インタフェース40およびI/Oポート41を備える。ROM31は、内蔵されている各種プログラム等を記憶する読み出し専用のメモリである。RAM32は、各種データ等を記憶する読み出し・書込み可能なメモリである。表示画像メモリ33は、CRTディスプレイ12に表示する画像の画像データを記憶するメモリである。
【0025】
マウスインタフェース34は、マウス20とのデータ等のやり取りを司るインタフェースである。キーボードインタフェース35は、キーボード18からのキー入力を司るインタフェースである。CDC36は、CDドライブ(CDD)24を制御するCDコントローラである。HDC37は、ハードディスクドライブ(HDD)42を制御するハードディスクコントローラである。HDD42には、後述するコンピュータプログラムや、後述する文字認識に用いられる文字辞書等が予め記憶されている。
【0026】
CRTC38は、表示画像メモリ33に記憶される表示画像データに基づいてCRTディスプレイ12における画像の表示を制御するCRTコントローラである。入出力機用インタフェース40は、外部に接続された入出力機器、この実施例ではレシートスキャナ14へのデータの入出力を制御するインタフェースである。I/Oポート41は、シリアル出力のポートを備えており、モデム44に接続されており、このモデム44を介して、公衆電話回線46に接続されている。コンピュータ本体16は、モデム44を介して、外部のネットワークに接続されており、特定のサーバ47に接続可能となっている。
【0027】
このコンピュータシステムでは、レシートスキャナ14で取り込んだ画像(以下、スキャン画像と呼ぶ)から家計簿処理に必要となるレシートデータを作成するレシート処理用ソフトウェアが、CD−ROM22に予め格納されており、所定のインストールプログラムを起動することで、CDドライブ24からコンピュータ本体16にインストールされる。このインストールされたコンピュータプログラムは、HDD42に記憶されており、所定の起動命令を受けたときに、RAM32の所定の領域にロードされる。また、CD−ROM22には、家計簿ソフトウェアが格納されており、同様に、CDドライブ24からHDD42にインストールされる。この家計簿ソフトウェアは、上記レシート処理用ソフトウェアの起動とともに起動される。
【0028】
上記レシート処理用ソフトウェア(コンピュータプログラム)をCPU30が実行することによって本発明の各種構成要件は実現される。このコンピュータプログラムは、前述したように、CD−ROM22に格納されたものであるが、これに替えて、フロッピィディスク、光磁気ディスク、ICカード等の他の携帯型記録媒体(可搬型記録媒体)に格納された構成としてもよい。また、前述したコンピュータプログラムは、外部のネットワークに接続される特定のサーバ47から、ネットワークを介して提供されるプログラムデータをダウンロードして、RAM32またはHDD42に転送することにより得るようにすることもできる。なお、上記ネットワークとしては、インターネットであってもよく、特定のホームページからダウンロードして得たコンピュータプログラムであってもよい。あるいは、電子メールの添付ファイルの形態で供給されたコンピュータプログラムであってもよい。
【0029】
以上説明したハードウェア構成を有するコンピュータシステムによるレシート処理用ソフトウェアに従う制御処理の様子について次に説明する。図3は、コンピュータ本体16によって実行されるレシート処理用ソフトウェア50に従う処理の様子を示すブロック図である。
【0030】
図3に示すように、コンピュータ本体16の内部で動作しているレシート処理用ソフトウェア50によれば、まず、画像取込モジュール51によりスキャナドライバ60を動作させてレシートスキャナ14からレシートRの画像(スキャン画像)を取り込む処理を行なう。次いで、画像取込モジュール51によって取り込まれたスキャン画像についての文字認識を、文字認識モジュール52によって行なう。この文字認識モジュール52によって、レシートRに記載された文字列のデータ(テキストデータ)が得られる。
【0031】
続いて、文字認識モジュール52により得られたテキストデータから家計簿処理に必要となるレシートデータを、レシートデータ抽出モジュール53によって抽出する。レシートデータ抽出モジュール53の働きは、詳しくは、次のようなものである。まず、文字認識モジュール52により得られたテキストデータから、「小計」の文字列と、日付を示す文字列とを、文字列選択部53aによりそれぞれ選択し、次いで、その「小計」の文字列が含まれる行と、日付を示す文字列の含まれる行が、前記テキストデータ上でそれぞれ何行目にあたるかを示す2つの行位置を、行位置検出部53bにより検出する。続いて、その検出された2つの行位置に基づいて定まるテキストデータ上の所定の行範囲から行を単位とするラインデータを順に選択して、該ラインデータから品目に関わるデータを、品目関連データ抽出部53cにより抽出する。この抽出した品目に関わるデータ(品目関連データ)は、レシートデータの一部として、家計簿ソフトウェア70に送られる。ここで、品目関連データとは、品目、品数、金額等のデータである。
【0032】
B.コンピュータ処理:
コンピュータ本体16のCPU30でレシート処理用ソフトウェア50を実行することで、上述した各モジュール51〜53を実現している。レシート処理用ソフトウェア50に従う制御処理について、以下詳細に説明する。図4は、この制御処理のルーチンを示すフローチャートである。このルーチンは、レシートスキャナ14にレシートRがセットされたときに実行される。
【0033】
図示するように、処理が開始されると、CPU30は、まず、レシートRをスキャンするスキャン処理を実行する(ステップS100)。詳細には、CPU30は、スキャナドライバ60を動作させて、レシートRがセットされたレシートスキャナ14からレシートRの画像を示すスキャン画像データを取り込む。
【0034】
次いで、CPU30は、ステップS100のスキャン処理により取り込まれたスキャン画像データから文字を認識してテキストデータを生成する文字認識処理を実行する(ステップS200)。この文字列認識処理は、HDD42に予め用意した文字辞書(このレシート処理用ソフトウェア50で用意されている)の各文字と、スキャン画像データで表わされる各文字についての画像とを比較し、一致度の最も高い文字を認識結果とする周知の技術であり、ここでは詳しい説明は省略する。
【0035】
続いて、CPU30は、ステップS200により得られたテキストデータから、家計簿処理に必要となるレシートデータを抽出するレシートデータ抽出処理を実行する(ステップS300)。この抽出されたレシートデータは、RAM32に一旦記憶される。その後、その記憶されたレシートデータを、家計簿ソフトウェア70に転送するレシートデータ転送処理を行なう(ステップS400)。このレシートデータ転送処理は、ステップS300により記憶されたレシートデータを、家計簿ソフトウェア70のデータフォーマットに併せて、家計簿ソフトウェア70側に自動的に送るものである。ステップS400の実行後、このレシート処理のルーチンを終了する。
【0036】
図5ないし図6は、ステップS300のレシートデータ抽出処理の詳細を示すフローチャートである。図5に示すように、このレシートデータ抽出処理のルーチンに処理が移行すると、CPU30は、まず、ステップS200により得られたテキストデータから日付を示す文字列を選択して(ステップS310)、その日付の文字列が含まれる行が、そのテキストデータ上で何行目にあたるかを判定して、その値を行位置L1としてRAM32に保存する(ステップS320)。
【0037】
次いで、CPU30は、ステップS200により得られたテキストデータから「小計」の文字列を選択して(ステップS330)、その「小計」の文字列が含まれる行が、そのテキストデータ上で何行目にあたるかを判定して、その値を行位置L2としてRAM32に保存する(ステップS340)。なお、ステップS310「小計」の文字列が見つからなかった場合には、「小計」の文字列に替えて、「合計」の文字列等、他の金額の合計を意味する文字列を選択するものとする。
【0038】
ステップS340の実行後、CPU30は、ステップS340で保存した「小計」の文字列の行位置L2の値を、変数Sにセットする(ステップS350)。次いで、CPU30は、変数Sを値1だけデクリメントすることで、レシート上の処理の対象となる行を1行ずつ順に上に向かって移動する(ステップS360)。その後、CPU30は、変数Sで定まる行数のライン位置は、空白であるか否かを判別して(ステップS370)、ここで、否定判別、すなわち空白でないと判別されると、その変数Sが、ステップS320で保存された日付の行位置L1以下であるか否かを判別する(ステップS380)。このステップS380は、変数Sで定まる行数のライン位置が、日付の位置またはその日付の位置より上方に達したか否かを判別するものである。
【0039】
ステップS370で否定判別されると、CPU30は、ステップS390に処理を進める。ステップS390では、ステップS200により得られたテキストデータから、変数Sで定まる行数のライン位置のテキストデータ(ラインデータ)を選択して、この選択したラインデータから、品目関連データを抽出して、その品目関連データをRAM32に保存する処理を行なう。ここで、品目関連データとは、品目に関わるデータであり、詳細には、「品目」、「品数」、「金額」の各データからなる。なお、ここでは、選択したラインデータから品目関連データを抽出すると述べたが、実際には、得られたテキストデータをスペースの部分で区分けすることで、「品目」、「品数」、「金額」の各データを得ることができる。
【0040】
図1に示すように、レシートRは、品数が1個の場合には、その品数の印刷が省略されている場合があるが、この場合には、「品数」のデータは値1とする。また、図1に示すように、品数が複数となる場合には、「単価」を印刷する関係から、2行でもって、1品目についての品目関連データが印刷されている場合があるが、この場合には、2行分のラインデータを抽出して、その2行分から、一品目についての「品目」、「品数」、「単価」、「金額」のデータを抽出する。このとき、変数Sは、値1だけさらに減算しておく必要がある。なお、「品目」が極端に長い文字列である場合にも、複数行で一つの品目関連データが示される場合があるが、こうした場合にも同様な処理を行なう。
【0041】
ステップS390の実行後、CPU30は、ステップS360に処理を戻して、ステップS360ないしS390の処理を繰り返し実行する。ステップS360ないしS390の処理を繰り返し実行することで、小計の行位置L2から1行ずつ順に上に向かって品目関連データが抽出されることになる。そうして、処理対象の行が日付の行位置L1に達すると、このレシートRからの品目関連データの抽出は終了したとして、図6のステップS400に処理を移行する。
【0042】
なお、図5のステップS370で、変数Sで定まる行数のライン位置が空白であると判別されると、品目関連データの抽出を行なうことなしに、ステップS360に処理を戻す。
【0043】
すなわち、ステップS350ないしS390の処理によれば、レシートRにおいて、日付の印刷された行から小計の印刷された行までの行範囲にわたって、順に1行ずつ品目関連データが抽出されることになる。なお、この実施例では、前述したように、小計の行位置L2から上に向かって品目関連データの抽出を行なっていたが、これに替えて、日付の行位置L1から下に向かって、「小計」の行位置L2まで品目関連データの抽出を行なう構成としてもよい。
【0044】
図6のステップS400では、ステップS200により得られたテキストデータから、内税か外税かを判断可能な文字列を選択する。具体的には、この文字列は、「内税」、「外税」、「消費税」等が該当する。その後、CPU30は、ステップS400で判別した文字列に基づいて、内税/外税フラグに値1(=外税)または0(=内税)をセットする(ステップS402)。
【0045】
ステップS402の実行後、CPU30は、ステップS404に処理を進めて、ステップS100によるスキャン処理により取り込まれたスキャン画像データ中に、ロゴが含まれているか否かを判別する。ここでいう「ロゴ」とは、店名を独特の字体・デザインで表したものである。ステップS404では、具体的には、スキャン画像データの中に、ステップS200で文字認識に失敗した比較的大きなパーツ画像が存在するか否かから判別を行なう。
【0046】
ここで、スキャン画像データ中に、ロゴが含まれると判別されたときには、CPU30は、スキャン画像データの中からロゴを表わすパーツ画像を切り出して(ステップS410)、そのパーツ画像をCRTディスプレイ12に表示する処理を行なう(ステップS420)。その後、キーボード18からの入力データに従って、パーツ画像に対応する店名を入力する処理を行なう(ステップS430)。操作者は、CRTディスプレイ12に表示されたロゴのパーツ画像を見て、そのロゴに対応する店名をキーボード18から入力するが、ステップS430では、このキーボード18からの入力データを取り込んで店名データを入力する。その後、ステップS410で切り出したロゴのパーツ画像とステップS430で入力した店名データとを対にして、HDD42に用意したロゴ管理テーブルTBLに登録する(ステップS440)。
【0047】
図7は、ロゴ管理テーブルTBLの一例を示す説明図である。図示するように、ロゴ管理テーブルTBLは、店名のテキストデータを記憶する第1のフィールドFL1と、ロゴを表わすパーツ画像LPのHDD42上の格納アドレスを記憶する第2のフィールドFL2とを対にしたレコードを複数備えた構造である。ステップS340では、ステップS310で切り出したロゴのパーツ画像LPのデータをHDD42に保存するとともに、ロゴ管理テーブルTBLに新たなレコードを追加して、その新たなレコードの第1フィールドFL1に、ステップS330で取り込んだ店名データを保存し、第2フィールドFL2に、HDD42上のそのパーツ画像LPの保存先である格納アドレスを保存する。
【0048】
図6に戻り、ステップS440の実行後、ステップS460に処理を進める。一方、ステップS404で否定判別された場合には、ステップS450に処理を進めて、ステップS200により得られたテキストデータから店名のテキストデータを抽出する。詳細には、ステップS200により得られたテキストデータの中で最も上方にある文字列を、店名データとして抽出する。なお、この抽出結果は、CRTディスプレイ12に表示して、操作者により操作されたキーボード18からの入力データにより、修正可能な構成とすることが好ましい。ステップS450の実行後、ステップS460に処理を進める。
【0049】
ステップS460では、ステップS370で得られた品目関連データと、ステップS402で得られた内税/外税フラグと、ステップS430またはS450で得られた店名データとを1組にして、レシートデータを作成する。ステップS350の実行後、「リターン」に抜けて、このレシートデータ抽出処理のルーチンを終了する。
【0050】
こうした構成の制御処理のうちのステップS310、S330の処理が、文字列選択部53a(図3)に対応し、ステップS320、S340の処理が、行位置検出部53b(図3)に対応し、ステップS350ないしS390の処理が、品目関連データ抽出部53(図3)に対応する。
【0051】
C.作用・効果
以上のように構成された本実施例によれば、レシートRを光学的に読み込んで得られたスキャン画像データから、品目関連データと店名データを備えるレシートデータを自動的に作成することができる。品目関連データは、スキャン画像から文字認識して得られたテキストデータ上において、小計の行から日付の行までの行範囲にわたって順に1行ずつラインデータを選択して、該ラインデータから抽出される。ロール紙からなる近年の大多数のレシートRは、日付の行と小計の行との間に、品目関連データが1品毎に改行して印刷されていることから、この実施例によれば、大多数のレシートについて品目関連データを確実に作成することができる。したがって、実用性に優れているという効果を奏する。
【0052】
特に、この実施例では、小計、日付の2つの位置とから品目関連データが記載された行範囲が見つけられることから、作成する品目関連データの精度をより高めることができる。
【0053】
この実施例では、レシートRにロゴが印刷されている場合には、ロゴのパーツ画像とともに店名をロゴ管理テーブルTBLへ登録することができる。このために、ロゴの管理が可能となる。
【0054】
D.他の実施形態:
第2実施例について次に説明する。この第2実施例は、第1実施例と比較して、相違するのは、コンピュータ処理の内のレシートデータ抽出処理の構成であり、装置およびその他のコンピュータ処理については同一である。以下、この第2実施例のレシートデータ抽出処理について詳細に説明する。
【0055】
図8は、第2実施例におけるレシートデータ抽出処理を示すフローチャートである。図示するように、CPU30は、まず、ステップS200(第1実施例参照)により得られたテキストデータから「小計」の文字列を選択して(ステップS510)、その「小計」の文字列が含まれる行が、そのテキストデータ上で何行目にあたるかを判定して、その値を行位置L2としてRAM32に保存する(ステップS520)。次いで、ステップS520で保存した「小計」の文字列の行位置L2の値を、変数Sにセットして(ステップS530)、その変数Sを値1だけデクリメントする(ステップS540)。ステップS510ないしS540の処理は、第1実施例におけるステップS330ないしS360と同一である。
【0056】
ステップS540の実行後、CPU30は、変数Sで定まる行数のライン位置は、空白であるか否かを判別して(ステップS550)、ここで、否定判別、すなわち空白でないと判別されると、ステップS560に処理を進める。ステップS560では、CPU30は、第1実施例のステップS390と同様な、品目関連データの抽出・保存を行なう処理を実行する。ステップS560の実行後、CPU30は、ステップS540に処理を戻して、ステップS540ないしS560の処理を繰り返し実行する。ステップS540ないしS560の処理を繰り返し実行することで、小計の行位置L2から1行ずつ順に上に向かって、空白の行が見つかるまで品目関連データが抽出されることになる。そうして、ステップS550で空白の行が見つかると、このレシートRからの品目関連データの抽出は終了したとして、第1実施例と同一のステップS400〜S460の処理を行ない、その後、「リターン」に抜けて、このレシートデータ抽出処理のルーチンを終了する。
【0057】
以上のように構成されたこの第2実施例によれば、レシートRを光学的に読み込んで得られたスキャン画像から文字認識して得られたテキストデータ上において、「小計」の文字列を含む行を検出して、その行からテキストデータの上方に向かって順に1行ずつラインデータを選択して、空白行が見つかるまで品目関連データの抽出がなされる。ロール紙からなる近年の大多数のレシートRは、「小計」の行の上部に1行毎(ときには複数行にわたることはあるが、1品毎に改行はされる)に品目関連データが印刷されていることから、この実施例によれば、大多数のレシートについて品目関連データを確実に作成することができる。特にこの第2実施例では、日付データの欄F2の抽出が不要であることから、より一層簡単に、品目関連データを自動抽出することができる。
【0058】
なお、本発明は上記の実施例や実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲において種々なる態様にて実施することが可能であり、例えば次のような変形も可能である。
【0059】
(1)前記第1または第2実施例では、「小計」または「合計」等の各品目の金額の合計を意味する文字を基準にして、品目関連データが印刷された行範囲を決めていたが、これに替えて、他の文字列、例えば「外税」や「消費税」等の文字列を基準にして前記行範囲を決める構成とすることもできる。
【0060】
(2)前記第1実施例では、日付の行位置を検出するように構成していたが、これに替えて、時刻の行位置を検出する構成とすることもできる。一般的なレシートは、日付が記載された行に、時刻も記載されている場合も多い。こうした場合に、日付が汚れや印刷落ち等によって読み取り難いとき、日付に替えて時刻を検出する構成とすることができる。また、最初から時刻だけを検出する構成とすることもできるし、日付と時刻の双方を検出することでその行の検出精度を高める構成とすることもできる。
【0061】
(3)前記第1または第2実施例では、品目関連データを、「品目」、「品数」、「金額」の各データとして、「内税/外税」の判断は、レシート毎に判断する構成であった。これは、読み取ろうとするレシート自体が、図1に示すように、小計に対する「外税」を表示するものであるからである。これに対して、店舗によって外税と内税の商品が混在するような場合には、レシートに表示された各品目毎に、「内」、「外」、「ウ」、「ソ」、「込」、「非」、「T」等の内税か外税かを判断可能な文字が表示されているレシートがある。このような場合には、品目関連データを、「品目」、「品数」、「金額」に加えて、「内税/外税」を判断するデータを含むものとして、ステップS390(またはステップS560)で、「内税/外税」を判断するデータの抽出、保存も共に行なう構成とすればよい。なお、この場合には、ステップS400およびS402の処理は不要となる。
【0062】
(4)前記第1または第2実施例では、レシート処理用ソフトウェア50から家計簿ソフトウェア70に自動的にレシートデータを転送するように構成されていたが、これに替えて、レシート処理用ソフトウェア50からレシートデータを所定のファイル形式(例えばCSV形式)にてハードディスク等の記憶手段に出力する構成とすることもできる。この構成によれば、ファイル形式を汎用的なものとすることで、家計簿ソフトウェア70ばかりでなく種々のソフトウェア70にレシートデータを転送することが可能となる。
【0063】
(5)前記第1または第2実施例では、レシートの画像を読み取る画像読取手段として、レシートスキャナ14を備えていたが、これに替えて、スキャナを用いて予め読み取ったレシートの画像データを外部から入力する構成を画像読取手段とすることもできる。
【0064】
(6)前記第1または第2実施例では、レシート処理用ソフトウェアは、外部のネットワークに接続される特定のサーバ47から、ネットワークを介してダウンロード可能であるとしていたが、クライアントは、このようにプログラムをダウンロードして利用する形態の他、ASP(Application Service Provider)のように、サーバからサービスのみの提供を受ける形態とすることもできる。すなわち、サーバが、本発明のレシート処理装置を構成し、クライアントはそのサービスの提供を受ける。具体的には、クライアントの作業者は、レシートスキャナ(汎用のイメージスキャナやカメラ付き携帯電話でも可)を用いてレシートを写し、得られた画像をサーバに送信することによって、レシートデータから抽出したレシートデータをサーバ側に登録する構成である。この構成によれば、作業者は、プログラムのインストールといった作業的および資源的な負担を強いることもなしに、レシートデータを手軽に集計することができる。
【図面の簡単な説明】
【図1】 レシートの一例を示す説明図である。
【図2】 この発明の第1実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。
【図3】 コンピュータ本体16によって実行されるレシート処理用ソフトウェア50に従う処理の様子を示すブロック図である。
【図4】 レシート処理用ソフトウェアに従う制御処理のルーチンを示すフローチャートである。
【図5】 レシートデータ抽出処理の前半部分を示すフローチャートである。
【図6】 レシートデータ抽出処理の後半部分を示すフローチャートである。
【図7】 ロゴ管理テーブルTBLの一例を示す説明図である。
【図8】 第2実施例におけるレシートデータ抽出処理を示すフローチャートである。
【符号の説明】
12…CRTディスプレイ
14…レシートスキャナ
16…コンピュータ本体
18…キーボード
20…マウス
30…CPU
31…ROM
32…RAM
33…表示画像メモリ
34…マウスインタフェース
35…キーボードインタフェース
36…CDC
37…HDC
38…CRTC
40…入出力機用インタフェース
41…I/Oポート
42…ハードディスクドライブ
44…モデム
46…公衆電話回線
47…サーバ
50…レシート処理用ソフトウェア
51…画像取込モジュール
52…文字認識モジュール
53…レシートデータ抽出モジュール
53a…文字列選択部
53b…行位置検出部
53c…品目関連データ抽出部
60…スキャナドライバ
70…家計簿ソフトウェア
Claims (6)
- レシートの画像を読み取る画像読取手段と、
前記レシートの画像から文字を認識してテキストデータを生成する文字認識手段と、
前記テキストデータから家計簿処理に必要となるレシートデータを抽出するレシートデータ抽出手段と
を備えるレシート処理装置において、
前記レシートデータ抽出手段は、
前記テキストデータから第1の文字列を選択し、該選択された第1の文字列が含まれる行が前記テキストデータ上で何行目にあたるかを示す第1の行位置を検出する第1の行位置検出手段と、
前記テキストデータから前記第1の文字列とは相違する第2の文字列を選択し、該選択された第2の文字列が含まれる行が前記テキストデータ上で何行目にあたるかを示す第2の行位置を検出する第2の行位置検出手段と、
前記文字認識手段により検出された1シート分のテキストデータから行を単位とするラインデータを、前記第1の行位置から前記第2の行位置までの行範囲にわたって順に選択して、該ラインデータから品目に関わるデータを抽出する品目関連データ抽出手段と
を備えることを特徴とするレシート処理装置。 - 請求項1に記載のレシート処理装置であって、
前記第1の文字列は、日付または時刻を示す文字列であり、
前記第2の文字列は、各品目の金額の合計を意味する文字列である、レシート処理装置。 - 前記品目関連データ抽出手段は、前記第2の行位置検出手段により検出された行位置から順に上方に向かって前記ラインデータを選択する手段を備える請求項2に記載のレシート処理装置。
- レシートから家計簿処理に必要となるレシートデータを作成するレシート処理方法であって、
(a)レシートの画像を読み取るステップと、
(b)前記レシートの画像から文字を認識してテキストデータを生成するステップと、
(c)前記テキストデータから前記レシートデータを抽出するステップと
を備え、
前記ステップ(c)は、
(c−1)前記テキストデータから第1の文字列を選択し、該選択された第1の文字列が含まれる行が前記テキストデータ上で何行目にあたるかを示す第1の行位置を検出するステップと、
(c−2)前記テキストデータから前記第1の文字列とは相違する第2の文字列を選択し、該選択された第2の文字列が含まれる行が前記テキストデータ上で何行目にあたるかを示す第2の行位置を検出するステップと、
(c−3)前記ステップ(b)により検出された1シート分のテキストデータから行を単位とするラインデータを、前記第1の行位置から前記第2の行位置までの行範囲にわたって順に選択して、該ラインデータから品目に関わるデータを抽出するステップと
を備えることを特徴とするレシート処理方法。 - レシートから家計簿処理に必要となるレシートデータを作成する処理をコンピュータに実行させるためのコンピュータプログラムであって、
(a)レシートの画像を読み取る機能と、
(b)前記レシートの画像から文字を認識してテキストデータを生成する機能と、
(c)前記テキストデータから前記レシートデータを抽出する機能と
を実現するとともに、
前記機能(c)は、
(c−1)前記テキストデータから第1の文字列を選択し、該選択された第1の文字列が含まれる行が前記テキストデータ上で何行目にあたるかを示す第1の行位置を検出する機能と、
(c−2)前記テキストデータから前記第1の文字列とは相違する第2の文字列を選択し、該選択された第2の文字列が含まれる行が前記テキストデータ上で何行目にあたるかを示す第2の行位置を検出する機能と、
(c−3)前記ステップ(b)により検出された1シート分のテキストデータから行を単位とするラインデータを、前記第1の行位置から前記第2の行位置までの行範囲にわたって順に選択して、該ラインデータから品目に関わるデータを抽出する機能と
を備えるコンピュータプログラム。 - 請求項5に記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002328600A JP4052095B2 (ja) | 2002-11-12 | 2002-11-12 | レシート処理装置およびその方法、並びにコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002328600A JP4052095B2 (ja) | 2002-11-12 | 2002-11-12 | レシート処理装置およびその方法、並びにコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004164218A JP2004164218A (ja) | 2004-06-10 |
JP4052095B2 true JP4052095B2 (ja) | 2008-02-27 |
Family
ID=32806864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002328600A Expired - Fee Related JP4052095B2 (ja) | 2002-11-12 | 2002-11-12 | レシート処理装置およびその方法、並びにコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4052095B2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4754236B2 (ja) * | 2005-02-21 | 2011-08-24 | 株式会社リコー | 情報処理装置、取得方法、及び取得プログラム |
JP5204208B2 (ja) * | 2010-12-21 | 2013-06-05 | 株式会社富士通マーケティング | レシートデータ照合支援装置およびレシートデータ照合支援プログラム |
JP5810568B2 (ja) * | 2011-03-17 | 2015-11-11 | 富士通株式会社 | 情報処理装置、プログラム、およびデータの抽出方法 |
JP5202677B2 (ja) * | 2011-04-08 | 2013-06-05 | 株式会社富士通マーケティング | レシートデータ認識装置およびそのプログラム |
JP5216890B2 (ja) * | 2011-04-15 | 2013-06-19 | 株式会社富士通マーケティング | レシートデータ認識装置およびそのプログラム |
CN102968610B (zh) * | 2011-08-31 | 2016-03-30 | 富士通株式会社 | 收据图像处理方法和设备 |
JP6136837B2 (ja) * | 2013-10-08 | 2017-05-31 | 富士通株式会社 | データ処理プログラム、およびデータ処理方法 |
KR101516684B1 (ko) * | 2013-12-19 | 2015-05-11 | 주식회사 지트레이스 | Ocr을 이용한 문서 변환 서비스 방법 |
JP6098628B2 (ja) | 2014-12-26 | 2017-03-22 | ブラザー工業株式会社 | 画像処理プログラム、画像処理方法、及び画像処理装置 |
JP6115584B2 (ja) * | 2015-03-30 | 2017-04-19 | ブラザー工業株式会社 | プログラム及び管理装置 |
JP6756102B2 (ja) | 2015-12-28 | 2020-09-16 | セイコーエプソン株式会社 | 情報処理装置、情報処理装置の情報処理方法、及び、情報処理システム |
JP7059586B2 (ja) * | 2017-11-24 | 2022-04-26 | セイコーエプソン株式会社 | 情報処理装置、情報処理装置の制御方法、及び、プログラム |
JP7453731B2 (ja) | 2021-04-15 | 2024-03-21 | ネイバー コーポレーション | 半構造化ドキュメントから情報を取り出す方法及びシステム |
-
2002
- 2002-11-12 JP JP2002328600A patent/JP4052095B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004164218A (ja) | 2004-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4052095B2 (ja) | レシート処理装置およびその方法、並びにコンピュータプログラム | |
US7516207B2 (en) | Data communication system, and server and client computer constructing said system | |
JP2003308480A (ja) | オンライン手書き文字パターン認識編集装置及び方法並びに当該方法を実現するコンピュータ実行可能なプログラム | |
WO2000052645A1 (fr) | Dispositif de traitement d'image document, procede d'extraction de titre de document et procede d'information d'etiquetage de document | |
CN109961069A (zh) | 图像处理装置以及存储介质 | |
JP6743445B2 (ja) | 携帯型情報装置およびプログラム | |
JP2009064439A (ja) | カスタム化マルチメディア・グリーティング・カードを生成するシステムおよび方法 | |
JP2008059157A (ja) | 書類確認支援システム、書類確認支援装置およびプログラム | |
US20040017940A1 (en) | Document information input apparatus, document information input method, document information input program and recording medium | |
JP4581684B2 (ja) | 進捗管理支援システム | |
JP4682747B2 (ja) | 文書処理装置、ルールデータ生成方法およびプログラム | |
JP4136282B2 (ja) | 画像処理装置及び画像処理方法並びに記憶媒体 | |
JP2008305278A (ja) | データ処理装置およびこれを備えた店頭端末機、データ処理プログラム | |
JP4817669B2 (ja) | データ処理装置、データ処理方法、及びプログラム | |
CN1892571B (zh) | 打印系统 | |
CN1892572A (zh) | 打印系统 | |
JP5243228B2 (ja) | 文字認識装置、文字認識装置の確認画面生成方法 | |
JP2001318941A (ja) | 情報処理装置および情報処理方法 | |
JP5233350B2 (ja) | 文書処理装置及び文書処理プログラム | |
JP6605165B1 (ja) | ファクシミリ文書管理支援システム | |
JP2008123446A (ja) | ログ情報管理システム、ログ情報管理装置、ログ情報管理方法及びログ情報管理プログラム | |
JP2000132542A (ja) | 情報処理装置およびその処理プログラムを記憶した記憶媒体 | |
JP2006323179A (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
JP2005092461A (ja) | データ編集装置及びその制御方法並びに制御プログラム | |
JPH0937045A (ja) | 電子図面情報管理システムとかかるシステムにおける入力図面の表裏認識方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050407 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070813 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070821 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071018 |
|
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: 20071113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071126 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101214 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101214 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111214 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |