JP6160538B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP6160538B2
JP6160538B2 JP2014071040A JP2014071040A JP6160538B2 JP 6160538 B2 JP6160538 B2 JP 6160538B2 JP 2014071040 A JP2014071040 A JP 2014071040A JP 2014071040 A JP2014071040 A JP 2014071040A JP 6160538 B2 JP6160538 B2 JP 6160538B2
Authority
JP
Japan
Prior art keywords
image data
data
value
coordinate value
target
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.)
Active
Application number
JP2014071040A
Other languages
English (en)
Other versions
JP2015195427A (ja
Inventor
良平 小澤
良平 小澤
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 JP2014071040A priority Critical patent/JP6160538B2/ja
Publication of JP2015195427A publication Critical patent/JP2015195427A/ja
Application granted granted Critical
Publication of JP6160538B2 publication Critical patent/JP6160538B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)

Description

本明細書では、第1の原画像データと第2の原画像データとを取得して、出力データを生成する画像処理装置を開示する。
特許文献1には、スキャン対象の原稿が、両面原稿であるのか、片面原稿であるのか、を自動的に検知する技術が開示されている。この技術では、複写機は、原稿の表面の画像を読み込み、当該画像の各画素の濃度データを計測し、各画素の濃度データに基づいて濃度分布ヒストグラムを生成する。そして、複写機は、濃度分布ヒストグラムによって示されるピーク数が規定値より大きい場合には、スキャン対象の原稿が両面原稿であると判断し、原稿の裏面の画像を読み込み、原稿の表面及び裏面のそれぞれの画像の印刷を実行する。また、複写機は、濃度分布ヒストグラムによって示されるピーク数が規定値以下である場合には、スキャン対象の原稿が片面原稿であると判断し、原稿の裏面の画像を読み込まずに、原稿の表面の画像の印刷を実行する。
特開2002−77606号公報
本明細書では、第1及び第2の原画像データのうちの一方を利用して、出力データを生成するのか、第1及び第2の原画像データの双方を利用して、出力データを生成するのかを、第1及び第2の原画像データに基づいて適切に切り替え得る新規な技術を提供する。
本明細書によって開示される画像処理装置は、取得部と、座標値決定部と、出力データ生成部と、を備える。取得部は、第1のオブジェクトを含む原稿がスキャンされることによって得られる第1の原画像データと、第2のオブジェクトを含む原稿がスキャンされることによって得られる第2の原画像データと、を取得する。第1の原画像データによって表わされる第1の原画像は、第1のオブジェクトを示す第1のオブジェクト画像を含む。第2の原画像データによって表わされる第2の原画像は、第2のオブジェクトを示す第2のオブジェクト画像を含む。座標値決定部は、第1の原画像データを用いて得られる第1の対象画像データを利用して、第1の座標系内の第1の座標値を決定し、第2の原画像データを用いて得られる第2の対象画像データを利用して、第1の座標系内の第2の座標値を決定する。第1の座標値は、第1のオブジェクト画像で最も利用されている色に関係する値である。第2の座標値は、第2のオブジェクト画像で最も利用されている色に関係する値である。出力データ生成部は、第1の座標系において、第1の座標値と第2の座標値との間の距離が閾値よりも大きい場合に、第1の原画像データと第2の原画像データとのうちの一方を利用して、第1の出力データを生成し、第1の座標値と第2の座標値との間の距離が閾値以下である場合に、第1の原画像データと第2の原画像データとの双方を利用して、第1の出力データとは異なる第2の出力データを生成する。
上記の構成によると、画像処理装置は、第1の座標値と第2の座標値との間の距離が閾値よりも大きいのか否かに基づいて、第1及び第2の原画像データのうちの一方を利用して、第1の出力データを生成するのか、第1及び第2の原画像データの双方を利用して、第2の出力データを生成するのかを、適切に切り替え得る。このために、画像処理装置は、適切な出力データを生成し得る。
上記の画像処理装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も新規で有用である。
通信システムの構成を示す。 各ケースの各スキャン画像の一例を示す。 端末装置のドライバプログラムの処理のフローチャートを示す。 折り返し有無判断処理のフローチャートを示す。 折り返し有無判断処理で生成される各画像データの一例を示す。 各ケースの各ヒストグラムの一例を示す。 各ケースの各出力画像を生成する処理を説明するための図を示す。
(通信システム2の構成)
図1に示されるように、通信システム2は、スキャナSCと端末装置TEとを備える。スキャナSCと端末装置TEとは、LAN(Local Area Networkの略)4を介して、相互に通信可能である。
(端末装置TEの構成)
端末装置TEは、例えば、公知のPC(Personal Computerの略)であり、ネットワークインターフェース10と、操作部12と、表示部14と、制御部20と、を備える。ネットワークインターフェース10は、LAN4に接続される。操作部12は、マウス、キーボード等である。ユーザは、操作部12を操作することによって、様々な指示を端末装置TEに入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。
制御部20は、CPU22とメモリ24とを備える。CPU22は、メモリ24に格納されている各種のプログラム(例えば、OS(Operating Systemの略)プログラム、後述のドライバプログラム26等)に従って、様々な処理(例えば後述の図3の処理)を実行するプロセッサである。メモリ24に格納されているドライバプログラム26は、スキャナSCのベンダによって提供され、スキャナSCに関連する各種の処理を実行するためのプログラムである。ドライバプログラム26は、例えば、スキャナSCと共に出荷されるメディアから端末装置TEにインストールされてもよいし、スキャナSCのベンダによって提供されるインターネット上のサーバから端末装置TEにインストールされてもよい。
(スキャナSCの構成)
スキャナSCは、スキャン対象物をスキャンしてスキャン画像データを生成するスキャン機能を実行可能な周辺機器(即ち、端末装置TEの周辺機器)である。例えば、スキャナSCは、スキャン画像データをスキャナSC自身のメモリに記憶させることができる。また、スキャナSCは、スキャン画像データを端末装置TEに送信して、当該スキャン画像データを端末装置TEに格納させたり、当該スキャン画像データに対する画像処理を端末装置TEに実行させたりすることができる。
スキャナSCは、ADF(Auto Document Feeder;自動原稿搬送装置)機構と、複数個の光学素子と、を備える(これらは図示省略)。ADF機構は、スキャン対象物を各光学素子に向けて搬送する。各光学素子は、スキャン対象物のカラースキャンを実行可能である。各光学素子は、CCDイメージセンサ(Charge Coupled Device Image Sensor)であってもよいし、CIS(Contact Image Sensor)であってもよい。特に、本実施例では、複数個の光学素子は、ADF機構によって搬送されるスキャン対象物の表面をスキャンするための複数個の表面用光学素子と、スキャン対象物の裏面をスキャンするための複数個の裏面用光学素子と、を備える。換言すると、表面用光学素子は、スキャン対象物を所定方向からスキャンする光学素子であり、裏面用光学素子は、スキャン対象物を上記の所定方向の反対方向からスキャンする光学素子である。スキャナSCは、スキャン対象物がADF機構によって搬送される過程において、スキャン対象物の表面と裏面とのそれぞれを別個にスキャンして、スキャン対象物の表面を表わすスキャン画像データ(即ち、1個の画像ファイル)と、スキャン対象物の裏面を表わすスキャン画像データ(即ち、他の1個の画像ファイル)と、を同時的に生成することができる。
また、本実施例では、特に、スキャナSCが、ショッピング等によって得られるレシートであるレシート原稿(例えばRD1又はRD2)をスキャンして、スキャン画像データを生成する状況に着目する。レシート原稿は、比較的に薄い紙であるので、そのままADF機構によって搬送されると、レシート原稿がADF機構に詰まる可能性がある。これを避けるために、袋形状を有するキャリアシートCSが利用される。キャリアシートCSの表面及び裏面のそれぞれは、矩形形状を有すると共に、ほぼ透明の所定色を有する。キャリアシートCSの表面は、表面であることを示す黒色のマーク30を含み、裏面は、上記のマーク30を含まない。ただし、キャリアシートCSの裏面に破線で示されるように、表面のマーク30が裏面に透けている。スキャナSCは、レシート原稿がキャリアシートCSに収容された状態で、キャリアシートCSをADF機構によって搬送する。これにより、スキャナSCは、レシート原稿のスキャンを適切に実行することができる。
図1には、各レシート原稿RD1,RD2が示されている。各レシート原稿RD1,RD2は、矩形形状を有する。レシート原稿RD1の表面は、白色の背景を有し、黒色の複数行の文字列を含む文字列オブジェクトと、赤色の装飾オブジェクトと、を含む。文字列オブジェクトに含まれる1行の文字列を構成する複数個の文字(例えば「AAA Shop」)は、図1の横方向に沿って並んでいる。また、文字列オブジェクトに含まれる複数行の文字列は、図1の縦方向に沿って並んでいる。なお、以下のいずれの画像(例えば後述の図2の表面スキャン画像FSI1等)及び画像データにおいても、1行の文字列を構成する複数個の文字が並ぶ方向、当該方向に直交する方向を、それぞれ、「横方向(即ち、左右方向)」、「縦方向(即ち、上下方向)」と呼ぶ。また、装飾オブジェクトは、レシート原稿RD1の上部に配置されており、レシート原稿RD1を装飾するためのオブジェクトである。
レシート原稿RD2の表面は、白色の背景を有し、黒色の複数行の文字列を含む文字列オブジェクトを含む。レシート原稿RD2の縦方向の長さは、レシート原稿RD1の縦方向の長さよりも大きい。具体的には、レシート原稿RD1の縦方向の長さは、キャリアシートCSに収まる長さであり、レシート原稿RD2の縦方向の長さは、キャリアシートCSに収まらない長さである。従って、レシート原稿RD2のスキャンが実行されるべき状況では、レシート原稿RD2が折り返された状態で、レシート原稿RD2がキャリアシートCSに収容される。
また、図1では図示省略しているが、各レシート原稿RD1,RD2の裏面は、白色の背景を有する(即ち、いわゆる白紙である)。ただし、各レシート原稿RD1,RD2の裏面には、レシート原稿RD1,RD2の表面に描画されているオブジェクトが透けている。即ち、オブジェクトの裏移り(さらに換言すると裏抜け)が発生している。
ユーザは、レシート原稿RD1を示す画像を表わす画像データを端末装置TEに保存することを望む場合に、まず、レシート原稿RD1をキャリアシートCSに収容する。この際に、ユーザは、レシート原稿RD1の表面がキャリアシートCSの表面を向くように、即ち、レシート原稿RD1の裏面がキャリアシートCSの裏面を向くように、レシート原稿RD1をキャリアシートCSに収容する。そして、ユーザは、キャリアシートCSの表面が予め決められている向き(例えば上向き)を向くように、キャリアシートCSをスキャナSCのADF機構にセットする。次いで、ユーザは、端末装置TEのドライバプログラム26を起動して、レシート原稿RD1のスキャンのための指示を端末装置TEに入力する。これにより、スキャン指示が端末装置TEからスキャナSCに供給される。スキャナSCは、端末装置TEからスキャン指示を取得すると、ADF機構にセットされているキャリアシートCSを搬送し、キャリアシートCSの表面と裏面とのそれぞれをカラースキャンして、表面スキャン画像を表わす表面スキャン画像データと、裏面スキャン画像を表わす裏面スキャン画像データと、を生成する。そして、スキャナSCは、これらのスキャン画像データを端末装置TEに供給する。
上述したように、レシート原稿RD2の縦方向の長さは、キャリアシートCSに収まらない長さである。従って、ユーザは、レシート原稿RD2を示す画像を表わす画像データを端末装置TEに保存することを望む場合に、まず、レシート原稿RD2の表面が山になるように、図1に示される折り返し位置でレシート原稿RD2を折り返す。そして、ユーザは、レシート原稿RD2の前半部分(即ち、「FFF Shop」〜「HHH $80」)がキャリアシートCSの表面を向くように、即ち、レシート原稿RD2の後半部分(即ち、「III $500」〜「KKK $10」)がキャリアシートCSの裏面を向くように、レシート原稿RD2をキャリアシートCSに収容する。その後の動作は、レシート原稿RD1の場合と同様であり、表面スキャン画像データと裏面スキャン画像データとがスキャナSCから端末装置TEに供給される。
(スキャン画像の一例;図2)
続いて、図2を参照して、各スキャン画像の内容を説明する。ケースAは、レシート原稿RD1を収容しているキャリアシートCSがスキャンされる様子を示す。キャリアシートCSの表面には、レシート原稿RD1の表面が透けており、キャリアシートCSの裏面には、レシート原稿RD1の裏面が透けている。レシート原稿RD1の裏面は、破線で示されるように、レシート原稿RD1の表面から透けている文字列オブジェクトと装飾オブジェクトとを含む。
レシート原稿RD1を収容しているキャリアシートCSの表面がカラースキャンされる結果として、表面スキャン画像FSI1を表わす表面スキャン画像データが生成され、当該キャリアシートCSの裏面がカラースキャンされる結果として、裏面スキャン画像BSI1を表わす裏面スキャン画像データが生成される。表面スキャン画像データと裏面スキャン画像データとのそれぞれは、複数個の画素データによって構成されるビットマップデータである。特に、各画素データは、RGB色空間(即ち、RGB座標系)内の座標値として表現される画素値を示す。R値、G値、B値は、それぞれ、「0〜255」の範囲内の数値である。表面スキャン画像データを構成する画素データの個数と、裏面スキャン画像データを構成する画素データの個数と、は等しい。
キャリアシートCSの表面を越える範囲がスキャンされ、当該範囲が白色を示す画素によって表現されるので、表面スキャン画像FSI1は、当該範囲に対応する白色のスキャン背景領域SBA1を含む。また、表面スキャン画像FSI1は、キャリアシートCSの表面に対応するキャリアシート領域CSA1と、レシート原稿RD1の表面に対応するレシート原稿領域RDA1と、を含む。キャリアシート領域CSA1では、大部分が上記の所定色(即ち、キャリアシートCSの色)であるが、マーク30に対応する部分が黒色である。レシート原稿領域RDA1は、レシート原稿RD1の表面に含まれる背景、文字列オブジェクト、及び、装飾オブジェクトのそれぞれを示す背景画像、文字列オブジェクト画像、及び、装飾オブジェクト画像を含む。同様に、裏面スキャン画像BSI1は、白色のスキャン背景領域SBA2と、キャリアシートCSの裏面に対応する上記の所定色のキャリアシート領域CSA2と、レシート原稿RD1の裏面に対応するレシート原稿領域RDA2と、を含む。レシート原稿領域RDA2は、レシート原稿RD1の裏面に含まれる背景を示す背景画像を含み、さらに、レシート原稿RD1の表面から裏面に透けている文字列オブジェクト及び装飾オブジェクトのそれぞれを示す文字列オブジェクト画像及び装飾オブジェクト画像を含む。
ケースBは、レシート原稿RD2を収容しているキャリアシートCSがスキャンされる様子を示す。以下では、ケースAと同様の説明を省略して、ケースBを説明する。キャリアシートCSの表面には、レシート原稿RD2の表面の前半部分(即ち、「FFF Shop」〜「HHH $80」)が透けており、キャリアシートCSの裏面には、レシート原稿RD2の表面の後半部分(即ち、「III $500」〜「KKK $10」)が透けている。
レシート原稿RD2を収容しているキャリアシートCSの表面がカラースキャンされる結果として、表面スキャン画像FSI2を表わす表面スキャン画像データが生成され、当該キャリアシートCSの裏面がカラースキャンされる結果として、裏面スキャン画像BSI2を表わす裏面スキャン画像データが生成される。表面スキャン画像FSI2は、白色のスキャン背景領域SBA3と、上記の所定色のキャリアシート領域CSA3と、レシート原稿領域RDA3と、を含む。また、裏面スキャン画像BSI2は、白色のスキャン背景領域SBA4と、上記の所定色のキャリアシート領域CSA4と、レシート原稿領域RDA4と、を含む。
(端末装置TEのドライバプログラム処理;図3)
続いて、図3を参照して、端末装置TEのドライバプログラム26によって実行される処理の内容を説明する。上述したように、端末装置TEのCPU22は、レシート原稿のスキャンのための指示がユーザによって入力される場合に、スキャン指示をスキャナSCに供給する。これにより、S10において、CPU22は、スキャナSCから表面スキャン画像データと裏面スキャン画像データとを取得する。
S20では、CPU22は、S10で取得された表面スキャン画像データと裏面スキャン画像データとのそれぞれに対する縁部除去処理を実行する。具体的には、CPU22は、表面スキャン画像データを構成する複数個の画素データのうち、上下左右の各縁部に存在する所定個の画素データを除去して、表面対象画像を表わす表面対象画像データを生成する。例えば、CPU22は、図2のケースAの表面スキャン画像FSI1を表わす表面スキャン画像データに対する縁部除去処理を実行する場合には、図3のケースAの表面対象画像FTI1を表わす表面対象画像データを生成する。表面対象画像FTI1は、上下左右の各縁部が除去されたことに起因して、スキャン背景領域SBA1(図2参照)を含まないと共に、キャリアシート領域CSA1の一部(例えばマーク30を示す部分)を含まない。同様に、図2のケースBの表面スキャン画像FSI2を表わす表面スキャン画像データに対する縁部除去処理が実行される場合には、図3のケースBの表面対象画像FTI2を表わす表面対象画像データが生成される。
また、CPU22は、表面スキャン画像データの場合と同様に、裏面スキャン画像データに対する縁部除去処理を実行して、裏面対象画像を表わす裏面対象画像データを生成する。表面対象画像データを構成する画素データの個数と、裏面対象画像データを構成する画素データの個数と、は等しい。図2のケースAの裏面スキャン画像BSI1を表わす裏面スキャン画像データに対する縁部除去処理が実行される場合には、図3のケースAの裏面対象画像BTI1を表わす裏面対象画像データが生成される。また、図2のケースBの裏面スキャン画像BSI2を表わす裏面スキャン画像データに対する縁部除去処理が実行される場合には、図3のケースBの裏面対象画像BTI2を表わす裏面対象画像データが生成される。
S30では、CPU22は、S20で生成された表面対象画像データと裏面対象画像データとを利用して、折り返し有無判断処理(後述の図4)を実行する。即ち、CPU22は、ケースAに示されるように、折り返されていないレシート原稿RD1のスキャンが実行されたのか(即ち、折り返し無)、ケースBに示されるように、折り返されているレシート原稿RD2のスキャンが実行されたのか(即ち、折り返し有)、を判断する。
S60では、CPU22は、S30の判断処理の結果が、折り返し有であるのか、折り返し無であるのか、を判断する。CPU22は、S30の判断処理の結果が折り返し無である場合(S60でNO)には、S70において、S20で生成された裏面対象画像データを利用せずに、S20で生成された表面対象画像データのみを利用して、出力画像データを生成し(後述の図7参照)、当該出力画像データを表示部14(図1参照)に供給する。これにより、ユーザは、折り返されていない状態でスキャンされたレシート原稿RD1を示す出力画像を見ることができる。一方、CPU22は、S30の判断処理の結果が折り返し有である場合(S60でYES)には、S80において、S20で生成された表面対象画像データと裏面対象画像データとの双方を利用して、出力画像データを生成し(後述の図7参照)、当該出力画像データを表示部14(図1参照)に供給する。これにより、ユーザは、折り返された状態でスキャンされたレシート原稿RD2を示す出力画像を見ることができる。S70又はS80が終了すると、図3の処理が終了する。
(折り返し有無判断処理;図4)
続いて、図4を参照して、図3のS30の折り返し有無判断処理の内容を説明する。S32では、CPU22は、図3のS20で生成された表面対象画像データに対する輝度値変換処理を実行する。具体的には、CPU22は、表面対象画像データを構成する複数個の画素データのそれぞれについて、当該画素データが示す画素値(即ち、R値とG値とB値)をS32内の数式に従って輝度値(即ち、Y値)に変換して、輝度値を示す新たな画素データを生成する。これにより、輝度値を示す複数個の新たな画素データによって構成される輝度画像データが生成される。輝度値は、「0〜255」の範囲内の数値である。
S34では、CPU22は、S32で生成された輝度画像データに対するエッジ強度決定処理を実行する。具体的には、CPU22は、輝度画像データを構成する複数個の画素データのそれぞれについて、Sobelフィルタを利用して、当該画素データが示す輝度値をエッジ強度値に変換して、エッジ強度値を示す新たな画素データを生成する。これにより、エッジ強度値を示す複数個の新たな画素データによって構成されるエッジ強度画像データが生成される。なお、変形例では、CPU22は、Sobelフィルタに代えて、1次微分フィルタ、2次微分フィルタ、ラプラシアンフィルタ等を利用して、エッジ強度値を算出してもよい。
S36では、CPU22は、S34で生成されたエッジ強度画像データに対する二値化処理を実行する。具体的には、CPU22は、エッジ強度画像データを構成する複数個の画素データのそれぞれについて、当該画素データが示すエッジ強度値を「1」又は「0」に変換して、「1」又は「0」を示す新たな画素データを生成する。より具体的には、CPU22は、エッジ強度値が予め決められている閾値(当該閾値はゼロより大きい値)よりも大きい場合には、「1」を示す新たな画素データを生成し、エッジ強度値が上記の閾値以下である場合には、「0」を示す新たな画素データを生成する。これにより、「1」又は「0」を示す複数個の新たな画素データによって構成される二値画像データが生成される。以下では、「1」を示す画素データ、「0」を示す画素データのことを、それぞれ、「ON画素データ」、「OFF画素データ」と呼ぶ。
S38では、CPU22は、S36で生成された二値画像データに対するON画素膨張処理を実行する。具体的には、CPU22は、二値画像データを構成する複数個のON画素データのそれぞれについて、当該ON画素データを中心とする25個の画素データ(即ち、横方向5個×縦方向5個の画素データ)に含まれる全てのOFF画素データをON画素データに変更する。これにより、「1」又は「0」を示す複数個の画素データによって構成される膨張画像データが生成される。
S40では、CPU22は、S32で生成された輝度画像データと、S38で生成された膨張画像データと、を利用して、輝度値の出現頻度の分布を表わすヒストグラムを生成する。具体的には、CPU22は、まず、輝度画像データを構成する複数個の画素データの中から、膨張画像データを構成する各ON画素データに対応する各位置に存在する各画素データを特定する。そして、CPU22は、特定済みの各画素データが示す各輝度値の出現頻度の分布を表わすヒストグラムを生成する。
S42では、CPU22は、S40で生成されたヒストグラムを利用して、「0〜155」の範囲内の輝度値の中から、最高の出現頻度を有する輝度値(即ち、最頻値)Ymax1を決定する。最頻値Ymax1は、表面スキャン画像(図2のFSI1又はFSI2)に含まれる文字列オブジェクト画像で最も利用されている色を示す値である。
S44では、CPU22は、図2のS20で生成された裏面対象画像データに対して、S32〜S42の処理を順次実行する。これにより、CPU22は、「0〜155」の範囲内の輝度値の中から、最高の出現頻度を有する輝度値(即ち、最頻値)Ymax2を決定する。最頻値Ymax2は、裏面スキャン画像(図2のBSI1又はBSI2)に含まれる文字列オブジェクト画像で最も利用されている色を示す値である。
S46では、CPU22は、S42で決定された最頻値Ymax1と、S44で決定された最頻値Ymax2と、の差分が、予め決められている閾値Th1以下であるのか否かを判断する。即ち、CPU22は、輝度値を示す一軸のみによって構成される座標系において、座標値Ymax1と座標値Ymax2との間の距離が、閾値Th1以下であるのか否かを判断する。閾値Th1は、本実施例では、「20」であるが、変形例では、「20」以外の値(例えば「10」、「30」等)であってもよい。CPU22は、上記の差分(即ち、上記の距離)が閾値Th1以下であると判断する場合(S46でYES)には、S48において、折り返し有と判断し、上記の差分(即ち、上記の距離)が閾値Th1よりも大きいと判断する場合(S46でNO)には、S50において、折り返し無と判断する。S48又はS50が終了すると、図4の処理が終了する。
上述したように、本実施例では、CPU22は、RGBを示す三軸の座標系内において、文字列オブジェクト画像で最も利用されている色を示すRGB値を算出するのではなく、輝度値を示す一軸の座標系内において、文字列オブジェクト画像で最も利用されている色を示す輝度値(即ち、最頻値Ymax1,Ymax2)を算出する。従って、CPU22は、迅速に処理を実行し得る。特に、本実施例では、比較的に色数が少ない文字列オブジェクトを含むレシート原稿が処理対象であるので、RGB値の最頻値ではなく輝度値の最頻値を利用しても、折り返しの有無を適切に判断することができる。
(折り返し有無判断処理の具体的な内容;図5、図6)
続いて、図5及び図6を参照して、図4の折り返し有無判断処理の具体的な内容を説明する。図5は、表面対象画像データFTIDを構成する複数個の画素データのうちの一部の画素データ(即ち、100個の画素データ)を示す。図4のS32の輝度値変換処理が実行されると、表面対象画像データFTIDから輝度画像データLIDが生成される。
次いで、図4のS34及びS36のエッジ強度決定処理及び二値化処理が実行されると、輝度画像データLIDから二値画像データBIDが生成される。図5の例では、二値画像データBIDによって表わされる二値画像BIにおいて、ON画素データによって表わされるON画素、OFF画素データによって表わされるOFF画素が、それぞれ、黒色、白色で表現されている。例えば、文字を構成する線のうちの縁部を構成する画素は、エッジ強度が比較的に高くなる。従って、二値画像BIでは、文字「A」を構成する線のうちの縁部が黒色(即ち、ON画素)で表現されている。また、例えば、図1のレシート原稿RD1に基づいて得られる二値画像BIでは、装飾オブジェクトと背景との間の境界がON画素になり得る。
次いで、図4のS38のON画素膨張処理が実行されると、二値画像データBIDから膨張画像データEIDが生成される。例えば、二値画像データBIDを構成する1個のON画素データP1を中心とする25個の画素データ(即ち、太線で囲まれた各画素データ)に含まれる全てのOFF画素データがON画素データに変更される。図5の例では、膨張画像データEIDによって表わされる膨張画像EIにおいて、ON画素データによって表わされるON画素、OFF画素データによって表わされるOFF画素が、それぞれ、黒色、白色で表現されている。ON画素膨張処理が実行されると、文字を構成する線のうちの縁部を構成するON画素が膨張されるので、文字を構成する線うちの縁部の周辺の各画素がON画素になり得る。従って、膨張画像EIでは、文字「A」を構成する線の全体が黒色(即ち、ON画素)で表現されている。また、例えば、図1のレシート原稿RD1に基づいて得られる膨張画像EIでは、装飾オブジェクトと背景との間の境界の周辺部分がON画素になり得る。ただし、装飾オブジェクトの縦方向の長さが大きいので、装飾オブジェクトの全体がON画素にならない(即ち、装飾オブジェクトのうち、上記の周辺部分よりも上側の部分がOFF画素である)。
次いで、図4のS40では、輝度画像データLIDを構成する複数個の画素データの中から、膨張画像データEIDを構成する各ON画素データに対応する各位置に存在する各画素データ(即ち、太線で囲まれた各画素データ)が特定される。そして、特定済みの各画素データが示す各輝度値の出現頻度の分布を表わすヒストグラムが生成される。なお、裏面対象画像データについても、図5と同様に各画像データが生成される。
上述したように、本実施例では、膨張画像EIでは、例えば、レシート原稿RD1又はRD2に含まれる文字列オブジェクトがON画素として表現され、レシート原稿RD1又はRD2に含まれる背景の大部分がOFF画素として表現される。従って、図4のS40又はS44で生成されるヒストグラムは、背景を表わす画素データの輝度値が反映され難い。従って、S42又はS44では、文字列オブジェクト画像で最も利用されている色(例えば黒色)を示す輝度値が最頻値として適切に決定される。
また、図1のレシート原稿RD1に基づいて得られる膨張画像EIでは、装飾オブジェクトと背景との間の境界の周辺部分がON画素として表現されるが、装飾オブジェクトのうち、上記の周辺部分よりも上側の部分がOFF画素として表現される。従って、ヒストグラムは、装飾オブジェクトを表わす全ての画素データの輝度値が反映されたものではなく、装飾オブジェクトを表わす全ての画素データのうちの一部の画素データの輝度値が反映されたものである。従って、S42又はS44では、装飾オブジェクト画像で最も利用されている色(例えば赤色)に対応する輝度値が最頻値として決定され難く、文字列オブジェクトで最も利用されている色(例えば黒色)に対応する輝度値が最頻値として適切に決定される。
図6のケースAは、表面対象画像FTI1を表わす表面対象画像データに基づいて、図4のS40で生成されるヒストグラムHA1と、裏面対象画像BTI1を表わす裏面対象画像データに基づいて、図4のS44で生成されるヒストグラムHA2と、を示す。各ヒストグラムHA1,HA2では、横軸が輝度値を示し、縦軸が輝度値の出現頻度を示す。この点は、後述のケースBの各ヒストグラムHB1,HB2でも同様である。
ヒストグラムHA1では、比較的に小さい輝度値に対応する範囲「0〜155」内に高い出現頻度を有する1個のピークが存在し、比較的に大きい輝度値に対応する範囲「155〜255」内に高い出現頻度を有する1個のピークが存在する。前者のピークは、比較的に小さい輝度値を示す黒色の文字列オブジェクト画像で最も利用されている色に対応し、後者のピークは、比較的に大きい輝度値を示す白色の背景画像で最も利用されている色に対応する。上述したように、ヒストグラムHA1では、背景画像を表わす画素データの輝度値が反映され難いが、図4のS38のON画素膨張処理の結果として、背景画像を表わす複数個の画素データのそれぞれがON画素データになり得る。従って、ヒストグラムHA1では、後者のピークの最頻値が前者のピークの最頻値よりも大きくなっている。ただし、図4のS42では、比較的に大きい輝度値に対応する範囲「155〜255」内から最頻値が決定されず、比較的に小さい輝度値に対応する範囲「0〜155」内から最頻値Ymax1が決定される。これにより、文字列オブジェクト画像で最も利用されている色を示す最頻値Ymax1が適切に決定される。
同様に、ヒストグラムHA2に基づいて、比較的に小さい輝度値に対応する範囲「0〜155」内から最頻値Ymax2が決定される。最頻値Ymax2は、レシート原稿RD1の表面から裏面に透けている文字列オブジェクトを示す文字列オブジェクト画像で最も利用されている色を示す値である。文字列オブジェクトの色は、表面では黒色であるが、裏面では黒色よりも薄い。従って、最頻値Ymax2は、最頻値Ymax1よりもかなり大きくなる。この結果、最頻値Ymax1と最頻値Ymax2との差分が閾値Th1よりも大きくなり(図4のS46でNO)、折り返し無と判断される(S50)。
図6のケースBは、表面対象画像FTI2を表わす表面対象画像データに基づいて、図4のS40で生成されるヒストグラムHB1と、裏面対象画像BTI2を表わす裏面対象画像データに基づいて、図4のS44で生成されるヒストグラムHB2と、を示す。
ケースAと同様に、ヒストグラムHB1に基づいて、範囲「0〜155」内から最頻値Ymax1が決定される。最頻値Ymax1は、レシート原稿RD2の表面に含まれる文字列オブジェクトのうちの前半部分(即ち、「FFF Shop」〜「HHH $80」)を示す文字列オブジェクト画像で最も利用されている色を示す値である。また、ヒストグラムHB2に基づいて、範囲「0〜155」内から最頻値Ymax2が決定される。最頻値Ymax2は、レシート原稿RD2の表面に含まれる文字列オブジェクトのうちの後半部分(即ち、「III $500〜KKK $10」)を示す文字列オブジェクト画像で最も利用されている色を示す値である。そして、文字列オブジェクトのうちの前半部分及び後半部分では、同じ色(即ち、黒色)が利用されているので、最頻値Ymax1と最頻値Ymax2との差分が閾値Th1以下になり(図4のS46でYES)、折り返し有と判断される(S48)。
(出力画像データを生成する処理の具体的な内容;図7)
続いて、図7を参照して、出力画像データを生成する処理(図3のS70及びS80)の具体的な内容を説明する。ケースAを参照して、図3のS70の処理の内容を説明する。ケースAでは、表面対象画像FTI1を表わす表面対象画像データと、裏面対象画像BTI1を表わす裏面対象画像データと、に基づいて、折り返し無と判断される(図3のS60でNO)。この場合、S70では、CPU22は、裏面対象画像データを利用せずに、表面対象画像データのみを利用して、出力画像データを生成する。
具体的には、CPU22は、まず、図4のS36で表面対象画像データに基づいて生成される二値画像データを利用して、縦方向の射影ヒストグラムHWと横方向の射影ヒストグラムHHとを生成する。縦方向の射影ヒストグラムHWは、二値画像データを構成する複数個の画素データを縦方向に沿って射影する場合におけるON画素データの出現頻度の分布を表わすヒストグラムである。横方向の射影ヒストグラムHHは、二値画像データを構成する複数個の画素データを横方向に沿って射影する場合におけるON画素データの出現頻度の分布を表わすヒストグラムである。
次いで、CPU22は、射影ヒストグラムHWの左端から右側に向かう過程において、予め決められている閾値Th2(Th2はゼロより大きい値)以上の出現頻度を最初に示す位置W1を特定すると共に、射影ヒストグラムHWの右端から左側に向かう過程において、閾値Th2以上の頻度を最初に示す位置W2を特定する。これにより、CPU22は、表面対象画像FTI1のうち、レシート原稿領域RDA1の左端の近傍の位置W1と、レシート原稿領域RDA1の右端の近傍の位置W2と、を特定することができる。特に、ゼロより大きい閾値Th2に基づいて各位置W1,W2が決定されるので、ゼロより高くかつ閾値Th2より低い頻度を有する位置が、レシート原稿領域RDA1の左端又は右端の近傍の位置として特定されない。これにより、例えば、汚れ、ゴミ等のノイズがキャリアシートCSに存在する場合に、当該ノイズの位置が、レシート原稿領域RDA1の左端又は右端の近傍の位置として特定されない。従って、レシート原稿領域RDA1の左端の近傍の位置及び右端の近傍の位置が適切に特定される。ただし、ゼロより大きい閾値Th2に基づいて各位置W1,W2が決定されるので、位置W1は、レシート原稿領域RDA1の左端よりも右側の位置であり、位置W2は、レシート原稿領域RDA1の右端よりも左側の位置である。即ち、各位置W1,W2は、レシート原稿領域RDA1の内側の位置である。
また、CPU22は、射影ヒストグラムHHの下端から上側に向かう過程において、閾値Th2よりも高い頻度を最初に示す位置H1を特定すると共に、射影ヒストグラムHHの上端から下側に向かう過程において、閾値Th2よりも高い頻度を最初に示す位置H2を特定する。これにより、CPU22は、表面対象画像FTI1のうち、レシート原稿領域RDA1の下端の近傍の位置H1と、レシート原稿領域RDA1の上端の近傍の位置H2と、を特定することができる。ただし、各位置W1,W2は、レシート原稿領域RDA1の内側の位置である。
次いで、CPU22は、表面対象画像FTI1のうち、特定済みの4個の位置W1,W2,H1,H2によって画定される矩形領域が上下左右のそれぞれの向きに所定サイズ(即ち、所定長さ)だけ拡大された拡大領域を出力対象領域OAとして決定する。上述したように、各位置W1,W2,H1,H2は、レシート原稿領域RDA1の内側の位置である。ただし、各位置W1,W2,H1,H2によって画定される矩形領域が拡大された拡大領域が出力対象領域OAとして決定されるので、レシート原稿領域RDA1の全体を含む出力対象領域OAが決定される。そして、CPU22は、表面対象画像データのうち、出力対象領域OAを表わす部分画像データを取得することによって、出力画像OI1を表わす出力画像データ(即ち、上記の部分画像データ)を生成する。これにより、ユーザは、折り返されていないレシート原稿RD1のスキャンによって得られる出力画像OI1を見ることができる。
続いて、ケースBを参照して、図3のS80の処理の内容を説明する。ケースBでは、表面対象画像FTI2を表わす表面対象画像データと、裏面対象画像BTI2を表わす裏面対象画像データと、に基づいて、折り返し有と判断される(図3のS60でYES)。この場合、S80では、CPU22は、表面対象画像データと裏面対象画像データとの双方を利用して、出力画像データを生成する。
具体的には、CPU22は、ケースAの場合と同様に、図4のS36で表面対象画像データに基づいて生成される二値画像データを利用して、縦方向の射影ヒストグラムと横方向の射影ヒストグラムとを生成し、それらの射影ヒストグラムを利用して、4個の位置を特定する。そして、CPU22は、表面対象画像FTI2(例えば図6のケースB参照)のうち、特定済みの4個の位置によって画定される矩形領域が所定サイズだけ拡大された拡大領域を出力対象領域OA1として決定する。次いで、CPU22は、表面対象画像データのうち、出力対象領域OA1を表わす第1の部分画像データを取得する。
また、CPU22は、図4のS44で裏面対象画像データに基づいて生成される二値画像データを利用して、縦方向の射影ヒストグラムと横方向の射影ヒストグラムとを生成し、それらの射影ヒストグラムを利用して、4個の位置を特定する。そして、CPU22は、裏面対象画像BTI2(例えば図6のケースB参照)のうち、特定済みの4個の位置によって画定される矩形領域が所定サイズだけ拡大された拡大領域を出力対象領域OA2として決定する。次いで、CPU22は、裏面対象画像データのうち、出力対象領域OA2を表わす第2の部分画像データを取得する。CPU22は、さらに、第2の部分画像データを180度回転させることによって、回転済み画像データを生成する。
次いで、CPU22は、第1の部分画像データの下端と回転済み画像データの上端とを結合して、出力画像OI2を表わす出力画像データを生成する。出力画像OI2では、出力対象領域OA1の下端と出力対象領域OA2の上端とが結合されている。これにより、ユーザは、折り返されたレシート原稿RD2のスキャンによって得られる出力画像OI2を見ることができる。
(実施例の効果)
本実施例によると、端末装置TEは、図4のS32で得られる輝度画像データを利用して、最頻値Ymax1を決定し(S42)、S44で得られる輝度画像データを利用して、最頻値Ymax2を決定する(S44)。そして、端末装置TEは、最頻値Ymax1と最頻値Ymax2との差分が閾値Th1よりも大きい場合(S46でNO)に、折り返し無と判断して(S50)、表面スキャン画像データのみを利用して、出力画像OI1を表わす出力データを生成する(図3のS70)。また、端末装置TEは、最頻値Ymax1と最頻値Ymax2との差分が閾値Th1以下である場合(図4のS46でYES)に、折り返し有と判断して(S48)、表面スキャン画像データと裏面スキャン画像データとの双方を利用して、出力画像OI2を表わす出力データを生成する(図3のS80)。このように、端末装置TEは、表面スキャン画像データのみを利用して、出力データを生成すべきか、表面スキャン画像データと裏面スキャン画像データとの双方を利用して、出力データを生成すべきか、を適切に判断することができる。このために、端末装置TEは、レシート原稿の折り返しの有無に応じた適切な出力データを生成することができる。
(第1の比較例)
例えば、スキャン対象の原稿が両面原稿であるのか片面原稿であるのかを以下のように判断する第1の比較例の技術が知られている。即ち、第1の比較例の技術では、原稿の表面の画像の濃度分布ヒストグラムによって示されるピーク数が規定値より大きい場合には、スキャン対象の原稿が両面原稿であると判断し、当該ピーク数が規定値以下である場合には、スキャン対象の原稿が片面原稿であると判断する。この技術では、スキャン対象の原稿が両面原稿である場合には、原稿の裏面のオブジェクトが表面に透けることに起因して、上記のピーク数が多くなる点に着目している。ただし、本実施例の図2のケースBに示されるように、レシート原稿RD2が折り返された状態では、レシート原稿RD2が二重になるので、通常、裏側の文字列「III $500」等は、表側に透けない。このために、第1の比較例の技術では、図2のケースBについて、両面原稿であると判断するのが困難であり(即ち、片面原稿であると判断する可能性が高く)、表面スキャン画像データのみを利用して、出力データが生成され得る。これに対し、本実施例の端末装置TEは、図2のケースBについて、折り返し有と適切に判断することができるので、表面スキャン画像データと裏面スキャン画像データとの双方を利用して、出力データを適切に生成することができる。
(第2の比較例)
例えば、スキャン対象の原稿が白紙であるのか否かを以下のように判断する第2の比較例の技術が知られている。即ち、第2の比較例の技術では、原稿の画像に基づいて原稿の背景色を特定し、原稿の画像を構成する全画素数のうち、背景色以外の色を示す画素数の割合が、所定値以下である場合に、白紙と判断する。ただし、第2の比較例の技術では、図2のケースAのレシート原稿RD1の裏面について、表面から透けているオブジェクトを構成する画素数が多くなるので、レシート原稿RD1の裏面を白紙でないと判断し得る。このために、第2の比較例の技術では、図2のケースAについて、表面スキャン画像データと裏面スキャン画像データとの双方を利用して、出力データが生成され得る。これに対し、本実施例の端末装置TEは、図2のケースAについて、折り返し無と適切に判断することができるので、表面スキャン画像データのみを利用して、出力データを適切に生成することができる。
(対応関係)
端末装置TEが、「画像処理装置」の一例である。図2の表面スキャン画像FSI1(又はFSI2)、裏面スキャン画像BSI1(又はBSI2)が、それぞれ、「第1の原画像」、「第2の原画像」の一例である。表面スキャン画像FSI1(又はFSI2)に含まれる文字列オブジェクト画像、裏面スキャン画像BSI1(又はBSI2)に含まれる文字列オブジェクト画像が、それぞれ、「第1のオブジェクト画像」、「第2のオブジェクト画像」の一例である。レシート原稿RD1において、表面に含まれる各文字列、裏面に含まれる各文字列が、それぞれ、「第1のオブジェクト」、「第2のオブジェクト」の一例である。レシート原稿RD2において、前半の3行の文字列「FFF Shop」〜「HHH $80」、後半の3行の文字列「III s$500」〜「KKK $10」が、それぞれ、「第1のオブジェクト」、「第2のオブジェクト」の一例である。図7の出力画像OI1、OI2が、それぞれ、「第1の出力画像」、「第2の出力画像」の一例である。出力対象領域OA、OA1、OA2が、それぞれ、「出力対象領域」、「第1の出力対象領域」、「第2の出力対象領域」の一例である。
表面スキャン画像データ(又は裏面スキャン画像データ)を構成する複数個の画素データのうち、図3の縁部除去処理で得られる表面対象画像データ(又は裏面対象画像データ)を構成する複数個の画素データが、「複数個の原画素データ」の一例である。図4のS32で得られる輝度画像データ、S44で得られる輝度画像データが、それぞれ、「第1の対象画像データ」、「第2の対象画像データ」の一例である。図4のS32(又はS44)で得られる輝度画像データを構成する複数個の画素データのうち、文字列オブジェクト画像を表わす各画素データが、「第1(又は第2)のオブジェクト画素データ群」の一例である。S32(又はS44)で得られる輝度画像データを構成する複数個の画素データのうち、S38(又はS44)で得られる膨張画像データを構成する各ON画素データに対応する各位置に存在する各画素データが、「第1(又は第2)の対象画像データを構成する複数個の対象画素データのうちの少なくとも一部の各対象画素データ」の一例である。S32(又はS44)で得られる輝度画像データを構成する複数個の画素データのうち、S36(又はS44)で得られる二値画像データを構成する各ON画素データに対応する各位置に存在する各画素データが、「高強度画素データ」の一例である。S32(又はS44)で得られる輝度画像データを構成する複数個の画素データのうち、S38(又はS44)で膨張された各ON画素データに対応する各位置に存在する各画素データが、「近傍画素データ」の一例である。
図4のS40で生成されるヒストグラムHA1(又はHB1)、S44で生成されるヒストグラムHA2(又はHB2)が、それぞれ、「第1のヒストグラム」、「第2のヒストグラム」の一例である。輝度値の範囲「0〜255」、「0〜155」が、それぞれ、「第1の座標系で表現可能な最も広い画素値の範囲」、「所定範囲」の一例である。最頻値Ymax1、Ymax2が、それぞれ、「第1の座標値」、「第2の座標値」の一例である。輝度値を示す一軸の座標系、RGB値を示す三軸の座標系が、それぞれ、「第1の座標系」、「第2の座標系」の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)上記の実施例では、図2のケースBでは、レシート原稿RD2が折り返された状態でキャリアシートCSの表面及び裏面のそれぞれがスキャンされる。これに代えて、例えば、以下の(変形例1−1)又は(変形例1−2)が採用されてもよい。
(変形例1−1)例えば、同じ大きさを有する2枚のレシート原稿のそれぞれの裏面が向かい合うように、2枚のレシート原稿が重ねられた状態で、2枚のレシート原稿がキャリアシートCSに収容される。この状態でキャリアシートCSの表面及び裏面のそれぞれがスキャンされると、CPU22は、図3のS60で折り返し有と判断し(S60でYES)、2枚のレシート原稿を示す出力画像データを生成する(S80)。一般的に言うと、第1及び第2の原画像データは、上記の実施例のように、同じ原稿のスキャンによって得られるデータであってもよいし、本変形例のように、異なる原稿のスキャンによって得られるデータであってもよい。
(変形例1−2)例えば、第1のレシート原稿がキャリアシートCSに収容された状態で、キャリアシートCSの表面がスキャンされ、その後、第2のレシート原稿がキャリアシートCSに収容された状態で、キャリアシートCSの表面がスキャンされる。第2のレシート原稿は、第1のレシート原稿と同じ原稿でもよいし(例えば、折り返された原稿の表面の前半部分が先にスキャンされ、当該原稿の表面の後半部分が後にスキャンされる)、第1のレシート原稿とは異なる原稿であってもよい。この場合、図3のS10において、CPU22は、先のスキャンによって生成される第1のスキャン画像データと、後のスキャンによって生成される第2のスキャン画像データと、を取得する。そして、CPU22は、表面スキャン画像データ、裏面スキャン画像データを、それぞれ、第1のスキャン画像データ、第2のスキャン画像データに置き換えて、図3のS20〜S80の各処理を実行する。この場合、CPU22は、S60で折り返し有と判断し(S60でYES)、第1及び第2のレシート原稿を示す出力画像データを生成する(S80)。一般的に言うと、第1及び第2の原画像データは、上記の実施例のように、同じ原稿を同じタイミングでスキャンすることによって得られるデータであってもよいし、本変形例のように、同じ原稿又は異なる原稿を異なるタイミングでスキャンすることによって得られるデータであってもよい。
(変形例2)上記の実施例では、図4のS42及びS44において、CPU22は、文字列オブジェクト画像で最も利用されている色を示す輝度値を算出する。これに代えて、CPU22は、文字列オブジェクト画像で最も利用されている色を示すRGB値を算出してもよい。例えば、CPU22は、図3のS20で得られる表面対象画像データを構成する複数個の画素データのうち、S38で得られる膨張画像データを構成する各ON画素データに対応する各位置に存在する各画素データを利用して、R値の最頻値と、G値の最頻値と、B値の最頻値と、をそれぞれ算出する(即ち、第1のRGB最頻値を算出する)。また、CPU22は、図3のS20で得られる裏面対象画像データを構成する複数個の画素データのうち、S44で得られる膨張画像データを構成する各ON画素データに対応する各位置に存在する各画素データを利用して、R値の最頻値と、G値の最頻値と、B値の最頻値と、をそれぞれ算出する(即ち、第2のRGB最頻値を算出する)。そして、S46では、CPU22は、RGB値を示す三軸の座標系において、第1のRGB最頻値と第2のRGB最頻値との間の距離が閾値以下であるのか否かを判断する。この構成でも、CPU22は、レシート原稿の折り返しの有無を適切に判断することができる。本変形例では、RGB値を示す三軸の座標系、第1のRGB最頻値、第2のRGB最頻値が、それぞれ、「第1の座標系」、「第1の座標値」、「第2の座標値」の一例である。また、表面対象画像データ、裏面対象画像データが、それぞれ、「第1の対象画像データ」、「第2の対象画像データ」の一例である。
(変形例3)図4のS42及びS44において、CPU22は、文字列オブジェクト画像で最も利用されている色を示す輝度値(即ち、最頻値)の近傍の輝度値(例えば、最頻値に所定値が加算された値、最頻値に所定値が乗算された値等)を算出してもよい。そして、S46では、CPU22は、S42で算出される上記の近傍の輝度値とS44で算出される上記の近傍の輝度値との差分が閾値Th1以下であるのか否かを判断してもよい。一般的に言うと、「第1(又は第2)の座標値」は、第1(又は第2)のオブジェクト画像で最も利用されている色に関係する値であればよい。
(変形例4)上記の実施例では、図3のS70(又はS80)において、CPU22は、出力画像OI1(又はOI2)(図7参照)を表わす出力画像データを生成して、当該出力画像OI1(又はOI2)を表示部14に表示させる。これに代えて、CPU22は、出力画像データを利用してOCR(Optical Character Recognitionの略)解析を実行して、テキストデータを生成し、当該テキストデータを表示部14に表示させてもよい。本変形例では、テキストデータが、「第1(又は第2)の出力データ」の一例である。
(変形例5)上記の実施例では、キャリアシートCSの表面にマーク30が付されており、ユーザがマーク30に基づいてキャリアシートCSをスキャナSCにセットするので、キャリアシートCSの表面がスキャンされて、表面スキャン画像データが生成されることが前提となっている。即ち、CPU22は、スキャナSCから得られる2個のスキャン画像データのうちのどちらが表面スキャン画像データであるのかを知っていることが前提となっている。ただし、当該前提が成立しない状況では、図3のS70において、CPU22は、以下の処理を実行してもよい。即ち、CPU22は、スキャナSCから得られる2個のスキャン画像データに基づいて生成される2個の最頻値Ymax1,Ymax2のうちの小さい最頻値が生成されたスキャン画像データ、即ち、濃い文字を含む画像を表わすスキャン画像データを、表面スキャン画像データとして決定する。そして、CPU22は、決定済みのスキャン画像データのみを利用して、出力画像データを生成する。
(変形例6)CPU22は、図4のS34〜S38を省略して、S40において、S32の輝度画像データを利用して、輝度値の出現頻度を示すヒストグラムを生成しておよい。この場合、背景画像を表わす各画素データの輝度値の出現頻度が高くなるが、当該輝度値は、通常、「156」以上の比較的に大きい値である。そして、S42では、CPU22は、輝度値の範囲「0〜255」のうち、比較的に小さい輝度値の範囲「0〜155」から最頻値を決定するので、背景画像で利用されている色を示す輝度値を決定することなく、文字列オブジェクト画像で最も利用されている色を示す輝度値を適切に決定し得る。CPU22は、S44でも同様の処理を実行してもよい。一般的に言うと、「画像処理装置」は、「エッジ強度決定部」を備えていなくてもよい。
(変形例7)図4のS42及びS44において、CPU22は、輝度値の範囲「0〜255」のうちの一部の範囲「0〜155」から最頻値を決定するのではなく、輝度値の範囲「0〜255」から最頻値を決定してもよい。図4のS34〜S38において、背景画像を表わす各画素データが反映され難くなるので、本変形例でも、CPU22は、文字列オブジェクト画像で最も利用されている色を示す輝度値を適切に決定し得る。一般的に言うと、「画像処理装置」は、第1(又は第2)の座標系で表現可能な最も広い画素値の範囲の中から、最高の出現頻度を有する画素値に関係する第1(又は2)の座標値を決定してもよい。
(変形例8)図4のS46において、CPU22は、最頻値Ymax1に対する最頻値Ymax2の割合(即ち、Ymax2/Ymax1)が「1」の近傍の範囲(例えば「0.8」〜「1.2」)内である場合に、折り返し有と判断し、当該割合が当該範囲外である場合に、折り返し無と判断してもよい。本変形例も、第1の座標値と第2の座標値との間の距離が閾値よりも大きいのか否かを判断する構成の一例である。
(変形例9)図4のS46において、CPU22は、最頻値Ymax1と最頻値Ymax2とに基づいて(例えばこれらの値の和に基づいて)、閾値Th1を変更してもよい。例えば、CPU22は、最頻値Ymax1と最頻値Ymax2との和が大きくなる程、大きい閾値Th1を採用してもよい。一般的に言うと、「閾値」は、固定値でなくてもよく、可変値であってもよい。
(変形例10)図4のS34〜S42に代えて、CPU22は、以下の処理を実行してもよい。即ち、CPU22は、S32で得られる輝度画像データを構成する複数個の画素データを、M個(Mは2以上の整数)の画素データ群に区分する。1個の画素データ群は、近傍に存在する2個以上の画素データ(例えば、5個×5個=25個の画素データ)の集合である。次いで、CPU22は、M個の画素データ群のそれぞれについて、当該画素データ群を構成する2個以上の画素データの2個以上の輝度値のうち、最高の出現頻度を示す輝度値(即ち、最頻値)を決定する。そして、CPU22は、M個の画素データ群について決定されたM個の輝度値のうち、最高の出現頻度を示す輝度値(即ち最頻値Ymax1)を決定する。CPU22は、S44に代えて、同様に、最頻値Ymax2を決定する。この構成では、例えば、装飾オブジェクト画像を表わす各画素データ群(以下では「装飾画素データ群」と呼ぶ)について、赤色に対応する輝度値が決定されるが、文字列オブジェクト画像を表わす各画素データ群(以下では「文字列画素データ群」と呼ぶ)について、黒色に対応する輝度値が決定される。そして、レシート原稿RD1では、装飾オブジェクトが描画されている範囲よりも、文字列オブジェクトが描画されている範囲の方が広いので、文字列画素データ群の数が装飾画素データ群の数よりも大きくなる。この結果、CPU22は、文字列オブジェクト画像で最も利用されている色を示す最頻値Ymax1(又は最頻値Ymax2)を決定することができる。
(変形例11)上記の実施例では、端末装置TEが、図3及び図4の各処理を実行する。これに代えて、スキャナSCが、図3及び図4の各処理を実行して、スキャナSCの表示部(図示省略)又は端末装置TEの表示部14に出力画像OI1(又はOI2)を表示させてもよい。本変形例では、スキャナSCが、「画像処理装置」の一例である。
(変形例12)上記の実施例では、端末装置TEのCPU22がドライバプログラム26(即ち、ソフトウェア)を実行することによって、図2及び図3の各処理が実現される。これに代えて、図2及び図3の各処理のうちの少なくとも1つの処理は、論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、SC:スキャナ、TE:端末装置、10:ネットワークインターフェース、12:操作部、14:表示部、20:制御部、22:CPU、24:メモリ、26:ドライバプログラム、30:マーク、CS:キャリアシート、RD1,RD2:レシート原稿、FSI1,FSI2:表面スキャン画像、BSI1,BSI2:裏面スキャン画像、FTI1,FTI2:表面対象画像、BTI1,BTI2:裏面対象画像、BI:二値画像、EI:膨張画像、OI1,OI2:出力画像、HA1,HA2,HB1,HB2:ヒストグラム、HH,HW:射影ヒストグラム、Th1,Th2:閾値、Ymax1,Ymax2:最頻値

