(57)【要約】【課題】  第１及び第２の原画像データのうちの一方を利用して、出力データを生成するのか、第１及び第２の原画像データの双方を利用して、出力データを生成するのかを、第１及び第２の原画像データに基づいて適切に切り替え得る新規な技術を提供すること。【解決手段】  端末装置は、表面対象画像ＦＴＩ１（又はＦＴＩ２）を利用して、輝度値の最頻値Ｙｍａｘ１を決定し、裏面対象画像ＢＴＩ１（又はＢＴＩ２）を利用して、輝度値の最頻値Ｙｍａｘ２を決定する。端末装置は、最頻値Ｙｍａｘ１と最頻値Ｙｍａｘ２との差分が閾値Ｔｈ１よりも大きい場合に、表面スキャン画像データを利用して、出力データを生成し、最頻値Ｙｍａｘ１と最頻値Ｙｍａｘ２との差分が閾値Ｔｈ１以下である場合に、表面スキャン画像データと裏面スキャン画像データとの双方を利用して、出力データを生成する。【選択図】図６
2015195427.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
第１のオブジェクトを含む原稿がスキャンされることによって得られる第１の原画像データと、第２のオブジェクトを含む原稿がスキャンされることによって得られる第２の原画像データと、を取得する取得部であって、前記第１の原画像データによって表わされる第１の原画像は、前記第１のオブジェクトを示す第１のオブジェクト画像を含み、前記第２の原画像データによって表わされる第２の原画像は、前記第２のオブジェクトを示す第２のオブジェクト画像を含む、前記取得部と、
前記第１の原画像データを用いて得られる第１の対象画像データを利用して、第１の座標系内の第１の座標値を決定し、前記第２の原画像データを用いて得られる第２の対象画像データを利用して、前記第１の座標系内の第２の座標値を決定する座標値決定部であって、前記第１の座標値は、前記第１のオブジェクト画像で最も利用されている色に関係する値であり、前記第２の座標値は、前記第２のオブジェクト画像で最も利用されている色に関係する値である、前記座標値決定部と、
前記第１の座標系において、前記第１の座標値と前記第２の座標値との間の距離が閾値よりも大きい場合に、前記第１の原画像データと前記第２の原画像データとのうちの一方を利用して、第１の出力データを生成し、前記第１の座標値と前記第２の座標値との間の前記距離が前記閾値以下である場合に、前記第１の原画像データと前記第２の原画像データとの双方を利用して、前記第１の出力データとは異なる第２の出力データを生成する出力データ生成部と、
を備える画像処理装置。
【請求項２】
前記第１の対象画像データを構成する複数個の対象画素データは、前記第１のオブジェクト画像を表わす第１のオブジェクト画素データ群を含み、
前記第２の対象画像データを構成する複数個の対象画素データは、前記第２のオブジェクト画像を表わす第２のオブジェクト画素データ群を含み、
前記座標値決定部は、
前記第１のオブジェクト画素データ群が示す各画素値のうち、最高の出現頻度を有する画素値に一致する前記第１の座標値を決定し、
前記第２のオブジェクト画素データ群が示す各画素値のうち、最高の出現頻度を有する画素値に一致する前記第２の座標値を決定する、請求項１に記載の画像処理装置。
【請求項３】
前記座標値決定部は、
前記第１の対象画像データを構成する複数個の対象画素データのうちの少なくとも一部の各対象画素データが示す各画素値の出現頻度の分布を表わす第１のヒストグラムを生成し、前記第１のヒストグラムを利用して、前記第１の座標系で表現可能な最も広い画素値の範囲内の一部である所定範囲のうちの最高の出現頻度を有する画素値に関係する前記第１の座標値を決定し、
前記第２の対象画像データを構成する複数個の対象画素データのうちの少なくとも一部の各対象画素データが示す各画素値の出現頻度の分布を表わす第２のヒストグラムを生成し、前記第２のヒストグラムを利用して、前記所定範囲のうちの最高の出現頻度を有する画素値に関係する前記第２の座標値を決定する、請求項１又は２に記載の画像処理装置。
【請求項４】
前記第１の座標系は、輝度値を示す軸を含む座標系であり、
前記第１の原画像データを構成する複数個の原画素データのそれぞれは、前記第１の座標系とは異なる第２の座標系内の座標値として表現される画素値を示し、
前記第２の原画像データを構成する複数個の原画素データのそれぞれは、前記第２の座標系内の座標値として表現される画素値を示し、
前記画像処理装置は、さらに、
前記第１の原画像データを構成する前記複数個の原画素データを変換して、複数個の対象画素データによって構成される前記第１の対象画像データを生成し、前記第２の原画像データを構成する前記複数個の原画素データを変換して、複数個の対象画素データによって構成される前記第２の対象画像データを生成する変換部であって、前記第１の対象画像データを構成する前記複数個の対象画素データのそれぞれは、輝度値を含む画素値を示し、前記第２の対象画像データを構成する前記複数個の対象画素データのそれぞれは、輝度値を含む画素値を示す、前記変換部を備える、請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
前記画像処理装置は、さらに、
前記第１の対象画像データを構成する複数個の対象画素データのそれぞれのエッジ強度を決定し、前記第２の対象画像データを構成する複数個の対象画素データのそれぞれのエッジ強度を決定するエッジ強度決定部を備え、
前記座標値決定部は、
前記第１の対象画像データを構成する前記複数個の対象画素データのうち、エッジ強度が比較的に低い低強度画素データを利用せずに、エッジ強度が比較的に高い高強度画素データを利用して、前記第１の座標値を決定し、
前記第２の対象画像データを構成する前記複数個の対象画素データのうち、エッジ強度が比較的に低い低強度画素データを利用せずに、エッジ強度が比較的に高い高強度画素データを利用して、前記第２の座標値を決定する、請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記座標値決定部は、
前記第１の対象画像データを構成する前記複数個の対象画素データのうち、前記高強度画素データと、前記高強度画素データの近傍に存在する近傍画素データと、を利用して、前記第１の座標値を決定し、
前記第２の対象画像データを構成する前記複数個の対象画素データのうち、前記高強度画素データと、前記高強度画素データの近傍に存在する近傍画素データと、を利用して、前記第２の座標値を決定する、請求項５に記載の画像処理装置。
【請求項７】
前記出力データ生成部は、
前記第１の座標値と前記第２の座標値との間の前記距離が前記閾値よりも大きい場合に、前記第１の原画像と前記第２の原画像とのうちの一方の画像内の出力対象領域を含む第１の出力画像を表わす前記第１の出力データを生成し、
前記第１の座標値と前記第２の座標値との間の前記距離が前記閾値以下である場合に、前記第１の原画像内の第１の出力対象領域と前記第２の原画像内の第２の出力対象領域とが結合された結合領域を含む第２の出力画像を表わす前記第２の出力データを生成する、請求項１から６のいずれか一項に記載の画像処理装置。
【請求項８】
前記第１の原画像データと前記第２の原画像データとは、同じ原稿がスキャンされることによって得られるデータであり、
前記第１の原画像データは、所定方向から前記同じ原稿がスキャンされることによって得られるデータであり、
前記第２の原画像データは、前記所定方向の反対方向から前記同じ原稿がスキャンされることによって得られるデータである、請求項１から７のいずれか一項に記載の画像処理装置。
【請求項９】
前記同じ原稿が折り返されていない状態で、前記所定方向から前記同じ原稿の表面がスキャンされ、かつ、前記所定方向の反対方向から前記同じ原稿の裏面がスキャンされる第１の場合に、
前記第１の原画像は、前記同じ原稿の前記表面に含まれる前記第１のオブジェクトを示す前記第１のオブジェクト画像を含み、
前記第２の原画像は、前記同じ原稿の前記表面から前記裏面に透けている前記第２のオブジェクトを示す前記第２のオブジェクト画像を含み、
前記同じ原稿の表面の一部である第１の部分領域と、前記同じ原稿の前記表面の一部である第２の部分領域と、の間の境界で、前記同じ原稿が折り返されている状態で、前記所定方向から前記同じ原稿の前記表面の前記第１の部分領域がスキャンされ、かつ、前記所定方向の反対方向から前記同じ原稿の前記表面の前記第２の部分領域がスキャンされる第２の場合に、
前記第１の原画像は、前記同じ原稿の前記表面の前記第１の部分領域に含まれる前記第１のオブジェクトを示す前記第１のオブジェクト画像を含み、
前記第２の原画像は、前記同じ原稿の前記表面の前記第２の部分領域に含まれる前記第２のオブジェクトを示す前記第２のオブジェクト画像を含み、
前記画像処理装置は、さらに、
前記第１の場合に、前記第１の座標値と前記第２の座標値との間の前記距離が前記閾値よりも大きいと判断し、
前記第２の場合に、前記第１の座標値と前記第２の座標値との間の前記距離が前記閾値以下であると判断する判断部を備える、請求項８に記載の画像処理装置。
【請求項１０】
画像処理装置のためのコンピュータプログラムであって、
前記画像処理装置に搭載されるコンピュータに、以下の各処理、即ち、
第１のオブジェクトを含む原稿がスキャンされることによって得られる第１の原画像データと、第２のオブジェクトを含む原稿がスキャンされることによって得られる第２の原画像データと、を取得する取得処理であって、前記第１の原画像データによって表わされる第１の原画像は、前記第１のオブジェクトを示す第１のオブジェクト画像を含み、前記第２の原画像データによって表わされる第２の原画像は、前記第２のオブジェクトを示す第２のオブジェクト画像を含む、前記取得処理と、
前記第１の原画像データを用いて得られる第１の対象画像データを利用して、第１の座標系内の第１の座標値を決定し、前記第２の原画像データを用いて得られる第２の対象画像データを利用して、前記第１の座標系内の第２の座標値を決定する座標値決定処理であって、前記第１の座標値は、前記第１のオブジェクト画像で最も利用されている色に関係する値であり、前記第２の座標値は、前記第２のオブジェクト画像で最も利用されている色に関係する値である、前記座標値決定処理と、
前記第１の座標系において、前記第１の座標値と前記第２の座標値との間の距離が閾値よりも大きい場合に、前記第１の原画像データと前記第２の原画像データとのうちの一方を利用して、第１の出力データを生成し、前記第１の座標値と前記第２の座標値との間の前記距離が前記閾値以下である場合に、前記第１の原画像データと前記第２の原画像データとの双方を利用して、前記第１の出力データとは異なる第２の出力データを生成する出力データ生成処理と、
を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、第１の原画像データと第２の原画像データとを取得して、出力データを生成する画像処理装置を開示する。
【背景技術】
【０００２】
特許文献１には、スキャン対象の原稿が、両面原稿であるのか、片面原稿であるのか、を自動的に検知する技術が開示されている。この技術では、複写機は、原稿の表面の画像を読み込み、当該画像の各画素の濃度データを計測し、各画素の濃度データに基づいて濃度分布ヒストグラムを生成する。そして、複写機は、濃度分布ヒストグラムによって示されるピーク数が規定値より大きい場合には、スキャン対象の原稿が両面原稿であると判断し、原稿の裏面の画像を読み込み、原稿の表面及び裏面のそれぞれの画像の印刷を実行する。また、複写機は、濃度分布ヒストグラムによって示されるピーク数が規定値以下である場合には、スキャン対象の原稿が片面原稿であると判断し、原稿の裏面の画像を読み込まずに、原稿の表面の画像の印刷を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−７７６０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本明細書では、第１及び第２の原画像データのうちの一方を利用して、出力データを生成するのか、第１及び第２の原画像データの双方を利用して、出力データを生成するのかを、第１及び第２の原画像データに基づいて適切に切り替え得る新規な技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書によって開示される画像処理装置は、取得部と、座標値決定部と、出力データ生成部と、を備える。取得部は、第１のオブジェクトを含む原稿がスキャンされることによって得られる第１の原画像データと、第２のオブジェクトを含む原稿がスキャンされることによって得られる第２の原画像データと、を取得する。第１の原画像データによって表わされる第１の原画像は、第１のオブジェクトを示す第１のオブジェクト画像を含む。第２の原画像データによって表わされる第２の原画像は、第２のオブジェクトを示す第２のオブジェクト画像を含む。座標値決定部は、第１の原画像データを用いて得られる第１の対象画像データを利用して、第１の座標系内の第１の座標値を決定し、第２の原画像データを用いて得られる第２の対象画像データを利用して、第１の座標系内の第２の座標値を決定する。第１の座標値は、第１のオブジェクト画像で最も利用されている色に関係する値である。第２の座標値は、第２のオブジェクト画像で最も利用されている色に関係する値である。出力データ生成部は、第１の座標系において、第１の座標値と第２の座標値との間の距離が閾値よりも大きい場合に、第１の原画像データと第２の原画像データとのうちの一方を利用して、第１の出力データを生成し、第１の座標値と第２の座標値との間の距離が閾値以下である場合に、第１の原画像データと第２の原画像データとの双方を利用して、第１の出力データとは異なる第２の出力データを生成する。
【０００６】
上記の構成によると、画像処理装置は、第１の座標値と第２の座標値との間の距離が閾値よりも大きいのか否かに基づいて、第１及び第２の原画像データのうちの一方を利用して、第１の出力データを生成するのか、第１及び第２の原画像データの双方を利用して、第２の出力データを生成するのかを、適切に切り替え得る。このために、画像処理装置は、適切な出力データを生成し得る。
【０００７】
上記の画像処理装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も新規で有用である。
【図面の簡単な説明】
【０００８】
【図１】通信システムの構成を示す。
【図２】各ケースの各スキャン画像の一例を示す。
【図３】端末装置のドライバプログラムの処理のフローチャートを示す。
【図４】折り返し有無判断処理のフローチャートを示す。
【図５】折り返し有無判断処理で生成される各画像データの一例を示す。
【図６】各ケースの各ヒストグラムの一例を示す。
【図７】各ケースの各出力画像を生成する処理を説明するための図を示す。
【発明を実施するための形態】
【０００９】
（通信システム２の構成）
図１に示されるように、通信システム２は、スキャナＳＣと端末装置ＴＥとを備える。スキャナＳＣと端末装置ＴＥとは、ＬＡＮ（Local Area Networkの略）４を介して、相互に通信可能である。
【００１０】
（端末装置ＴＥの構成）
端末装置ＴＥは、例えば、公知のＰＣ（Personal Computerの略）であり、ネットワークインターフェース１０と、操作部１２と、表示部１４と、制御部２０と、を備える。ネットワークインターフェース１０は、ＬＡＮ４に接続される。操作部１２は、マウス、キーボード等である。ユーザは、操作部１２を操作することによって、様々な指示を端末装置ＴＥに入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。
【００１１】
制御部２０は、ＣＰＵ２２とメモリ２４とを備える。ＣＰＵ２２は、メモリ２４に格納されている各種のプログラム（例えば、ＯＳ（Operating Systemの略）プログラム、後述のドライバプログラム２６等）に従って、様々な処理（例えば後述の図３の処理）を実行するプロセッサである。メモリ２４に格納されているドライバプログラム２６は、スキャナＳＣのベンダによって提供され、スキャナＳＣに関連する各種の処理を実行するためのプログラムである。ドライバプログラム２６は、例えば、スキャナＳＣと共に出荷されるメディアから端末装置ＴＥにインストールされてもよいし、スキャナＳＣのベンダによって提供されるインターネット上のサーバから端末装置ＴＥにインストールされてもよい。
【００１２】
（スキャナＳＣの構成）
スキャナＳＣは、スキャン対象物をスキャンしてスキャン画像データを生成するスキャン機能を実行可能な周辺機器（即ち、端末装置ＴＥの周辺機器）である。例えば、スキャナＳＣは、スキャン画像データをスキャナＳＣ自身のメモリに記憶させることができる。また、スキャナＳＣは、スキャン画像データを端末装置ＴＥに送信して、当該スキャン画像データを端末装置ＴＥに格納させたり、当該スキャン画像データに対する画像処理を端末装置ＴＥに実行させたりすることができる。
【００１３】
スキャナＳＣは、ＡＤＦ（Auto Document Feeder；自動原稿搬送装置）機構と、複数個の光学素子と、を備える（これらは図示省略）。ＡＤＦ機構は、スキャン対象物を各光学素子に向けて搬送する。各光学素子は、スキャン対象物のカラースキャンを実行可能である。各光学素子は、ＣＣＤイメージセンサ（Charge Coupled Device Image Sensor）であってもよいし、ＣＩＳ（Contact Image Sensor）であってもよい。特に、本実施例では、複数個の光学素子は、ＡＤＦ機構によって搬送されるスキャン対象物の表面をスキャンするための複数個の表面用光学素子と、スキャン対象物の裏面をスキャンするための複数個の裏面用光学素子と、を備える。換言すると、表面用光学素子は、スキャン対象物を所定方向からスキャンする光学素子であり、裏面用光学素子は、スキャン対象物を上記の所定方向の反対方向からスキャンする光学素子である。スキャナＳＣは、スキャン対象物がＡＤＦ機構によって搬送される過程において、スキャン対象物の表面と裏面とのそれぞれを別個にスキャンして、スキャン対象物の表面を表わすスキャン画像データ（即ち、１個の画像ファイル）と、スキャン対象物の裏面を表わすスキャン画像データ（即ち、他の１個の画像ファイル）と、を同時的に生成することができる。
【００１４】
また、本実施例では、特に、スキャナＳＣが、ショッピング等によって得られるレシートであるレシート原稿（例えばＲＤ１又はＲＤ２）をスキャンして、スキャン画像データを生成する状況に着目する。レシート原稿は、比較的に薄い紙であるので、そのままＡＤＦ機構によって搬送されると、レシート原稿がＡＤＦ機構に詰まる可能性がある。これを避けるために、袋形状を有するキャリアシートＣＳが利用される。キャリアシートＣＳの表面及び裏面のそれぞれは、矩形形状を有すると共に、ほぼ透明の所定色を有する。キャリアシートＣＳの表面は、表面であることを示す黒色のマーク３０を含み、裏面は、上記のマーク３０を含まない。ただし、キャリアシートＣＳの裏面に破線で示されるように、表面のマーク３０が裏面に透けている。スキャナＳＣは、レシート原稿がキャリアシートＣＳに収容された状態で、キャリアシートＣＳをＡＤＦ機構によって搬送する。これにより、スキャナＳＣは、レシート原稿のスキャンを適切に実行することができる。
【００１５】
図１には、各レシート原稿ＲＤ１，ＲＤ２が示されている。各レシート原稿ＲＤ１，ＲＤ２は、矩形形状を有する。レシート原稿ＲＤ１の表面は、白色の背景を有し、黒色の複数行の文字列を含む文字列オブジェクトと、赤色の装飾オブジェクトと、を含む。文字列オブジェクトに含まれる１行の文字列を構成する複数個の文字（例えば「ＡＡＡ  Ｓｈｏｐ」）は、図１の横方向に沿って並んでいる。また、文字列オブジェクトに含まれる複数行の文字列は、図１の縦方向に沿って並んでいる。なお、以下のいずれの画像（例えば後述の図２の表面スキャン画像ＦＳＩ１等）及び画像データにおいても、１行の文字列を構成する複数個の文字が並ぶ方向、当該方向に直交する方向を、それぞれ、「横方向（即ち、左右方向）」、「縦方向（即ち、上下方向）」と呼ぶ。また、装飾オブジェクトは、レシート原稿ＲＤ１の上部に配置されており、レシート原稿ＲＤ１を装飾するためのオブジェクトである。
【００１６】
レシート原稿ＲＤ２の表面は、白色の背景を有し、黒色の複数行の文字列を含む文字列オブジェクトを含む。レシート原稿ＲＤ２の縦方向の長さは、レシート原稿ＲＤ１の縦方向の長さよりも大きい。具体的には、レシート原稿ＲＤ１の縦方向の長さは、キャリアシートＣＳに収まる長さであり、レシート原稿ＲＤ２の縦方向の長さは、キャリアシートＣＳに収まらない長さである。従って、レシート原稿ＲＤ２のスキャンが実行されるべき状況では、レシート原稿ＲＤ２が折り返された状態で、レシート原稿ＲＤ２がキャリアシートＣＳに収容される。
【００１７】
また、図１では図示省略しているが、各レシート原稿ＲＤ１，ＲＤ２の裏面は、白色の背景を有する（即ち、いわゆる白紙である）。ただし、各レシート原稿ＲＤ１，ＲＤ２の裏面には、レシート原稿ＲＤ１，ＲＤ２の表面に描画されているオブジェクトが透けている。即ち、オブジェクトの裏移り（さらに換言すると裏抜け）が発生している。
【００１８】
ユーザは、レシート原稿ＲＤ１を示す画像を表わす画像データを端末装置ＴＥに保存することを望む場合に、まず、レシート原稿ＲＤ１をキャリアシートＣＳに収容する。この際に、ユーザは、レシート原稿ＲＤ１の表面がキャリアシートＣＳの表面を向くように、即ち、レシート原稿ＲＤ１の裏面がキャリアシートＣＳの裏面を向くように、レシート原稿ＲＤ１をキャリアシートＣＳに収容する。そして、ユーザは、キャリアシートＣＳの表面が予め決められている向き（例えば上向き）を向くように、キャリアシートＣＳをスキャナＳＣのＡＤＦ機構にセットする。次いで、ユーザは、端末装置ＴＥのドライバプログラム２６を起動して、レシート原稿ＲＤ１のスキャンのための指示を端末装置ＴＥに入力する。これにより、スキャン指示が端末装置ＴＥからスキャナＳＣに供給される。スキャナＳＣは、端末装置ＴＥからスキャン指示を取得すると、ＡＤＦ機構にセットされているキャリアシートＣＳを搬送し、キャリアシートＣＳの表面と裏面とのそれぞれをカラースキャンして、表面スキャン画像を表わす表面スキャン画像データと、裏面スキャン画像を表わす裏面スキャン画像データと、を生成する。そして、スキャナＳＣは、これらのスキャン画像データを端末装置ＴＥに供給する。
【００１９】
上述したように、レシート原稿ＲＤ２の縦方向の長さは、キャリアシートＣＳに収まらない長さである。従って、ユーザは、レシート原稿ＲＤ２を示す画像を表わす画像データを端末装置ＴＥに保存することを望む場合に、まず、レシート原稿ＲＤ２の表面が山になるように、図１に示される折り返し位置でレシート原稿ＲＤ２を折り返す。そして、ユーザは、レシート原稿ＲＤ２の前半部分（即ち、「ＦＦＦ  Ｓｈｏｐ」〜「ＨＨＨ  ＄８０」）がキャリアシートＣＳの表面を向くように、即ち、レシート原稿ＲＤ２の後半部分（即ち、「ＩＩＩ  ＄５００」〜「ＫＫＫ  ＄１０」）がキャリアシートＣＳの裏面を向くように、レシート原稿ＲＤ２をキャリアシートＣＳに収容する。その後の動作は、レシート原稿ＲＤ１の場合と同様であり、表面スキャン画像データと裏面スキャン画像データとがスキャナＳＣから端末装置ＴＥに供給される。
【００２０】
（スキャン画像の一例；図２）
続いて、図２を参照して、各スキャン画像の内容を説明する。ケースＡは、レシート原稿ＲＤ１を収容しているキャリアシートＣＳがスキャンされる様子を示す。キャリアシートＣＳの表面には、レシート原稿ＲＤ１の表面が透けており、キャリアシートＣＳの裏面には、レシート原稿ＲＤ１の裏面が透けている。レシート原稿ＲＤ１の裏面は、破線で示されるように、レシート原稿ＲＤ１の表面から透けている文字列オブジェクトと装飾オブジェクトとを含む。
【００２１】
レシート原稿ＲＤ１を収容しているキャリアシートＣＳの表面がカラースキャンされる結果として、表面スキャン画像ＦＳＩ１を表わす表面スキャン画像データが生成され、当該キャリアシートＣＳの裏面がカラースキャンされる結果として、裏面スキャン画像ＢＳＩ１を表わす裏面スキャン画像データが生成される。表面スキャン画像データと裏面スキャン画像データとのそれぞれは、複数個の画素データによって構成されるビットマップデータである。特に、各画素データは、ＲＧＢ色空間（即ち、ＲＧＢ座標系）内の座標値として表現される画素値を示す。Ｒ値、Ｇ値、Ｂ値は、それぞれ、「０〜２５５」の範囲内の数値である。表面スキャン画像データを構成する画素データの個数と、裏面スキャン画像データを構成する画素データの個数と、は等しい。
【００２２】
キャリアシートＣＳの表面を越える範囲がスキャンされ、当該範囲が白色を示す画素によって表現されるので、表面スキャン画像ＦＳＩ１は、当該範囲に対応する白色のスキャン背景領域ＳＢＡ１を含む。また、表面スキャン画像ＦＳＩ１は、キャリアシートＣＳの表面に対応するキャリアシート領域ＣＳＡ１と、レシート原稿ＲＤ１の表面に対応するレシート原稿領域ＲＤＡ１と、を含む。キャリアシート領域ＣＳＡ１では、大部分が上記の所定色（即ち、キャリアシートＣＳの色）であるが、マーク３０に対応する部分が黒色である。レシート原稿領域ＲＤＡ１は、レシート原稿ＲＤ１の表面に含まれる背景、文字列オブジェクト、及び、装飾オブジェクトのそれぞれを示す背景画像、文字列オブジェクト画像、及び、装飾オブジェクト画像を含む。同様に、裏面スキャン画像ＢＳＩ１は、白色のスキャン背景領域ＳＢＡ２と、キャリアシートＣＳの裏面に対応する上記の所定色のキャリアシート領域ＣＳＡ２と、レシート原稿ＲＤ１の裏面に対応するレシート原稿領域ＲＤＡ２と、を含む。レシート原稿領域ＲＤＡ２は、レシート原稿ＲＤ１の裏面に含まれる背景を示す背景画像を含み、さらに、レシート原稿ＲＤ１の表面から裏面に透けている文字列オブジェクト及び装飾オブジェクトのそれぞれを示す文字列オブジェクト画像及び装飾オブジェクト画像を含む。
【００２３】
ケースＢは、レシート原稿ＲＤ２を収容しているキャリアシートＣＳがスキャンされる様子を示す。以下では、ケースＡと同様の説明を省略して、ケースＢを説明する。キャリアシートＣＳの表面には、レシート原稿ＲＤ２の表面の前半部分（即ち、「ＦＦＦ  Ｓｈｏｐ」〜「ＨＨＨ  ＄８０」）が透けており、キャリアシートＣＳの裏面には、レシート原稿ＲＤ２の表面の後半部分（即ち、「ＩＩＩ  ＄５００」〜「ＫＫＫ  ＄１０」）が透けている。
【００２４】
レシート原稿ＲＤ２を収容しているキャリアシートＣＳの表面がカラースキャンされる結果として、表面スキャン画像ＦＳＩ２を表わす表面スキャン画像データが生成され、当該キャリアシートＣＳの裏面がカラースキャンされる結果として、裏面スキャン画像ＢＳＩ２を表わす裏面スキャン画像データが生成される。表面スキャン画像ＦＳＩ２は、白色のスキャン背景領域ＳＢＡ３と、上記の所定色のキャリアシート領域ＣＳＡ３と、レシート原稿領域ＲＤＡ３と、を含む。また、裏面スキャン画像ＢＳＩ２は、白色のスキャン背景領域ＳＢＡ４と、上記の所定色のキャリアシート領域ＣＳＡ４と、レシート原稿領域ＲＤＡ４と、を含む。
【００２５】
（端末装置ＴＥのドライバプログラム処理；図３）
続いて、図３を参照して、端末装置ＴＥのドライバプログラム２６によって実行される処理の内容を説明する。上述したように、端末装置ＴＥのＣＰＵ２２は、レシート原稿のスキャンのための指示がユーザによって入力される場合に、スキャン指示をスキャナＳＣに供給する。これにより、Ｓ１０において、ＣＰＵ２２は、スキャナＳＣから表面スキャン画像データと裏面スキャン画像データとを取得する。
【００２６】
Ｓ２０では、ＣＰＵ２２は、Ｓ１０で取得された表面スキャン画像データと裏面スキャン画像データとのそれぞれに対する縁部除去処理を実行する。具体的には、ＣＰＵ２２は、表面スキャン画像データを構成する複数個の画素データのうち、上下左右の各縁部に存在する所定個の画素データを除去して、表面対象画像を表わす表面対象画像データを生成する。例えば、ＣＰＵ２２は、図２のケースＡの表面スキャン画像ＦＳＩ１を表わす表面スキャン画像データに対する縁部除去処理を実行する場合には、図３のケースＡの表面対象画像ＦＴＩ１を表わす表面対象画像データを生成する。表面対象画像ＦＴＩ１は、上下左右の各縁部が除去されたことに起因して、スキャン背景領域ＳＢＡ１（図２参照）を含まないと共に、キャリアシート領域ＣＳＡ１の一部（例えばマーク３０を示す部分）を含まない。同様に、図２のケースＢの表面スキャン画像ＦＳＩ２を表わす表面スキャン画像データに対する縁部除去処理が実行される場合には、図３のケースＢの表面対象画像ＦＴＩ２を表わす表面対象画像データが生成される。
【００２７】
また、ＣＰＵ２２は、表面スキャン画像データの場合と同様に、裏面スキャン画像データに対する縁部除去処理を実行して、裏面対象画像を表わす裏面対象画像データを生成する。表面対象画像データを構成する画素データの個数と、裏面対象画像データを構成する画素データの個数と、は等しい。図２のケースＡの裏面スキャン画像ＢＳＩ１を表わす裏面スキャン画像データに対する縁部除去処理が実行される場合には、図３のケースＡの裏面対象画像ＢＴＩ１を表わす裏面対象画像データが生成される。また、図２のケースＢの裏面スキャン画像ＢＳＩ２を表わす裏面スキャン画像データに対する縁部除去処理が実行される場合には、図３のケースＢの裏面対象画像ＢＴＩ２を表わす裏面対象画像データが生成される。
【００２８】
Ｓ３０では、ＣＰＵ２２は、Ｓ２０で生成された表面対象画像データと裏面対象画像データとを利用して、折り返し有無判断処理（後述の図４）を実行する。即ち、ＣＰＵ２２は、ケースＡに示されるように、折り返されていないレシート原稿ＲＤ１のスキャンが実行されたのか（即ち、折り返し無）、ケースＢに示されるように、折り返されているレシート原稿ＲＤ２のスキャンが実行されたのか（即ち、折り返し有）、を判断する。
【００２９】
Ｓ６０では、ＣＰＵ２２は、Ｓ３０の判断処理の結果が、折り返し有であるのか、折り返し無であるのか、を判断する。ＣＰＵ２２は、Ｓ３０の判断処理の結果が折り返し無である場合（Ｓ６０でＮＯ）には、Ｓ７０において、Ｓ２０で生成された裏面対象画像データを利用せずに、Ｓ２０で生成された表面対象画像データのみを利用して、出力画像データを生成し（後述の図７参照）、当該出力画像データを表示部１４（図１参照）に供給する。これにより、ユーザは、折り返されていない状態でスキャンされたレシート原稿ＲＤ１を示す出力画像を見ることができる。一方、ＣＰＵ２２は、Ｓ３０の判断処理の結果が折り返し有である場合（Ｓ６０でＹＥＳ）には、Ｓ８０において、Ｓ２０で生成された表面対象画像データと裏面対象画像データとの双方を利用して、出力画像データを生成し（後述の図７参照）、当該出力画像データを表示部１４（図１参照）に供給する。これにより、ユーザは、折り返された状態でスキャンされたレシート原稿ＲＤ２を示す出力画像を見ることができる。Ｓ７０又はＳ８０が終了すると、図３の処理が終了する。
【００３０】
（折り返し有無判断処理；図４）
続いて、図４を参照して、図３のＳ３０の折り返し有無判断処理の内容を説明する。Ｓ３２では、ＣＰＵ２２は、図３のＳ２０で生成された表面対象画像データに対する輝度値変換処理を実行する。具体的には、ＣＰＵ２２は、表面対象画像データを構成する複数個の画素データのそれぞれについて、当該画素データが示す画素値（即ち、Ｒ値とＧ値とＢ値）をＳ３２内の数式に従って輝度値（即ち、Ｙ値）に変換して、輝度値を示す新たな画素データを生成する。これにより、輝度値を示す複数個の新たな画素データによって構成される輝度画像データが生成される。輝度値は、「０〜２５５」の範囲内の数値である。
【００３１】
Ｓ３４では、ＣＰＵ２２は、Ｓ３２で生成された輝度画像データに対するエッジ強度決定処理を実行する。具体的には、ＣＰＵ２２は、輝度画像データを構成する複数個の画素データのそれぞれについて、Ｓｏｂｅｌフィルタを利用して、当該画素データが示す輝度値をエッジ強度値に変換して、エッジ強度値を示す新たな画素データを生成する。これにより、エッジ強度値を示す複数個の新たな画素データによって構成されるエッジ強度画像データが生成される。なお、変形例では、ＣＰＵ２２は、Ｓｏｂｅｌフィルタに代えて、１次微分フィルタ、２次微分フィルタ、ラプラシアンフィルタ等を利用して、エッジ強度値を算出してもよい。
【００３２】
Ｓ３６では、ＣＰＵ２２は、Ｓ３４で生成されたエッジ強度画像データに対する二値化処理を実行する。具体的には、ＣＰＵ２２は、エッジ強度画像データを構成する複数個の画素データのそれぞれについて、当該画素データが示すエッジ強度値を「１」又は「０」に変換して、「１」又は「０」を示す新たな画素データを生成する。より具体的には、ＣＰＵ２２は、エッジ強度値が予め決められている閾値（当該閾値はゼロより大きい値）よりも大きい場合には、「１」を示す新たな画素データを生成し、エッジ強度値が上記の閾値以下である場合には、「０」を示す新たな画素データを生成する。これにより、「１」又は「０」を示す複数個の新たな画素データによって構成される二値画像データが生成される。以下では、「１」を示す画素データ、「０」を示す画素データのことを、それぞれ、「ＯＮ画素データ」、「ＯＦＦ画素データ」と呼ぶ。
【００３３】
Ｓ３８では、ＣＰＵ２２は、Ｓ３６で生成された二値画像データに対するＯＮ画素膨張処理を実行する。具体的には、ＣＰＵ２２は、二値画像データを構成する複数個のＯＮ画素データのそれぞれについて、当該ＯＮ画素データを中心とする２５個の画素データ（即ち、横方向５個×縦方向５個の画素データ）に含まれる全てのＯＦＦ画素データをＯＮ画素データに変更する。これにより、「１」又は「０」を示す複数個の画素データによって構成される膨張画像データが生成される。
【００３４】
Ｓ４０では、ＣＰＵ２２は、Ｓ３２で生成された輝度画像データと、Ｓ３８で生成された膨張画像データと、を利用して、輝度値の出現頻度の分布を表わすヒストグラムを生成する。具体的には、ＣＰＵ２２は、まず、輝度画像データを構成する複数個の画素データの中から、膨張画像データを構成する各ＯＮ画素データに対応する各位置に存在する各画素データを特定する。そして、ＣＰＵ２２は、特定済みの各画素データが示す各輝度値の出現頻度の分布を表わすヒストグラムを生成する。
【００３５】
Ｓ４２では、ＣＰＵ２２は、Ｓ４０で生成されたヒストグラムを利用して、「０〜１５５」の範囲内の輝度値の中から、最高の出現頻度を有する輝度値（即ち、最頻値）Ｙｍａｘ１を決定する。最頻値Ｙｍａｘ１は、表面スキャン画像（図２のＦＳＩ１又はＦＳＩ２）に含まれる文字列オブジェクト画像で最も利用されている色を示す値である。
【００３６】
Ｓ４４では、ＣＰＵ２２は、図２のＳ２０で生成された裏面対象画像データに対して、Ｓ３２〜Ｓ４２の処理を順次実行する。これにより、ＣＰＵ２２は、「０〜１５５」の範囲内の輝度値の中から、最高の出現頻度を有する輝度値（即ち、最頻値）Ｙｍａｘ２を決定する。最頻値Ｙｍａｘ２は、裏面スキャン画像（図２のＢＳＩ１又はＢＳＩ２）に含まれる文字列オブジェクト画像で最も利用されている色を示す値である。
【００３７】
Ｓ４６では、ＣＰＵ２２は、Ｓ４２で決定された最頻値Ｙｍａｘ１と、Ｓ４４で決定された最頻値Ｙｍａｘ２と、の差分が、予め決められている閾値Ｔｈ１以下であるのか否かを判断する。即ち、ＣＰＵ２２は、輝度値を示す一軸のみによって構成される座標系において、座標値Ｙｍａｘ１と座標値Ｙｍａｘ２との間の距離が、閾値Ｔｈ１以下であるのか否かを判断する。閾値Ｔｈ１は、本実施例では、「２０」であるが、変形例では、「２０」以外の値（例えば「１０」、「３０」等）であってもよい。ＣＰＵ２２は、上記の差分（即ち、上記の距離）が閾値Ｔｈ１以下であると判断する場合（Ｓ４６でＹＥＳ）には、Ｓ４８において、折り返し有と判断し、上記の差分（即ち、上記の距離）が閾値Ｔｈ１よりも大きいと判断する場合（Ｓ４６でＮＯ）には、Ｓ５０において、折り返し無と判断する。Ｓ４８又はＳ５０が終了すると、図４の処理が終了する。
【００３８】
上述したように、本実施例では、ＣＰＵ２２は、ＲＧＢを示す三軸の座標系内において、文字列オブジェクト画像で最も利用されている色を示すＲＧＢ値を算出するのではなく、輝度値を示す一軸の座標系内において、文字列オブジェクト画像で最も利用されている色を示す輝度値（即ち、最頻値Ｙｍａｘ１，Ｙｍａｘ２）を算出する。従って、ＣＰＵ２２は、迅速に処理を実行し得る。特に、本実施例では、比較的に色数が少ない文字列オブジェクトを含むレシート原稿が処理対象であるので、ＲＧＢ値の最頻値ではなく輝度値の最頻値を利用しても、折り返しの有無を適切に判断することができる。
【００３９】
（折り返し有無判断処理の具体的な内容；図５、図６）
続いて、図５及び図６を参照して、図４の折り返し有無判断処理の具体的な内容を説明する。図５は、表面対象画像データＦＴＩＤを構成する複数個の画素データのうちの一部の画素データ（即ち、１００個の画素データ）を示す。図４のＳ３２の輝度値変換処理が実行されると、表面対象画像データＦＴＩＤから輝度画像データＬＩＤが生成される。
【００４０】
次いで、図４のＳ３４及びＳ３６のエッジ強度決定処理及び二値化処理が実行されると、輝度画像データＬＩＤから二値画像データＢＩＤが生成される。図５の例では、二値画像データＢＩＤによって表わされる二値画像ＢＩにおいて、ＯＮ画素データによって表わされるＯＮ画素、ＯＦＦ画素データによって表わされるＯＦＦ画素が、それぞれ、黒色、白色で表現されている。例えば、文字を構成する線のうちの縁部を構成する画素は、エッジ強度が比較的に高くなる。従って、二値画像ＢＩでは、文字「Ａ」を構成する線のうちの縁部が黒色（即ち、ＯＮ画素）で表現されている。また、例えば、図１のレシート原稿ＲＤ１に基づいて得られる二値画像ＢＩでは、装飾オブジェクトと背景との間の境界がＯＮ画素になり得る。
【００４１】
次いで、図４のＳ３８のＯＮ画素膨張処理が実行されると、二値画像データＢＩＤから膨張画像データＥＩＤが生成される。例えば、二値画像データＢＩＤを構成する１個のＯＮ画素データＰ１を中心とする２５個の画素データ（即ち、太線で囲まれた各画素データ）に含まれる全てのＯＦＦ画素データがＯＮ画素データに変更される。図５の例では、膨張画像データＥＩＤによって表わされる膨張画像ＥＩにおいて、ＯＮ画素データによって表わされるＯＮ画素、ＯＦＦ画素データによって表わされるＯＦＦ画素が、それぞれ、黒色、白色で表現されている。ＯＮ画素膨張処理が実行されると、文字を構成する線のうちの縁部を構成するＯＮ画素が膨張されるので、文字を構成する線うちの縁部の周辺の各画素がＯＮ画素になり得る。従って、膨張画像ＥＩでは、文字「Ａ」を構成する線の全体が黒色（即ち、ＯＮ画素）で表現されている。また、例えば、図１のレシート原稿ＲＤ１に基づいて得られる膨張画像ＥＩでは、装飾オブジェクトと背景との間の境界の周辺部分がＯＮ画素になり得る。ただし、装飾オブジェクトの縦方向の長さが大きいので、装飾オブジェクトの全体がＯＮ画素にならない（即ち、装飾オブジェクトのうち、上記の周辺部分よりも上側の部分がＯＦＦ画素である）。
【００４２】
次いで、図４のＳ４０では、輝度画像データＬＩＤを構成する複数個の画素データの中から、膨張画像データＥＩＤを構成する各ＯＮ画素データに対応する各位置に存在する各画素データ（即ち、太線で囲まれた各画素データ）が特定される。そして、特定済みの各画素データが示す各輝度値の出現頻度の分布を表わすヒストグラムが生成される。なお、裏面対象画像データについても、図５と同様に各画像データが生成される。
【００４３】
上述したように、本実施例では、膨張画像ＥＩでは、例えば、レシート原稿ＲＤ１又はＲＤ２に含まれる文字列オブジェクトがＯＮ画素として表現され、レシート原稿ＲＤ１又はＲＤ２に含まれる背景の大部分がＯＦＦ画素として表現される。従って、図４のＳ４０又はＳ４４で生成されるヒストグラムは、背景を表わす画素データの輝度値が反映され難い。従って、Ｓ４２又はＳ４４では、文字列オブジェクト画像で最も利用されている色（例えば黒色）を示す輝度値が最頻値として適切に決定される。
【００４４】
また、図１のレシート原稿ＲＤ１に基づいて得られる膨張画像ＥＩでは、装飾オブジェクトと背景との間の境界の周辺部分がＯＮ画素として表現されるが、装飾オブジェクトのうち、上記の周辺部分よりも上側の部分がＯＦＦ画素として表現される。従って、ヒストグラムは、装飾オブジェクトを表わす全ての画素データの輝度値が反映されたものではなく、装飾オブジェクトを表わす全ての画素データのうちの一部の画素データの輝度値が反映されたものである。従って、Ｓ４２又はＳ４４では、装飾オブジェクト画像で最も利用されている色（例えば赤色）に対応する輝度値が最頻値として決定され難く、文字列オブジェクトで最も利用されている色（例えば黒色）に対応する輝度値が最頻値として適切に決定される。
【００４５】
図６のケースＡは、表面対象画像ＦＴＩ１を表わす表面対象画像データに基づいて、図４のＳ４０で生成されるヒストグラムＨＡ１と、裏面対象画像ＢＴＩ１を表わす裏面対象画像データに基づいて、図４のＳ４４で生成されるヒストグラムＨＡ２と、を示す。各ヒストグラムＨＡ１，ＨＡ２では、横軸が輝度値を示し、縦軸が輝度値の出現頻度を示す。この点は、後述のケースＢの各ヒストグラムＨＢ１，ＨＢ２でも同様である。
【００４６】
ヒストグラムＨＡ１では、比較的に小さい輝度値に対応する範囲「０〜１５５」内に高い出現頻度を有する１個のピークが存在し、比較的に大きい輝度値に対応する範囲「１５５〜２５５」内に高い出現頻度を有する１個のピークが存在する。前者のピークは、比較的に小さい輝度値を示す黒色の文字列オブジェクト画像で最も利用されている色に対応し、後者のピークは、比較的に大きい輝度値を示す白色の背景画像で最も利用されている色に対応する。上述したように、ヒストグラムＨＡ１では、背景画像を表わす画素データの輝度値が反映され難いが、図４のＳ３８のＯＮ画素膨張処理の結果として、背景画像を表わす複数個の画素データのそれぞれがＯＮ画素データになり得る。従って、ヒストグラムＨＡ１では、後者のピークの最頻値が前者のピークの最頻値よりも大きくなっている。ただし、図４のＳ４２では、比較的に大きい輝度値に対応する範囲「１５５〜２５５」内から最頻値が決定されず、比較的に小さい輝度値に対応する範囲「０〜１５５」内から最頻値Ｙｍａｘ１が決定される。これにより、文字列オブジェクト画像で最も利用されている色を示す最頻値Ｙｍａｘ１が適切に決定される。
【００４７】
同様に、ヒストグラムＨＡ２に基づいて、比較的に小さい輝度値に対応する範囲「０〜１５５」内から最頻値Ｙｍａｘ２が決定される。最頻値Ｙｍａｘ２は、レシート原稿ＲＤ１の表面から裏面に透けている文字列オブジェクトを示す文字列オブジェクト画像で最も利用されている色を示す値である。文字列オブジェクトの色は、表面では黒色であるが、裏面では黒色よりも薄い。従って、最頻値Ｙｍａｘ２は、最頻値Ｙｍａｘ１よりもかなり大きくなる。この結果、最頻値Ｙｍａｘ１と最頻値Ｙｍａｘ２との差分が閾値Ｔｈ１よりも大きくなり（図４のＳ４６でＮＯ）、折り返し無と判断される（Ｓ５０）。
【００４８】
図６のケースＢは、表面対象画像ＦＴＩ２を表わす表面対象画像データに基づいて、図４のＳ４０で生成されるヒストグラムＨＢ１と、裏面対象画像ＢＴＩ２を表わす裏面対象画像データに基づいて、図４のＳ４４で生成されるヒストグラムＨＢ２と、を示す。
【００４９】
ケースＡと同様に、ヒストグラムＨＢ１に基づいて、範囲「０〜１５５」内から最頻値Ｙｍａｘ１が決定される。最頻値Ｙｍａｘ１は、レシート原稿ＲＤ２の表面に含まれる文字列オブジェクトのうちの前半部分（即ち、「ＦＦＦ  Ｓｈｏｐ」〜「ＨＨＨ  ＄８０」）を示す文字列オブジェクト画像で最も利用されている色を示す値である。また、ヒストグラムＨＢ２に基づいて、範囲「０〜１５５」内から最頻値Ｙｍａｘ２が決定される。最頻値Ｙｍａｘ２は、レシート原稿ＲＤ２の表面に含まれる文字列オブジェクトのうちの後半部分（即ち、「ＩＩＩ  ＄５００〜ＫＫＫ  ＄１０」）を示す文字列オブジェクト画像で最も利用されている色を示す値である。そして、文字列オブジェクトのうちの前半部分及び後半部分では、同じ色（即ち、黒色）が利用されているので、最頻値Ｙｍａｘ１と最頻値Ｙｍａｘ２との差分が閾値Ｔｈ１以下になり（図４のＳ４６でＹＥＳ）、折り返し有と判断される（Ｓ４８）。
【００５０】
（出力画像データを生成する処理の具体的な内容；図７）
続いて、図７を参照して、出力画像データを生成する処理（図３のＳ７０及びＳ８０）の具体的な内容を説明する。ケースＡを参照して、図３のＳ７０の処理の内容を説明する。ケースＡでは、表面対象画像ＦＴＩ１を表わす表面対象画像データと、裏面対象画像ＢＴＩ１を表わす裏面対象画像データと、に基づいて、折り返し無と判断される（図３のＳ６０でＮＯ）。この場合、Ｓ７０では、ＣＰＵ２２は、裏面対象画像データを利用せずに、表面対象画像データのみを利用して、出力画像データを生成する。
【００５１】
具体的には、ＣＰＵ２２は、まず、図４のＳ３６で表面対象画像データに基づいて生成される二値画像データを利用して、縦方向の射影ヒストグラムＨＷと横方向の射影ヒストグラムＨＨとを生成する。縦方向の射影ヒストグラムＨＷは、二値画像データを構成する複数個の画素データを縦方向に沿って射影する場合におけるＯＮ画素データの出現頻度の分布を表わすヒストグラムである。横方向の射影ヒストグラムＨＨは、二値画像データを構成する複数個の画素データを横方向に沿って射影する場合におけるＯＮ画素データの出現頻度の分布を表わすヒストグラムである。
【００５２】
次いで、ＣＰＵ２２は、射影ヒストグラムＨＷの左端から右側に向かう過程において、予め決められている閾値Ｔｈ２（Ｔｈ２はゼロより大きい値）以上の出現頻度を最初に示す位置Ｗ１を特定すると共に、射影ヒストグラムＨＷの右端から左側に向かう過程において、閾値Ｔｈ２以上の頻度を最初に示す位置Ｗ２を特定する。これにより、ＣＰＵ２２は、表面対象画像ＦＴＩ１のうち、レシート原稿領域ＲＤＡ１の左端の近傍の位置Ｗ１と、レシート原稿領域ＲＤＡ１の右端の近傍の位置Ｗ２と、を特定することができる。特に、ゼロより大きい閾値Ｔｈ２に基づいて各位置Ｗ１，Ｗ２が決定されるので、ゼロより高くかつ閾値Ｔｈ２より低い頻度を有する位置が、レシート原稿領域ＲＤＡ１の左端又は右端の近傍の位置として特定されない。これにより、例えば、汚れ、ゴミ等のノイズがキャリアシートＣＳに存在する場合に、当該ノイズの位置が、レシート原稿領域ＲＤＡ１の左端又は右端の近傍の位置として特定されない。従って、レシート原稿領域ＲＤＡ１の左端の近傍の位置及び右端の近傍の位置が適切に特定される。ただし、ゼロより大きい閾値Ｔｈ２に基づいて各位置Ｗ１，Ｗ２が決定されるので、位置Ｗ１は、レシート原稿領域ＲＤＡ１の左端よりも右側の位置であり、位置Ｗ２は、レシート原稿領域ＲＤＡ１の右端よりも左側の位置である。即ち、各位置Ｗ１，Ｗ２は、レシート原稿領域ＲＤＡ１の内側の位置である。
【００５３】
また、ＣＰＵ２２は、射影ヒストグラムＨＨの下端から上側に向かう過程において、閾値Ｔｈ２よりも高い頻度を最初に示す位置Ｈ１を特定すると共に、射影ヒストグラムＨＨの上端から下側に向かう過程において、閾値Ｔｈ２よりも高い頻度を最初に示す位置Ｈ２を特定する。これにより、ＣＰＵ２２は、表面対象画像ＦＴＩ１のうち、レシート原稿領域ＲＤＡ１の下端の近傍の位置Ｈ１と、レシート原稿領域ＲＤＡ１の上端の近傍の位置Ｈ２と、を特定することができる。ただし、各位置Ｗ１，Ｗ２は、レシート原稿領域ＲＤＡ１の内側の位置である。
【００５４】
次いで、ＣＰＵ２２は、表面対象画像ＦＴＩ１のうち、特定済みの４個の位置Ｗ１，Ｗ２，Ｈ１，Ｈ２によって画定される矩形領域が上下左右のそれぞれの向きに所定サイズ（即ち、所定長さ）だけ拡大された拡大領域を出力対象領域ＯＡとして決定する。上述したように、各位置Ｗ１，Ｗ２，Ｈ１，Ｈ２は、レシート原稿領域ＲＤＡ１の内側の位置である。ただし、各位置Ｗ１，Ｗ２，Ｈ１，Ｈ２によって画定される矩形領域が拡大された拡大領域が出力対象領域ＯＡとして決定されるので、レシート原稿領域ＲＤＡ１の全体を含む出力対象領域ＯＡが決定される。そして、ＣＰＵ２２は、表面対象画像データのうち、出力対象領域ＯＡを表わす部分画像データを取得することによって、出力画像ＯＩ１を表わす出力画像データ（即ち、上記の部分画像データ）を生成する。これにより、ユーザは、折り返されていないレシート原稿ＲＤ１のスキャンによって得られる出力画像ＯＩ１を見ることができる。
【００５５】
続いて、ケースＢを参照して、図３のＳ８０の処理の内容を説明する。ケースＢでは、表面対象画像ＦＴＩ２を表わす表面対象画像データと、裏面対象画像ＢＴＩ２を表わす裏面対象画像データと、に基づいて、折り返し有と判断される（図３のＳ６０でＹＥＳ）。この場合、Ｓ８０では、ＣＰＵ２２は、表面対象画像データと裏面対象画像データとの双方を利用して、出力画像データを生成する。
【００５６】
具体的には、ＣＰＵ２２は、ケースＡの場合と同様に、図４のＳ３６で表面対象画像データに基づいて生成される二値画像データを利用して、縦方向の射影ヒストグラムと横方向の射影ヒストグラムとを生成し、それらの射影ヒストグラムを利用して、４個の位置を特定する。そして、ＣＰＵ２２は、表面対象画像ＦＴＩ２（例えば図６のケースＢ参照）のうち、特定済みの４個の位置によって画定される矩形領域が所定サイズだけ拡大された拡大領域を出力対象領域ＯＡ１として決定する。次いで、ＣＰＵ２２は、表面対象画像データのうち、出力対象領域ＯＡ１を表わす第１の部分画像データを取得する。
【００５７】
また、ＣＰＵ２２は、図４のＳ４４で裏面対象画像データに基づいて生成される二値画像データを利用して、縦方向の射影ヒストグラムと横方向の射影ヒストグラムとを生成し、それらの射影ヒストグラムを利用して、４個の位置を特定する。そして、ＣＰＵ２２は、裏面対象画像ＢＴＩ２（例えば図６のケースＢ参照）のうち、特定済みの４個の位置によって画定される矩形領域が所定サイズだけ拡大された拡大領域を出力対象領域ＯＡ２として決定する。次いで、ＣＰＵ２２は、裏面対象画像データのうち、出力対象領域ＯＡ２を表わす第２の部分画像データを取得する。ＣＰＵ２２は、さらに、第２の部分画像データを１８０度回転させることによって、回転済み画像データを生成する。
【００５８】
次いで、ＣＰＵ２２は、第１の部分画像データの下端と回転済み画像データの上端とを結合して、出力画像ＯＩ２を表わす出力画像データを生成する。出力画像ＯＩ２では、出力対象領域ＯＡ１の下端と出力対象領域ＯＡ２の上端とが結合されている。これにより、ユーザは、折り返されたレシート原稿ＲＤ２のスキャンによって得られる出力画像ＯＩ２を見ることができる。
【００５９】
（実施例の効果）
本実施例によると、端末装置ＴＥは、図４のＳ３２で得られる輝度画像データを利用して、最頻値Ｙｍａｘ１を決定し（Ｓ４２）、Ｓ４４で得られる輝度画像データを利用して、最頻値Ｙｍａｘ２を決定する（Ｓ４４）。そして、端末装置ＴＥは、最頻値Ｙｍａｘ１と最頻値Ｙｍａｘ２との差分が閾値Ｔｈ１よりも大きい場合（Ｓ４６でＮＯ）に、折り返し無と判断して（Ｓ５０）、表面スキャン画像データのみを利用して、出力画像ＯＩ１を表わす出力データを生成する（図３のＳ７０）。また、端末装置ＴＥは、最頻値Ｙｍａｘ１と最頻値Ｙｍａｘ２との差分が閾値Ｔｈ１以下である場合（図４のＳ４６でＹＥＳ）に、折り返し有と判断して（Ｓ４８）、表面スキャン画像データと裏面スキャン画像データとの双方を利用して、出力画像ＯＩ２を表わす出力データを生成する（図３のＳ８０）。このように、端末装置ＴＥは、表面スキャン画像データのみを利用して、出力データを生成すべきか、表面スキャン画像データと裏面スキャン画像データとの双方を利用して、出力データを生成すべきか、を適切に判断することができる。このために、端末装置ＴＥは、レシート原稿の折り返しの有無に応じた適切な出力データを生成することができる。
【００６０】
（第１の比較例）
例えば、スキャン対象の原稿が両面原稿であるのか片面原稿であるのかを以下のように判断する第１の比較例の技術が知られている。即ち、第１の比較例の技術では、原稿の表面の画像の濃度分布ヒストグラムによって示されるピーク数が規定値より大きい場合には、スキャン対象の原稿が両面原稿であると判断し、当該ピーク数が規定値以下である場合には、スキャン対象の原稿が片面原稿であると判断する。この技術では、スキャン対象の原稿が両面原稿である場合には、原稿の裏面のオブジェクトが表面に透けることに起因して、上記のピーク数が多くなる点に着目している。ただし、本実施例の図２のケースＢに示されるように、レシート原稿ＲＤ２が折り返された状態では、レシート原稿ＲＤ２が二重になるので、通常、裏側の文字列「ＩＩＩ  ＄５００」等は、表側に透けない。このために、第１の比較例の技術では、図２のケースＢについて、両面原稿であると判断するのが困難であり（即ち、片面原稿であると判断する可能性が高く）、表面スキャン画像データのみを利用して、出力データが生成され得る。これに対し、本実施例の端末装置ＴＥは、図２のケースＢについて、折り返し有と適切に判断することができるので、表面スキャン画像データと裏面スキャン画像データとの双方を利用して、出力データを適切に生成することができる。
【００６１】
（第２の比較例）
例えば、スキャン対象の原稿が白紙であるのか否かを以下のように判断する第２の比較例の技術が知られている。即ち、第２の比較例の技術では、原稿の画像に基づいて原稿の背景色を特定し、原稿の画像を構成する全画素数のうち、背景色以外の色を示す画素数の割合が、所定値以下である場合に、白紙と判断する。ただし、第２の比較例の技術では、図２のケースＡのレシート原稿ＲＤ１の裏面について、表面から透けているオブジェクトを構成する画素数が多くなるので、レシート原稿ＲＤ１の裏面を白紙でないと判断し得る。このために、第２の比較例の技術では、図２のケースＡについて、表面スキャン画像データと裏面スキャン画像データとの双方を利用して、出力データが生成され得る。これに対し、本実施例の端末装置ＴＥは、図２のケースＡについて、折り返し無と適切に判断することができるので、表面スキャン画像データのみを利用して、出力データを適切に生成することができる。
【００６２】
（対応関係）
端末装置ＴＥが、「画像処理装置」の一例である。図２の表面スキャン画像ＦＳＩ１（又はＦＳＩ２）、裏面スキャン画像ＢＳＩ１（又はＢＳＩ２）が、それぞれ、「第１の原画像」、「第２の原画像」の一例である。表面スキャン画像ＦＳＩ１（又はＦＳＩ２）に含まれる文字列オブジェクト画像、裏面スキャン画像ＢＳＩ１（又はＢＳＩ２）に含まれる文字列オブジェクト画像が、それぞれ、「第１のオブジェクト画像」、「第２のオブジェクト画像」の一例である。レシート原稿ＲＤ１において、表面に含まれる各文字列、裏面に含まれる各文字列が、それぞれ、「第１のオブジェクト」、「第２のオブジェクト」の一例である。レシート原稿ＲＤ２において、前半の３行の文字列「ＦＦＦ  Ｓｈｏｐ」〜「ＨＨＨ  ＄８０」、後半の３行の文字列「ＩＩＩ  ｓ＄５００」〜「ＫＫＫ  ＄１０」が、それぞれ、「第１のオブジェクト」、「第２のオブジェクト」の一例である。図７の出力画像ＯＩ１、ＯＩ２が、それぞれ、「第１の出力画像」、「第２の出力画像」の一例である。出力対象領域ＯＡ、ＯＡ１、ＯＡ２が、それぞれ、「出力対象領域」、「第１の出力対象領域」、「第２の出力対象領域」の一例である。
【００６３】
表面スキャン画像データ（又は裏面スキャン画像データ）を構成する複数個の画素データのうち、図３の縁部除去処理で得られる表面対象画像データ（又は裏面対象画像データ）を構成する複数個の画素データが、「複数個の原画素データ」の一例である。図４のＳ３２で得られる輝度画像データ、Ｓ４４で得られる輝度画像データが、それぞれ、「第１の対象画像データ」、「第２の対象画像データ」の一例である。図４のＳ３２（又はＳ４４）で得られる輝度画像データを構成する複数個の画素データのうち、文字列オブジェクト画像を表わす各画素データが、「第１（又は第２）のオブジェクト画素データ群」の一例である。Ｓ３２（又はＳ４４）で得られる輝度画像データを構成する複数個の画素データのうち、Ｓ３８（又はＳ４４）で得られる膨張画像データを構成する各ＯＮ画素データに対応する各位置に存在する各画素データが、「第１（又は第２）の対象画像データを構成する複数個の対象画素データのうちの少なくとも一部の各対象画素データ」の一例である。Ｓ３２（又はＳ４４）で得られる輝度画像データを構成する複数個の画素データのうち、Ｓ３６（又はＳ４４）で得られる二値画像データを構成する各ＯＮ画素データに対応する各位置に存在する各画素データが、「高強度画素データ」の一例である。Ｓ３２（又はＳ４４）で得られる輝度画像データを構成する複数個の画素データのうち、Ｓ３８（又はＳ４４）で膨張された各ＯＮ画素データに対応する各位置に存在する各画素データが、「近傍画素データ」の一例である。
【００６４】
図４のＳ４０で生成されるヒストグラムＨＡ１（又はＨＢ１）、Ｓ４４で生成されるヒストグラムＨＡ２（又はＨＢ２）が、それぞれ、「第１のヒストグラム」、「第２のヒストグラム」の一例である。輝度値の範囲「０〜２５５」、「０〜１５５」が、それぞれ、「第１の座標系で表現可能な最も広い画素値の範囲」、「所定範囲」の一例である。最頻値Ｙｍａｘ１、Ｙｍａｘ２が、それぞれ、「第１の座標値」、「第２の座標値」の一例である。輝度値を示す一軸の座標系、ＲＧＢ値を示す三軸の座標系が、それぞれ、「第１の座標系」、「第２の座標系」の一例である。
【００６５】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００６６】
（変形例１）上記の実施例では、図２のケースＢでは、レシート原稿ＲＤ２が折り返された状態でキャリアシートＣＳの表面及び裏面のそれぞれがスキャンされる。これに代えて、例えば、以下の（変形例１−１）又は（変形例１−２）が採用されてもよい。
【００６７】
（変形例１−１）例えば、同じ大きさを有する２枚のレシート原稿のそれぞれの裏面が向かい合うように、２枚のレシート原稿が重ねられた状態で、２枚のレシート原稿がキャリアシートＣＳに収容される。この状態でキャリアシートＣＳの表面及び裏面のそれぞれがスキャンされると、ＣＰＵ２２は、図３のＳ６０で折り返し有と判断し（Ｓ６０でＹＥＳ）、２枚のレシート原稿を示す出力画像データを生成する（Ｓ８０）。一般的に言うと、第１及び第２の原画像データは、上記の実施例のように、同じ原稿のスキャンによって得られるデータであってもよいし、本変形例のように、異なる原稿のスキャンによって得られるデータであってもよい。
【００６８】
（変形例１−２）例えば、第１のレシート原稿がキャリアシートＣＳに収容された状態で、キャリアシートＣＳの表面がスキャンされ、その後、第２のレシート原稿がキャリアシートＣＳに収容された状態で、キャリアシートＣＳの表面がスキャンされる。第２のレシート原稿は、第１のレシート原稿と同じ原稿でもよいし（例えば、折り返された原稿の表面の前半部分が先にスキャンされ、当該原稿の表面の後半部分が後にスキャンされる）、第１のレシート原稿とは異なる原稿であってもよい。この場合、図３のＳ１０において、ＣＰＵ２２は、先のスキャンによって生成される第１のスキャン画像データと、後のスキャンによって生成される第２のスキャン画像データと、を取得する。そして、ＣＰＵ２２は、表面スキャン画像データ、裏面スキャン画像データを、それぞれ、第１のスキャン画像データ、第２のスキャン画像データに置き換えて、図３のＳ２０〜Ｓ８０の各処理を実行する。この場合、ＣＰＵ２２は、Ｓ６０で折り返し有と判断し（Ｓ６０でＹＥＳ）、第１及び第２のレシート原稿を示す出力画像データを生成する（Ｓ８０）。一般的に言うと、第１及び第２の原画像データは、上記の実施例のように、同じ原稿を同じタイミングでスキャンすることによって得られるデータであってもよいし、本変形例のように、同じ原稿又は異なる原稿を異なるタイミングでスキャンすることによって得られるデータであってもよい。
【００６９】
（変形例２）上記の実施例では、図４のＳ４２及びＳ４４において、ＣＰＵ２２は、文字列オブジェクト画像で最も利用されている色を示す輝度値を算出する。これに代えて、ＣＰＵ２２は、文字列オブジェクト画像で最も利用されている色を示すＲＧＢ値を算出してもよい。例えば、ＣＰＵ２２は、図３のＳ２０で得られる表面対象画像データを構成する複数個の画素データのうち、Ｓ３８で得られる膨張画像データを構成する各ＯＮ画素データに対応する各位置に存在する各画素データを利用して、Ｒ値の最頻値と、Ｇ値の最頻値と、Ｂ値の最頻値と、をそれぞれ算出する（即ち、第１のＲＧＢ最頻値を算出する）。また、ＣＰＵ２２は、図３のＳ２０で得られる裏面対象画像データを構成する複数個の画素データのうち、Ｓ４４で得られる膨張画像データを構成する各ＯＮ画素データに対応する各位置に存在する各画素データを利用して、Ｒ値の最頻値と、Ｇ値の最頻値と、Ｂ値の最頻値と、をそれぞれ算出する（即ち、第２のＲＧＢ最頻値を算出する）。そして、Ｓ４６では、ＣＰＵ２２は、ＲＧＢ値を示す三軸の座標系において、第１のＲＧＢ最頻値と第２のＲＧＢ最頻値との間の距離が閾値以下であるのか否かを判断する。この構成でも、ＣＰＵ２２は、レシート原稿の折り返しの有無を適切に判断することができる。本変形例では、ＲＧＢ値を示す三軸の座標系、第１のＲＧＢ最頻値、第２のＲＧＢ最頻値が、それぞれ、「第１の座標系」、「第１の座標値」、「第２の座標値」の一例である。また、表面対象画像データ、裏面対象画像データが、それぞれ、「第１の対象画像データ」、「第２の対象画像データ」の一例である。
【００７０】
（変形例３）図４のＳ４２及びＳ４４において、ＣＰＵ２２は、文字列オブジェクト画像で最も利用されている色を示す輝度値（即ち、最頻値）の近傍の輝度値（例えば、最頻値に所定値が加算された値、最頻値に所定値が乗算された値等）を算出してもよい。そして、Ｓ４６では、ＣＰＵ２２は、Ｓ４２で算出される上記の近傍の輝度値とＳ４４で算出される上記の近傍の輝度値との差分が閾値Ｔｈ１以下であるのか否かを判断してもよい。一般的に言うと、「第１（又は第２）の座標値」は、第１（又は第２）のオブジェクト画像で最も利用されている色に関係する値であればよい。
【００７１】
（変形例４）上記の実施例では、図３のＳ７０（又はＳ８０）において、ＣＰＵ２２は、出力画像ＯＩ１（又はＯＩ２）（図７参照）を表わす出力画像データを生成して、当該出力画像ＯＩ１（又はＯＩ２）を表示部１４に表示させる。これに代えて、ＣＰＵ２２は、出力画像データを利用してＯＣＲ（Optical Character Recognitionの略）解析を実行して、テキストデータを生成し、当該テキストデータを表示部１４に表示させてもよい。本変形例では、テキストデータが、「第１（又は第２）の出力データ」の一例である。
【００７２】
（変形例５）上記の実施例では、キャリアシートＣＳの表面にマーク３０が付されており、ユーザがマーク３０に基づいてキャリアシートＣＳをスキャナＳＣにセットするので、キャリアシートＣＳの表面がスキャンされて、表面スキャン画像データが生成されることが前提となっている。即ち、ＣＰＵ２２は、スキャナＳＣから得られる２個のスキャン画像データのうちのどちらが表面スキャン画像データであるのかを知っていることが前提となっている。ただし、当該前提が成立しない状況では、図３のＳ７０において、ＣＰＵ２２は、以下の処理を実行してもよい。即ち、ＣＰＵ２２は、スキャナＳＣから得られる２個のスキャン画像データに基づいて生成される２個の最頻値Ｙｍａｘ１，Ｙｍａｘ２のうちの小さい最頻値が生成されたスキャン画像データ、即ち、濃い文字を含む画像を表わすスキャン画像データを、表面スキャン画像データとして決定する。そして、ＣＰＵ２２は、決定済みのスキャン画像データのみを利用して、出力画像データを生成する。
【００７３】
（変形例６）ＣＰＵ２２は、図４のＳ３４〜Ｓ３８を省略して、Ｓ４０において、Ｓ３２の輝度画像データを利用して、輝度値の出現頻度を示すヒストグラムを生成しておよい。この場合、背景画像を表わす各画素データの輝度値の出現頻度が高くなるが、当該輝度値は、通常、「１５６」以上の比較的に大きい値である。そして、Ｓ４２では、ＣＰＵ２２は、輝度値の範囲「０〜２５５」のうち、比較的に小さい輝度値の範囲「０〜１５５」から最頻値を決定するので、背景画像で利用されている色を示す輝度値を決定することなく、文字列オブジェクト画像で最も利用されている色を示す輝度値を適切に決定し得る。ＣＰＵ２２は、Ｓ４４でも同様の処理を実行してもよい。一般的に言うと、「画像処理装置」は、「エッジ強度決定部」を備えていなくてもよい。
【００７４】
（変形例７）図４のＳ４２及びＳ４４において、ＣＰＵ２２は、輝度値の範囲「０〜２５５」のうちの一部の範囲「０〜１５５」から最頻値を決定するのではなく、輝度値の範囲「０〜２５５」から最頻値を決定してもよい。図４のＳ３４〜Ｓ３８において、背景画像を表わす各画素データが反映され難くなるので、本変形例でも、ＣＰＵ２２は、文字列オブジェクト画像で最も利用されている色を示す輝度値を適切に決定し得る。一般的に言うと、「画像処理装置」は、第１（又は第２）の座標系で表現可能な最も広い画素値の範囲の中から、最高の出現頻度を有する画素値に関係する第１（又は２）の座標値を決定してもよい。
【００７５】
（変形例８）図４のＳ４６において、ＣＰＵ２２は、最頻値Ｙｍａｘ１に対する最頻値Ｙｍａｘ２の割合（即ち、Ｙｍａｘ２／Ｙｍａｘ１）が「１」の近傍の範囲（例えば「０．８」〜「１．２」）内である場合に、折り返し有と判断し、当該割合が当該範囲外である場合に、折り返し無と判断してもよい。本変形例も、第１の座標値と第２の座標値との間の距離が閾値よりも大きいのか否かを判断する構成の一例である。
【００７６】
（変形例９）図４のＳ４６において、ＣＰＵ２２は、最頻値Ｙｍａｘ１と最頻値Ｙｍａｘ２とに基づいて（例えばこれらの値の和に基づいて）、閾値Ｔｈ１を変更してもよい。例えば、ＣＰＵ２２は、最頻値Ｙｍａｘ１と最頻値Ｙｍａｘ２との和が大きくなる程、大きい閾値Ｔｈ１を採用してもよい。一般的に言うと、「閾値」は、固定値でなくてもよく、可変値であってもよい。
【００７７】
（変形例１０）図４のＳ３４〜Ｓ４２に代えて、ＣＰＵ２２は、以下の処理を実行してもよい。即ち、ＣＰＵ２２は、Ｓ３２で得られる輝度画像データを構成する複数個の画素データを、Ｍ個（Ｍは２以上の整数）の画素データ群に区分する。１個の画素データ群は、近傍に存在する２個以上の画素データ（例えば、５個×５個＝２５個の画素データ）の集合である。次いで、ＣＰＵ２２は、Ｍ個の画素データ群のそれぞれについて、当該画素データ群を構成する２個以上の画素データの２個以上の輝度値のうち、最高の出現頻度を示す輝度値（即ち、最頻値）を決定する。そして、ＣＰＵ２２は、Ｍ個の画素データ群について決定されたＭ個の輝度値のうち、最高の出現頻度を示す輝度値（即ち最頻値Ｙｍａｘ１）を決定する。ＣＰＵ２２は、Ｓ４４に代えて、同様に、最頻値Ｙｍａｘ２を決定する。この構成では、例えば、装飾オブジェクト画像を表わす各画素データ群（以下では「装飾画素データ群」と呼ぶ）について、赤色に対応する輝度値が決定されるが、文字列オブジェクト画像を表わす各画素データ群（以下では「文字列画素データ群」と呼ぶ）について、黒色に対応する輝度値が決定される。そして、レシート原稿ＲＤ１では、装飾オブジェクトが描画されている範囲よりも、文字列オブジェクトが描画されている範囲の方が広いので、文字列画素データ群の数が装飾画素データ群の数よりも大きくなる。この結果、ＣＰＵ２２は、文字列オブジェクト画像で最も利用されている色を示す最頻値Ｙｍａｘ１（又は最頻値Ｙｍａｘ２）を決定することができる。
【００７８】
（変形例１１）上記の実施例では、端末装置ＴＥが、図３及び図４の各処理を実行する。これに代えて、スキャナＳＣが、図３及び図４の各処理を実行して、スキャナＳＣの表示部（図示省略）又は端末装置ＴＥの表示部１４に出力画像ＯＩ１（又はＯＩ２）を表示させてもよい。本変形例では、スキャナＳＣが、「画像処理装置」の一例である。
【００７９】
（変形例１２）上記の実施例では、端末装置ＴＥのＣＰＵ２２がドライバプログラム２６（即ち、ソフトウェア）を実行することによって、図２及び図３の各処理が実現される。これに代えて、図２及び図３の各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【００８０】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００８１】
２：通信システム、ＳＣ：スキャナ、ＴＥ：端末装置、１０：ネットワークインターフェース、１２：操作部、１４：表示部、２０：制御部、２２：ＣＰＵ、２４：メモリ、２６：ドライバプログラム、３０：マーク、ＣＳ：キャリアシート、ＲＤ１，ＲＤ２：レシート原稿、ＦＳＩ１，ＦＳＩ２：表面スキャン画像、ＢＳＩ１，ＢＳＩ２：裏面スキャン画像、ＦＴＩ１，ＦＴＩ２：表面対象画像、ＢＴＩ１，ＢＴＩ２：裏面対象画像、ＢＩ：二値画像、ＥＩ：膨張画像、ＯＩ１，ＯＩ２：出力画像、ＨＡ１，ＨＡ２，ＨＢ１，ＨＢ２：ヒストグラム、ＨＨ，ＨＷ：射影ヒストグラム、Ｔｈ１，Ｔｈ２：閾値、Ｙｍａｘ１，Ｙｍａｘ２：最頻値
【図１】
2015195427.tif 000003
【図２】
2015195427.tif 000004
【図３】
2015195427.tif 000005
【図４】
2015195427.tif 000006
【図５】
2015195427.tif 000007
【図６】
2015195427.tif 000008
【図７】
2015195427.tif 000009