Claims (10)

  1. 画像処理装置であって、
    第1のオブジェクトを含む原稿がスキャンされることによって得られる第1の原画像データと、第2のオブジェクトを含む原稿がスキャンされることによって得られる第2の原画像データと、を取得する取得部であって、前記第1の原画像データによって表わされる第1の原画像は、前記第1のオブジェクトを示す第1のオブジェクト画像を含み、前記第2の原画像データによって表わされる第2の原画像は、前記第2のオブジェクトを示す第2のオブジェクト画像を含む、前記取得部と、
    前記第1の原画像データを用いて得られる第1の対象画像データを利用して、第1の座標系内の第1の座標値を決定し、前記第2の原画像データを用いて得られる第2の対象画像データを利用して、前記第1の座標系内の第2の座標値を決定する座標値決定部であって、前記第1の座標値は、前記第1のオブジェクト画像で最も利用されている色に関係する値であり、前記第2の座標値は、前記第2のオブジェクト画像で最も利用されている色に関係する値である、前記座標値決定部と、
    前記第1の座標系において、前記第1の座標値と前記第2の座標値との間の距離が閾値よりも大きい場合に、前記第1の原画像データと前記第2の原画像データとのうちの一方を利用して、第1の出力データを生成し、前記第1の座標値と前記第2の座標値との間の前記距離が前記閾値以下である場合に、前記第1の原画像データと前記第2の原画像データとの双方を利用して、前記第1の出力データとは異なる第2の出力データを生成する出力データ生成部と、
    を備える画像処理装置。
  2. 前記第1の対象画像データを構成する複数個の対象画素データは、前記第1のオブジェクト画像を表わす第1のオブジェクト画素データ群を含み、
    前記第2の対象画像データを構成する複数個の対象画素データは、前記第2のオブジェクト画像を表わす第2のオブジェクト画素データ群を含み、
    前記座標値決定部は、
    前記第1のオブジェクト画素データ群が示す各画素値のうち、最高の出現頻度を有する画素値に一致する前記第1の座標値を決定し、
    前記第2のオブジェクト画素データ群が示す各画素値のうち、最高の出現頻度を有する画素値に一致する前記第2の座標値を決定する、請求項1に記載の画像処理装置。
  3. 前記座標値決定部は、
    前記第1の対象画像データを構成する複数個の対象画素データのうちの少なくとも一部の各対象画素データが示す各画素値の出現頻度の分布を表わす第1のヒストグラムを生成し、前記第1のヒストグラムを利用して、前記第1の座標系で表現可能な最も広い画素値の範囲内の一部である所定範囲のうちの最高の出現頻度を有する画素値に関係する前記第1の座標値を決定し、
    前記第2の対象画像データを構成する複数個の対象画素データのうちの少なくとも一部の各対象画素データが示す各画素値の出現頻度の分布を表わす第2のヒストグラムを生成し、前記第2のヒストグラムを利用して、前記所定範囲のうちの最高の出現頻度を有する画素値に関係する前記第2の座標値を決定する、請求項1又は2に記載の画像処理装置。
  4. 前記第1の座標系は、輝度値を示す軸を含む座標系であり、
    前記第1の原画像データを構成する複数個の原画素データのそれぞれは、前記第1の座標系とは異なる第2の座標系内の座標値として表現される画素値を示し、
    前記第2の原画像データを構成する複数個の原画素データのそれぞれは、前記第2の座標系内の座標値として表現される画素値を示し、
    前記画像処理装置は、さらに、
    前記第1の原画像データを構成する前記複数個の原画素データを変換して、複数個の対象画素データによって構成される前記第1の対象画像データを生成し、前記第2の原画像データを構成する前記複数個の原画素データを変換して、複数個の対象画素データによって構成される前記第2の対象画像データを生成する変換部であって、前記第1の対象画像データを構成する前記複数個の対象画素データのそれぞれは、輝度値を含む画素値を示し、前記第2の対象画像データを構成する前記複数個の対象画素データのそれぞれは、輝度値を含む画素値を示す、前記変換部を備える、請求項1から3のいずれか一項に記載の画像処理装置。
  5. 前記画像処理装置は、さらに、
    前記第1の対象画像データを構成する複数個の対象画素データのそれぞれのエッジ強度を決定し、前記第2の対象画像データを構成する複数個の対象画素データのそれぞれのエッジ強度を決定するエッジ強度決定部を備え、
    前記座標値決定部は、
    前記第1の対象画像データを構成する前記複数個の対象画素データのうち、エッジ強度が閾値以下である低強度画素データを利用せずに、エッジ強度が前記閾値より大きい高強度画素データを利用して、前記第1の座標値を決定し、
    前記第2の対象画像データを構成する前記複数個の対象画素データのうち、エッジ強度が前記閾値以下である低強度画素データを利用せずに、エッジ強度が前記閾値より大きい高強度画素データを利用して、前記第2の座標値を決定する、請求項1から4のいずれか一項に記載の画像処理装置。
  6. 前記座標値決定部は、
    前記第1の対象画像データを構成する前記複数個の対象画素データのうち、前記高強度画素データと、前記高強度画素データの近傍に存在する近傍画素データと、を利用して、前記第1の座標値を決定し、
    前記第2の対象画像データを構成する前記複数個の対象画素データのうち、前記高強度画素データと、前記高強度画素データの近傍に存在する近傍画素データと、を利用して、前記第2の座標値を決定する、請求項5に記載の画像処理装置。
  7. 前記出力データ生成部は、
    前記第1の座標値と前記第2の座標値との間の前記距離が前記閾値よりも大きい場合に、前記第1の原画像と前記第2の原画像とのうちの一方の画像内の出力対象領域を含む第1の出力画像を表わす前記第1の出力データを生成し、
    前記第1の座標値と前記第2の座標値との間の前記距離が前記閾値以下である場合に、前記第1の原画像内の第1の出力対象領域と前記第2の原画像内の第2の出力対象領域とが結合された結合領域を含む第2の出力画像を表わす前記第2の出力データを生成する、請求項1から6のいずれか一項に記載の画像処理装置。
  8. 前記第1の原画像データと前記第2の原画像データとは、同じ原稿がスキャンされることによって得られるデータであり、
    前記第1の原画像データは、所定方向から前記同じ原稿がスキャンされることによって得られるデータであり、
    前記第2の原画像データは、前記所定方向の反対方向から前記同じ原稿がスキャンされることによって得られるデータである、請求項1から7のいずれか一項に記載の画像処理装置。
  9. 前記同じ原稿が折り返されていない状態で、前記所定方向から前記同じ原稿の表面がスキャンされ、かつ、前記所定方向の反対方向から前記同じ原稿の裏面がスキャンされる第1の場合に、
    前記第1の原画像は、前記同じ原稿の前記表面に含まれる前記第1のオブジェクトを示す前記第1のオブジェクト画像を含み、
    前記第2の原画像は、前記同じ原稿の前記表面から前記裏面に透けている前記第2のオブジェクトを示す前記第2のオブジェクト画像を含み、
    前記同じ原稿の表面の一部である第1の部分領域と、前記同じ原稿の前記表面の一部である第2の部分領域と、の間の境界で、前記同じ原稿が折り返されている状態で、前記所定方向から前記同じ原稿の前記表面の前記第1の部分領域がスキャンされ、かつ、前記所定方向の反対方向から前記同じ原稿の前記表面の前記第2の部分領域がスキャンされる第2の場合に、
    前記第1の原画像は、前記同じ原稿の前記表面の前記第1の部分領域に含まれる前記第1のオブジェクトを示す前記第1のオブジェクト画像を含み、
    前記第2の原画像は、前記同じ原稿の前記表面の前記第2の部分領域に含まれる前記第2のオブジェクトを示す前記第2のオブジェクト画像を含み、
    前記画像処理装置は、さらに、
    前記第1の場合に、前記第1の座標値と前記第2の座標値との間の前記距離が前記閾値よりも大きいと判断し、
    前記第2の場合に、前記第1の座標値と前記第2の座標値との間の前記距離が前記閾値以下であると判断する判断部を備える、請求項8に記載の画像処理装置。
  10. 画像処理装置のためのコンピュータプログラムであって、
    前記画像処理装置に搭載されるコンピュータに、以下の各処理、即ち、
    第1のオブジェクトを含む原稿がスキャンされることによって得られる第1の原画像データと、第2のオブジェクトを含む原稿がスキャンされることによって得られる第2の原画像データと、を取得する取得処理であって、前記第1の原画像データによって表わされる第1の原画像は、前記第1のオブジェクトを示す第1のオブジェクト画像を含み、前記第2の原画像データによって表わされる第2の原画像は、前記第2のオブジェクトを示す第2のオブジェクト画像を含む、前記取得処理と、
    前記第1の原画像データを用いて得られる第1の対象画像データを利用して、第1の座標系内の第1の座標値を決定し、前記第2の原画像データを用いて得られる第2の対象画像データを利用して、前記第1の座標系内の第2の座標値を決定する座標値決定処理であって、前記第1の座標値は、前記第1のオブジェクト画像で最も利用されている色に関係する値であり、前記第2の座標値は、前記第2のオブジェクト画像で最も利用されている色に関係する値である、前記座標値決定処理と、
    前記第1の座標系において、前記第1の座標値と前記第2の座標値との間の距離が閾値よりも大きい場合に、前記第1の原画像データと前記第2の原画像データとのうちの一方を利用して、第1の出力データを生成し、前記第1の座標値と前記第2の座標値との間の前記距離が前記閾値以下である場合に、前記第1の原画像データと前記第2の原画像データとの双方を利用して、前記第1の出力データとは異なる第2の出力データを生成する出力データ生成処理と、
    を実行させるコンピュータプログラム。
JP2014071040A 2014-03-31 2014-03-31 画像処理装置 Active JP6160538B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014071040A JP6160538B2 (ja) 2014-03-31 2014-03-31 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014071040A JP6160538B2 (ja) 2014-03-31 2014-03-31 画像処理装置

Publications (2)

Publication Number Publication Date
JP2015195427A JP2015195427A (ja) 2015-11-05
JP6160538B2 true JP6160538B2 (ja) 2017-07-12

Family

ID=54434133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014071040A Active JP6160538B2 (ja) 2014-03-31 2014-03-31 画像処理装置

Country Status (1)

Country Link
JP (1) JP6160538B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032762A (ja) * 2000-07-14 2002-01-31 Sharp Corp 画像処理装置
JP2002077606A (ja) * 2000-09-01 2002-03-15 Canon Inc 画像読取装置、画像読取方法、及び媒体
JP2010128574A (ja) * 2008-11-25 2010-06-10 Fuji Xerox Co Ltd 画像形成装置、分割された文字列の検出プログラム及び文字列の結合プログラム
JP2010171540A (ja) * 2009-01-20 2010-08-05 Sharp Corp 画像作成装置、画像作成プログラム及びコンピュータ読み取り可能な記録媒体、並びに画像作成方法

Also Published As

Publication number Publication date
JP2015195427A (ja) 2015-11-05

Similar Documents

Publication Publication Date Title
JP6433187B2 (ja) 情報処理装置、その制御方法およびコンピュータプログラム
JP6808325B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP6210013B2 (ja) 画像処理装置
CN110536040A (zh) 进行多裁剪处理的图像处理装置、生成图像的方法和介质
JP2012212964A (ja) 画像処理装置
JP2009302758A (ja) 画像処理装置、画像変換方法、およびコンピュータプログラム
US8275211B2 (en) Image processing apparatus and method
JP2011244205A (ja) 透過画像検出装置、透過画像エッジ検出装置、透過画像検出方法、および透過画像エッジ検出方法
JP6160538B2 (ja) 画像処理装置
JP5955822B2 (ja) 色変換装置、画像形成装置、色変換方法、及び色変換プログラム
JP2010056771A (ja) 画像読み取り装置、画像読み取り方法、プログラム、記憶媒体
JP6152818B2 (ja) 画像処理装置およびコンピュータプログラム
JP6322923B2 (ja) 情報処理装置、情報処理プログラム、記憶媒体、情報処理システム及び情報処理方法
JP6171727B2 (ja) 画像処理装置、シート、コンピュータプログラム
JP6163964B2 (ja) 画像処理装置
JP6361355B2 (ja) 画像処理装置
JP6645143B2 (ja) 画像解析装置
JP2007081794A (ja) 画像処理装置
JP5454466B2 (ja) 文字検出装置、文字検出方法、およびコンピュータプログラム
US10277781B2 (en) Image processing apparatus, image forming apparatus, and non-transitory computer readable medium
JP6372397B2 (ja) 画像処理装置、および、コンピュータプログラム
JP6314633B2 (ja) 画像処理装置およびコンピュータプログラム
KR102130815B1 (ko) 가는 선 검출 방법 및 이를 위한 장치
JP6001983B2 (ja) 画像処理装置
JP2015226278A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170314

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170426

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: 20170516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170529

R150 Certificate of patent or registration of utility model

Ref document number: 6160538

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150