JP6210013B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP6210013B2
JP6210013B2 JP2014071041A JP2014071041A JP6210013B2 JP 6210013 B2 JP6210013 B2 JP 6210013B2 JP 2014071041 A JP2014071041 A JP 2014071041A JP 2014071041 A JP2014071041 A JP 2014071041A JP 6210013 B2 JP6210013 B2 JP 6210013B2
Authority
JP
Japan
Prior art keywords
image
straight line
image data
data
original image
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
JP2014071041A
Other languages
English (en)
Other versions
JP2015195428A (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 JP2014071041A priority Critical patent/JP6210013B2/ja
Priority to US14/662,317 priority patent/US9451126B2/en
Publication of JP2015195428A publication Critical patent/JP2015195428A/ja
Application granted granted Critical
Publication of JP6210013B2 publication Critical patent/JP6210013B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3877Image rotation
    • H04N1/3878Skew detection or correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3876Recombination of partial images to recreate the original image

Description

本明細書では、原画像データを利用して、出力データを生成する画像処理装置を開示する。
特許文献1には、スキャン画像内の原稿画像の傾きを検出して、当該傾きを補正する技術が開示されている。この技術では、スキャン画像に対して二値化処理及びノイズ除去処理が実行され、原稿画像を構成する各部が値「1」で表現され、背景を構成する各部が値「0」で表現される。次いで、値「1」を含む各列の中から、最も左側に存在する値「1」と最も右側に存在する値「1」との間の距離が最も短い列と、全てが値「1」である列と、が検出される。そして、検出済みの2つの列に基づいて、原稿画像の傾きが補正される。
特開2005−57603号公報
特許文献1の技術では、原稿画像の傾きが適切に補正されない可能性があるので、出力データが適切に生成されない可能性がある。本明細書では、オブジェクトを含む原稿のスキャンによって得られる原画像データを利用して、出力データを適切に生成し得る技術を提供する。
本明細書によって開示される画像処理装置は、取得部と検出部と特定部と選択部と出力データ生成部とを備える。取得部は、オブジェクトを含む原稿のスキャンによって得られる第1の原画像データを取得する。第1の原画像データによって表わされる第1の原画像は、オブジェクトを示す第1のオブジェクト画像を含む。検出部は、第1の原画像の中から2本以上の直線を検出する。特定部は、2本以上の直線のうちの第1の直線と、第1のオブジェクト画像と、の関係である第1の関係を特定する。選択部は、第1の関係に基づいて、2本以上の直線の中から特定の直線を選択する。出力データ生成部は、特定の直線が伸びる方向に基づいて、第1の原画像データを利用して、出力データを生成する。上記の構成によると、画像処理装置は、2本以上の直線の中から選択される特定の直線が伸びる方向に基づいて、出力データを適切に生成し得る。
特定部は、さらに、2本以上の直線のうちの第2の直線であって、第1の直線とは異なる第2の直線と、第1のオブジェクト画像と、の関係である第2の関係を特定してもよい。選択部は、第1の関係と第2の関係とに基づいて、2本以上の直線の中から特定の直線を選択してもよい。この構成によると、画像処理装置は、2本以上の直線の中から特定の直線を適切に選択し得る。
第1の原画像データは、第1のオブジェクト画像を表わすオブジェクト画素データと、第1のオブジェクト画像の背景を表わす背景画素データと、を含んでいてもよい。画像処理装置は、さらに、第1の原画像データを用いて得られる第1の対象画像データを構成する複数個の対象画素データのうちのK個(Kは2以上の整数)の対象画素データを第1の直線に直交する方向に沿って射影して、オブジェクト画素データに関連する関連対象画素データの出現頻度の分布を表わす第1の射影ヒストグラムを生成する第1の射影ヒストグラム生成部を備えていてもよい。特定部は、第1の射影ヒストグラムを利用して、第1の関係を特定してもよい。この構成によると、画像処理装置は、第1の関係を適切に特定し得る。
画像処理装置は、さらに、第1の原画像データを構成する各原画素データを変換して、所定の閾値よりも高いエッジ強度を有する高強度画素データと、所定の閾値以下のエッジ強度を有する低強度画素データと、によって構成される第1の対象画像データを生成する対象画像データ生成部を備えていてもよい。第1の射影ヒストグラム生成部は、第1の対象画像データを構成するK個の対象画素データを第1の直線に直交する方向に沿って射影して、高強度画素データである関連画素データの出現頻度の分布を表わす第1の射影ヒストグラムを生成してもよい。この構成によると、画像処理装置は、第1の射影ヒストグラムを適切に生成し得る。
第1の関係は、第1の射影ヒストグラムを生成するための全ての射影ラインのうち、関連対象画像データの出現頻度が第1の閾値以下である射影ラインの数であってもよい。この構成によると、画像処理装置は、第1の関係を適切に特定し得る。
第1の射影ヒストグラム生成部は、第1の対象画像データを構成する複数個の対象画素データのうちの一部であるK個の対象画素データを第1の直線に直交する方向に沿って射影して、第1の射影ヒストグラムを生成してもよい。この構成によると、画像処理装置は、第1の射影ヒストグラムを適切に生成し得る。
画像処理装置は、さらに、第1の対象画像データを構成する複数個の対象画素データを予め決められている第1の方向に沿って射影して、高強度画素データの出現頻度の分布を表わす第2の射影ヒストグラムを生成する第2の射影ヒストグラム生成部を備えていてもよい。第1の射影ヒストグラム生成部は、第2の射影ヒストグラムを利用して、第1の対象画像データを構成する複数個の対象画素データの中から、高強度画素データの出現頻度が第2の閾値以下である射影ライン上の各対象画素データを特定し、第1の対象画像データを構成する複数個の対象画素データから特定済みの各対象画素データが除かれたK個の対象画素データを第1の直線に直交する方向に沿って射影して、第1の射影ヒストグラムを生成してもよい。この構成によると、画像処理装置は、第1の射影ヒストグラムを適切に生成し得る。
検出部は、さらに、第1の原画像データを用いて得られる第2の対象画像データの一部である第1の部分画像データを利用して、第1の部分画像データによって表わされる第1の部分画像の中から、2本以上の直線のうちの第1の直線を検出し、第2の対象画像データの一部である第2の部分画像データであって、第1の部分画像データとは異なる第2の部分画像データを利用して、第2の部分画像データによって表わされる第2の部分画像の中から、2本以上の直線のうちの第2の直線であって、第1の直線とは異なる第2の直線を検出してもよい。この構成によると、画像処理装置は、第1の直線と第2の直線とを適切に検出し得る。
検出部は、さらに、第1の部分画像データを利用して、第1の部分画像に含まれる最長の直線である第1の直線を検出し、第2の部分画像データを利用して、第2の部分画像に含まれる最長の直線である第2の直線を検出してもよい。この構成によると、画像処理装置は、第1の直線と第2の直線とを適切に検出し得る。
検出部は、第1の原画像に含まれる最長の直線と、第1の原画像に含まれる二番目に長い直線と、である2本の直線を検出することによって、2本以上の直線を検出してもよい。2本の直線は、直交の関係及び平行の関係ではなく、互いに対向してもよい。この構成によると、画像処理装置は、2本以上の直線を適切に検出し得る。
検出部は、第1の原画像のうち、原稿を示す原稿領域の端に対応する2本の直線を検出することによって、2本以上の直線を検出してもよい。この構成によると、画像処理装置は、2本以上の直線を適切に検出し得る。
特定部は、第1の直線が伸びる方向と予め決められている第2の方向との間の差分角度を回転角度として第1の原画像を回転させる場合における第1のオブジェクト画像の向きの関係である第1の関係を特定してもよい。この構成によると、画像処理装置は、第1の関係を適切に特定し得るので、第1の関係に基づいて、特定の直線を適切に選択し得る。
第1のオブジェクト画像は、1行以上の文字列を含むオブジェクトを示していてもよい。特定部は、第1の直線が伸びる方向と、第1のオブジェクト画像によって示される1行以上の文字列のうちの1行の文字列を構成する複数個の文字が並ぶ方向と、の間の角度の関係である第1の関係を特定してもよい。選択部は、第1の関係に基づいて、2本以上の直線の中から、複数個の文字が並ぶ方向に直交する特定の直線を選択してもよい。この構成によると、画像処理装置は、第1の関係を適切に特定し得るので、第1の関係に基づいて、特定の直線を適切に選択し得る。
出力データ生成部は、特定の直線が伸びる方向に基づく回転角度で第1の原画像が回転された回転済み画像を表わす回転済み画像データを生成し、回転済み画像データを利用して、出力データを生成してもよい。この構成によると、画像処理装置は、出力データを適切に生成し得る。
出力データ生成部は、回転済み画像データを利用して、回転済み画像の中から、原稿を示す原稿領域を含む出力領域を決定し、回転済み画像データを利用して、出力領域以外の領域が除外された除外済み画像を表わす除外済み画像データを生成し、除外済み画像データを利用して、出力データを生成してもよい。この構成によると、画像処理装置は、出力データを適切に生成し得る。
出力データ生成部は、第1の原画像内の特定の長さであって、矩形形状を有する原稿の特定の辺の長さに関係する特定の長さを決定し、第1の原画像内の一部の領域である第1の出力対象領域であって、特定の直線に直交する方向に沿った特定の長さを有する第1の出力対象領域を決定し、第1の出力対象領域に基づいて、出力データを生成してもよい。この構成によると、画像処理装置は、出力データを適切に生成し得る。
第1の原画像は、オブジェクトの一部である第1の部分オブジェクトを示す第1のオブジェクト画像を含んでいてもよい。取得部は、さらに、原稿のスキャンによって得られる第2の原画像データを取得してもよい。第2の原画像データによって表わされる第2の原画像は、オブジェクトの一部である第2の部分オブジェクトであって、第1の部分オブジェクトとは異なる第2の部分オブジェクトを示す第2のオブジェクト画像を含んでいてもよい。出力データ生成部は、特定の直線が伸びる方向に基づいて、第1の原画像データを利用し、かつ、2本以上の直線のうち、特定の直線とは異なる直線が伸びる方向に基づいて、第2の原画像データを利用して、出力データを生成してもよい。この構成によると、画像処理装置は、第1の原画像データと第2の原画像データとを利用して、出力データを適切に生成し得る。
出力データ生成部は、第1の原画像内の第1の出力対象領域と第2の原画像内の第2の出力対象領域とが結合された結合領域を含む出力画像を表わす出力データを生成してもよい。この構成によると、画像処理装置は、第1の原画像データと第2の原画像データとを利用して、出力画像を表わす出力データを適切に生成し得る。
第1の部分オブジェクトを含む第1の部分領域と、第2の部分オブジェクトを含む第2の部分領域と、の間の境界で、原稿が折り返されている状態で、原稿の第1の部分領域と第2の部分領域とのそれぞれが別個にスキャンされる場合に、第1の原画像は、第1の部分オブジェクトを示す第1のオブジェクト画像を含み、第2の原画像は、第2の部分オブジェクトを示す第2のオブジェクト画像を含んでいてもよい。
上記の画像処理装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も新規で有用である。
通信システムの構成を示す。 表面スキャン画像と裏面スキャン画像との一例を示す。 端末装置のドライバプログラムの処理のフローチャートを示す。 直線検出処理のフローチャートを示す。 直線検出処理で生成される二値画像、OFF変換画像、ON変換画像、及び、検出用画像の一例を示す。 直線検出処理で生成される検出用画像、及び、各分断画像の一例を示す。 評価値算出処理のフローチャートを示す。 評価値算出処理で生成される除去画像、及び、各回転二値画像の一例を示す。 出力処理のフローチャートを示す。 出力処理で生成される第1の回転対象画像の一例を示す。 出力処理で生成される回転画像、及び、第2の回転対象画像の一例を示す。 出力処理で生成される結合画像の一例を示す。 第2実施例の出力処理を説明するための図を示す。
(第1実施例)
(通信システム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が、ショッピング等によって得られるレシートであるレシート原稿RDをスキャンして、スキャン画像データを生成する状況に着目する。レシート原稿RDは、比較的に薄い紙であるので、そのままADF機構によって搬送されると、レシート原稿RDがADF機構に詰まる可能性がある。これを避けるために、袋形状を有するキャリアシートCSが利用される。キャリアシートCSの表面及び裏面のそれぞれは、矩形形状を有すると共に、ほぼ透明の所定色を有する。キャリアシートCSの表面は、表面であることを示す黒色のマーク30を含み、裏面は、上記のマーク30を含まない。ただし、キャリアシートCSの裏面に破線で示されるように、表面のマーク30が裏面に透けている。スキャナSCは、レシート原稿RDがキャリアシートCSに収容された状態で、キャリアシートCSをADF機構によって搬送する。これにより、スキャナSCは、レシート原稿RDのスキャンを適切に実行することができる。
レシート原稿RDは、矩形形状を有する。レシート原稿RDの表面は、白色の背景を有し、黒色の複数行の文字列を含む文字列オブジェクトを含む。文字列オブジェクトに含まれる1行の文字列を構成する複数個の文字(例えば「FFF Shop」)は、図1の横方向に沿って並んでいる。また、文字列オブジェクトに含まれる複数行の文字列は、図1の縦方向に沿って並んでいる。なお、以下のいずれの画像(例えば後述の図2の表面スキャン画像FSI等)及び画像データにおいても、1行の文字列を構成する複数個の文字が並ぶ方向、当該方向に直交する方向を、それぞれ、「横方向(即ち、左右方向)」、「縦方向(即ち、上下方向)」と呼ぶ。また、図1では図示省略しているが、レシート原稿RDの裏面は、白色の背景を有する(即ち、いわゆる白紙である)。
レシート原稿RDの縦方向の長さは、キャリアシートCSに収まらない長さである。従って、レシート原稿RDのスキャンが実行されるべき状況では、レシート原稿RDが折り返された状態で、レシート原稿RDがキャリアシートCSに収容される。具体的には、以下のようにして、レシート原稿RDのスキャンが実行される。
ユーザは、レシート原稿RDを示す画像を表わす画像データを端末装置TEに保存することを望む場合に、まず、レシート原稿RDの表面が山になるように、図1に示される折り返し位置でレシート原稿RDを折り返す。次いで、ユーザは、レシート原稿RDの前半部分(即ち、「FFF Shop」〜「HHH $80」)がキャリアシートCSの表面を向くように、即ち、レシート原稿RDの後半部分(即ち、「III $500」〜「KKK $10」)がキャリアシートCSの裏面を向くように、レシート原稿RDをキャリアシートCSに収容する。そして、ユーザは、キャリアシートCSの表面が予め決められている向き(例えば上向き)を向くように、キャリアシートCSをスキャナSCのADF機構にセットする。次いで、ユーザは、端末装置TEのドライバプログラム26を起動して、レシート原稿RDのスキャンのための指示を端末装置TEに入力する。これにより、スキャン指示が端末装置TEからスキャナSCに供給される。スキャナSCは、端末装置TEからスキャン指示を取得すると、ADF機構にセットされているキャリアシートCSを搬送し、キャリアシートCSの表面と裏面とのそれぞれをカラースキャンして、表面スキャン画像を表わす表面スキャン画像データと、裏面スキャン画像を表わす裏面スキャン画像データと、を生成する。そして、スキャナSCは、これらのスキャン画像データを端末装置TEに供給する。
(スキャン画像の一例;図2)
続いて、図2を参照して、各スキャン画像の内容を説明する。例えば、レシート原稿RDの縦方向の長さが大きいと、レシート原稿RDをうまく折り返せないことがある。即ち、図2に示されるように、レシート原稿RDの左上の頂点と左下の頂点とが一致しないように(換言すると、レシート原稿RDの右上の頂点と右下の頂点とが一致しないように)、レシート原稿RDが折り返されることがある。本実施例では、このような状態のレシート原稿RDを収容しているキャリアシートCSがスキャンされる状況を想定している。キャリアシートCSの表面には、レシート原稿RDの表面の前半部分(即ち、「FFF Shop」〜「HHH $80」)が透けており、キャリアシートCSの裏面には、レシート原稿RDの表面の後半部分(即ち、「III $500」〜「KKK $10」)が透けている。
レシート原稿RDを収容しているキャリアシートCSの表面がカラースキャンされる結果として、表面スキャン画像FSIを表わす表面スキャン画像データが生成され、当該キャリアシートCSの裏面がカラースキャンされる結果として、裏面スキャン画像BSIを表わす裏面スキャン画像データが生成される。表面スキャン画像データと裏面スキャン画像データとのそれぞれは、複数個の画素データによって構成されるビットマップデータである。特に、各画素データは、RGB色空間(即ち、RGB座標系)内の座標値として表現される画素値を示す。R値、G値、B値は、それぞれ、「0〜255」の範囲内の数値である。表面スキャン画像データを構成する画素データの個数と、裏面スキャン画像データを構成する画素データの個数と、は等しい。
キャリアシートCSの表面を越える範囲がスキャンされ、当該範囲が白色を示す画素によって表現されるので、表面スキャン画像FSIは、当該範囲を示す白色のスキャン背景領域SBA1を含む。また、表面スキャン画像FSIは、キャリアシートCSの表面を示すキャリアシート領域CSA1と、レシート原稿RDを示すレシート原稿領域RDA1と、を含む。キャリアシート領域CSA1では、大部分が上記の所定色(即ち、キャリアシートCSの色)であるが、マーク30に対応する部分が黒色である。レシート原稿領域RDA1は、レシート原稿RDに含まれる文字列オブジェクトのうちの前半部分である部分文字列オブジェクト(即ち、「FFF Shop」〜「HHH $80」)を示す文字列オブジェクト画像を含む。レシート原稿領域RDA1の左端を構成する直線LL1、右端を構成する直線LR1は、それぞれ、レシート原稿RDの端EL、端ERに対応する。本実施例では、直線LL1は、直線LR1よりも長い。2本の直線LL1,LR1は、直交の関係及び平行の関係ではなく、互いに対向する。また、縦方向を基準として得られる直線LL1の傾きの絶対値と、縦方向を基準として得られる直線LR1の傾きの絶対値と、は異なる。
表面スキャン画像FSIと同様に、裏面スキャン画像BSIは、白色のスキャン背景領域SBA2と、キャリアシートCSの裏面を示す上記の所定色のキャリアシート領域CSA2と、レシート原稿RDを示すレシート原稿領域RDA2と、を含む。レシート原稿領域RDA2は、レシート原稿RDに含まれる文字列オブジェクトのうちの後半部分である部分文字列オブジェクト(即ち、「III $500」〜「KKK $10」)を示す文字列オブジェクト画像を含む。レシート原稿領域RDA2の左端を構成する直線LL2、右端を構成する直線LR2は、それぞれ、レシート原稿RDの端ER、端ELに対応する。従って、裏面スキャン画像BSI内の直線LR2は、表面スキャン画像FSI内の直線LL1と同じ長さを有し、縦方向を基準として得られる直線LR2の傾きの絶対値は、縦方向を基準として得られる直線LL1の傾きの絶対値に等しい。また、裏面スキャン画像BSI内の直線LL2は、表面スキャン画像FSI内の直線LR1と同じ長さを有し、縦方向を基準として得られる直線LL2の傾きの絶対値は、縦方向を基準として得られる直線LR1の傾きの絶対値に等しい。
(端末装置TEのドライバプログラム処理;図3)
続いて、図3を参照して、端末装置TEのドライバプログラム26によって実行される処理の内容を説明する。上述したように、端末装置TEのCPU22は、レシート原稿RDのスキャンのための指示がユーザによって入力される場合に、スキャン指示をスキャナSCに供給する。これにより、S10において、CPU22は、スキャナSCから表面スキャン画像データと裏面スキャン画像データとを取得する。
S20では、CPU22は、S10で取得された表面スキャン画像データと裏面スキャン画像データとのそれぞれに対する縁部除去処理を実行する。具体的には、CPU22は、図2の表面スキャン画像FSIを表わす表面スキャン画像データを構成する複数個の画素データのうち、上下左右の各縁部に存在する所定個の画素データを除去して、表面対象画像FTIを表わす表面対象画像データを生成する。表面対象画像FTIは、上下左右の各縁部が除去されたことに起因して、スキャン背景領域SBA1(図2参照)を含まないと共に、キャリアシート領域CSA1の一部(例えばマーク30を示す部分)を含まない。同様に、CPU22は、図2の裏面スキャン画像BSIを表わす裏面スキャン画像データに対する縁部除去処理を実行して、裏面対象画像BTIを表わす裏面対象画像データを生成する。表面対象画像データを構成する画素データの個数と、裏面対象画像データを構成する画素データの個数と、は等しい。
S30では、CPU22は、S20で生成された表面対象画像データに対する輝度値変換処理を実行する。具体的には、CPU22は、表面対象画像データを構成する複数個の画素データのそれぞれについて、当該画素データが示す画素値(即ち、R値とG値とB値)をS30内の数式に従って輝度値(即ち、Y値)に変換して、輝度値を示す新たな画素データを生成する。これにより、輝度値を示す複数個の新たな画素データによって構成される輝度画像データが生成される。輝度値は、「0〜255」の範囲内の数値である。
S32では、CPU22は、S30で生成された輝度画像データに対するエッジ強度決定処理を実行する。具体的には、CPU22は、輝度画像データを構成する複数個の画素データのそれぞれについて、Sobelフィルタを利用して、当該画素データが示す輝度値をエッジ強度値に変換して、エッジ強度値を示す新たな画素データを生成する。これにより、エッジ強度値を示す複数個の新たな画素データによって構成されるエッジ強度画像データが生成される。なお、変形例では、CPU22は、Sobelフィルタに代えて、1次微分フィルタ、2次微分フィルタ、ラプラシアンフィルタ等を利用して、エッジ強度値を算出してもよい。
S34では、CPU22は、S32で生成されたエッジ強度画像データに対する二値化処理を実行する。具体的には、CPU22は、エッジ強度画像データを構成する複数個の画素データのそれぞれについて、当該画素データが示すエッジ強度値を「1」又は「0」に変換して、「1」又は「0」を示す新たな画素データを生成する。より具体的には、CPU22は、エッジ強度値が予め決められている閾値(当該閾値はゼロより大きい値)よりも大きい場合には、「1」を示す新たな画素データを生成し、エッジ強度値が上記の閾値以下である場合には、「0」を示す新たな画素データを生成する。これにより、「1」又は「0」を示す複数個の新たな画素データによって構成される二値画像データが生成される。以下では、「1」を示す画素データ、「0」を示す画素データのことを、それぞれ、「ON画素データ」、「OFF画素データ」と呼ぶ。
S40では、CPU22は、S34で生成された二値画像データを利用して、直線検出処理(後述の図4参照)を実行する。即ち、CPU22は、表面対象画像FTI内において、レシート原稿領域RDA1の左端に対応する直線LL1(即ち、当該左端を画定する直線LL1)と、レシート原稿領域RDA1の右端に対応する直線LR1(即ち、当該右端を画定する直線LR1)と、を検出する。2本の直線LL1,LR1は、表面対象画像FTIに含まれる最長の直線LL1と、表面対象画像FTIに含まれる二番目に長い直線LR1と、である。2本の直線LL1,LR1は、直交の関係及び平行の関係ではなく、互いに対向する。
S60では、CPU22は、S40で検出された2本の直線LL1,LR1を利用して、評価値算出処理(後述の図7参照)を実行する。即ち、CPU22は、S40で検出された2本の直線LL1,LR1に対応する2個の評価値を算出する。そして、CPU22は、2個の評価値を利用して、2本の直線LL1,LR1の中から、表面対象画像FTIを回転させるための基準となるべき一方の直線(例えばLL1)を選択する。CPU22は、さらに、2個の評価値を利用して、2本の直線LL1,LR1の中から、裏面対象画像BTIを回転させるための基準となるべき他方の直線(例えばLR1)を選択する。
S100では、CPU22は、表面対象画像データと裏面対象画像データとを利用して、出力処理(後述の図9参照)を実行する。即ち、CPU22は、表面対象画像データと裏面対象画像データとを利用して結合画像データを生成し、当該結合画像データを表示部14(図1参照)に供給する。これにより、ユーザは、結合画像データによって表わされる結合画像、即ち、折り返された状態でスキャンされたレシート原稿RDを示す出力画像を見ることができる。S100が終了すると、図3の処理が終了する。
(直線検出処理;図4)
続いて、図4を参照して、図3のS40の直線検出処理の内容を説明する。S42では、CPU22は、図3のS34で生成された二値画像データに対するOFF変換処理を実行する。具体的には、CPU22は、二値画像データを構成する複数個のOFF画素データのそれぞれについて、当該OFF画素データを中心とする9個の画素データ(即ち、横方向3個×縦方向3個の画素データ)に含まれる全てのON画素データをOFF画素データに変更する。これにより、「1」又は「0」を示す複数個の画素データによって構成されるOFF変換画像データが生成される。
S44では、S42で生成されたOFF変換画像データに対するON変換処理を実行する。具体的には、CPU22は、OFF変換画像データを構成する複数個のON画素データのそれぞれについて、当該ON画素データを中心とする25個の画素データ(即ち、横方向5個×縦方向5個の画素データ)に含まれる全てのOFF画素データをON画素データに変更する。これにより、「1」又は「0」を示す複数個の画素データによって構成されるON変換画像データが生成される。
なお、S42、S44の処理の対象の画素データの個数は、それぞれ、「9」、「25」に限られず、他の数であってもよい。一般的に言うと、S42では、CPU22は、OFF画素データを中心とするM×M個の画素データ(Mは2以上の整数)に含まれる全てのON画素データをOFF画素データに変更すればよい。また、S44では、CPU22は、ON画素データを中心とするN×N個の画素データ(Nは2以上の整数)に含まれる全てのOFF画素データをON画素データに変更すればよい。また、Nは、Mより大きい値であることが好ましいが、M以下の値であってもよい。
S46では、CPU22は、図3のS34で生成された二値画像データと、S44で生成されたON変換画像データと、を利用して、検出用画像データを生成する。具体的には、CPU22は、まず、二値画像データを構成する複数個の画素データの中から、ON変換画像データを構成する各ON画素データに対応する各位置に存在する各画素データを特定する。そして、CPU22は、特定済みの各画素データのうちの全てのON画素データをOFF画素データに変更する。これにより、「1」又は「0」を示す複数個の画素データによって構成される検出用画像データが生成される。
S48では、CPU22は、S46で生成された検出用画像データによって表わされる検出用画像内において、レシート原稿RDを示すレシート原稿領域の左端位置及び右端位置を決定する。
S50では、CPU22は、まず、S46で生成された検出用画像データのうち、S48で決定された左端位置よりも左側に存在する部分画像データと、S48で決定された右端位置よりも右側に存在する部分画像データと、を除去する。そして、CPU22は、各部分画像データが除去された後の検出用画像データの横方向の中間位置、即ち、S48で決定された右端位置及び左端位置の中間位置で当該検出用画像データを分断して、左側分断画像データと右側分断画像データとを生成する。
S52では、CPU22は、S50で生成された左側分断画像データに対するHough変換処理を実行して、左側分断画像データによって表わされる左側分断画像内の最長の直線を検出する。Hough変換処理は、多数の仮想線を画像内に配置し、各仮想線上の連続するON画素(即ち、ON画素データによって表わされる画素)の数を特定し、ON画素の数が最も多い仮想線を最長の直線として検出する処理である。また、CPU22は、S50で生成された右側分断画像データに対するHough変換処理を実行して、右側分断画像データによって表わされる右側分断画像内の最長の直線を検出する。これにより、CPU22は、S46で生成された検出用画像データによって表わされる検出用画像内において、最長の直線と、二番目に長い直線と、を検出することができる。換言すると、CPU22は、図2の表面スキャン画像FSI内において、最長の直線LL1と、二番目に長い直線LR1と、を検出することができる。S52が終了すると、図4の処理が終了する。
(直線検出処理の具体的な内容;図5)
続いて、図5を参照して、図4の直線検出処理の具体的な内容を説明する。図5は、図3のS34で生成される二値画像データBIDと、図4のS42で生成されるOFF変換画像データOFIDと、S44で生成されるON変換画像データONIDと、S46で生成される検出用画像データFDIDと、を示す。これらの各画像データでは、全ての画素データが示されているのではなく、一部の画素データ(即ち、横方向7個×縦方向7個=49個の画素データ)のみが示されている。
二値画像データBIDによって表わされる二値画像BIでは、ON画素データによって表わされるON画素、OFF画素データによって表わされるOFF画素が、それぞれ、黒色、白色で表現されている。例えば、レシート原稿RDの端を構成する画素、及び、文字列オブジェクトを構成する画素は、エッジ強度が比較的に高くなる。従って、二値画像BIでは、これらの画素が黒色(即ち、ON画素)で表現されている。ON画素、OFF画素が、それぞれ、黒色、白色で表現される点は、以下の各画像OFI,ONI,FDI等でも同様である。
図4のS42では、CPU22は、二値画像データBIDに対するOFF変換処理を実行して、OFF変換画像データOFIDを生成する。例えば、二値画像データBIDを構成する1個のOFF画素データP1を中心とする9個の画素データ(即ち、太線で囲まれた各画素データ)に含まれる全てのON画素データがOFF画素データに変更される。OFF変換処理が実行されると、レシート原稿RDの端を構成するON画素、及び、文字列オブジェクトを構成する一部のON画素が、OFF画素になり得る。従って、OFF変換画像OFIでは、レシート原稿RDの端が白色で表現されており(即ち、消えており)、文字列オブジェクトのうちの各文字が黒色の細い線で表現されている。
次いで、S44では、CPU22は、OFF変換画像データOFIDに対するON変換処理を実行して、ON変換画像データONIDを生成する。例えば、OFF変換画像データOFIDを構成する1個のON画素データP2を中心とする25個の画素データ(即ち、太線で囲まれた各画素データ)に含まれる全てのOFF画素データがON画素データに変更される。S44のON変換処理の対象の画素数(即ち、25個)は、S42のOFF変換処理の対象の画素数(即ち、9個)よりも多い。このために、ON変換画像ONIに含まれる各文字を構成する線は、二値画像BIに含まれる各文字を構成する線よりも大きくなり得る。従って、ON変換画像ONIでは、文字列オブジェクトを構成する各文字が黒色の太い線で表現されている。
次いで、S46では、CPU22は、二値画像データBIDを構成する複数個の画素データの中から、ON変換画像データONIDを構成する各ON画素データに対応する各位置に存在する各画素データを特定する。そして、CPU22は、特定済みの各画素データのうちの全てのON画素データをOFF画素データに変更して、検出用画像データFDIDを生成する。これにより、検出用画像FDIでは、二値画像BI内の比較的にON画素の密度が高い高密度領域がOFF画素で表現され、二値画像BI内の比較的にON画素の密度が低い低密度領域がON画素で表現される。即ち、検出用画像FDIでは、文字列オブジェクトを構成する高密度領域がOFF画素で表現され、二値画像BI内のレシート原稿RDの端を構成する低密度領域がON画素で表現される。
Hough変換処理の対象の画像内のON画素の数が多いと、通常、Hough変換処理の処理負荷が高い。検出用画像FDIでは、レシート原稿RDに含まれる文字列オブジェクトがOFF画素として表現されるので、図4のS52のHough変換処理の対象の画像内のON画素の数が少なくなる。このために、CPU22は、Hough変換処理を迅速に実行し得る。
(直線検出処理の具体的な内容の続き;図6)
続いて、図6を参照して、図5の続きを説明する。図4のS48では、CPU22は、S46で生成される検出用画像データFDIDを利用して、射影ヒストグラムH48を生成する。射影ヒストグラムH48は、検出用画像データを構成する複数個の画素データを縦方向に沿って射影する場合におけるON画素データの出現頻度の分布を表わす。
次いで、CPU22は、射影ヒストグラムH48の左端から右側に向かう過程において、予め決められている閾値Th1(Th1はゼロより大きい値)以上の出現頻度を最初に示す位置WLを特定すると共に、射影ヒストグラムH48の右端から左側に向かう過程において、閾値Th1以上の頻度を最初に示す位置WRを特定する。これにより、CPU22は、検出用画像FDIのうち、レシート原稿RDを示すレシート原稿領域の左端の近傍の位置WLと、レシート原稿領域の右端の近傍の位置WRと、を特定することができる。特に、ゼロより大きい閾値Th1に基づいて各位置WL,WRが決定されるので、ゼロより高くかつ閾値Th1より低い頻度を有する位置が、レシート原稿領域の左端又は右端の近傍の位置として特定されない。これにより、例えば、汚れ、ゴミ等のノイズがキャリアシートCSに存在する場合に、当該ノイズの位置が、レシート原稿領域の左端又は右端の近傍の位置として特定されない。従って、レシート原稿領域の左端の近傍の位置及び右端の近傍の位置が適切に特定される。ただし、ゼロより大きい閾値Th1に基づいて各位置WL,WRが決定されるので、位置WLは、レシート原稿領域の左端よりも右側の位置であり、位置WRは、レシート原稿領域の右端よりも左側の位置である。即ち、各位置WL,WRは、レシート原稿領域の内側の位置である。従って、CPU22は、位置WLから所定長さ(例えば20画素)だけ左側の位置をレシート原稿領域の左端位置として決定し、位置WRから上記の所定長さだけ右側の位置をレシート原稿領域の右端位置として決定する。
次いで、S50では、CPU22は、左側分断画像LDIを表わす左側分断画像データと、右側分断画像RDIを表わす右側分断画像データと、を生成する。検出用画像FDIのうち、レシート原稿領域の左端位置よりも左側に存在する部分画像が除去されて、左側分断画像LDIが得られる。また、検出用画像FDIのうち、レシート原稿領域の右端位置よりも右側に存在する部分画像が除去されて、右側分断画像RDIが得られる。このように、本実施例では、CPU22は、Hough変換処理の対象の画像のサイズを小さくするので、Hough変換処理を迅速に実行し得る。
次いで、S52では、CPU22は、左側分断画像LDIに対するHough変換処理を実行して、左側分断画像LDI内の最長の直線LL1を検出し、右側分断画像RDIに対するHough変換処理を実行して、右側分断画像RDI内の最長の直線LR1を検出する。直線LL1と縦方向(即ち、図6の上下方向)との間の角度はαであり、直線LR1と縦方向との間の角度はβである。仮に、検出用画像FDIが分断されずに、検出用画像FDIに対してHough変換処理が実行される構成を採用すると、以下の事象が起こり得る。例えば、レシート原稿RDの左端の直線EL(図2参照)が、1本の直線として適切にスキャンされずに、2重線としてスキャンされる可能性がある。この場合、検出用画像FDI内の左側の領域に最長の直線と2番目に長い直線が存在し得るので、それらの2本の直線が検出され得る。即ち、レシート原稿RDの右端の直線ER(図2参照)に対応する直線が検出されない事象が起こり得る。この場合、図3のS100において、適切な結合画像が出力されない。これに対し、本実施例では、検出用画像FDIが左側分断画像LDI及び右側分断画像RDIに分断され、当該画像LDI,RDIのそれぞれから最長の直線LL1,LR1が検出される。従って、レシート原稿RDの左端に対応する直線LL1と、レシート原稿RDの右端に対応する直線LR1と、が適切に検出される。
(評価値算出処理;図7)
続いて、図7を参照して、図3のS60の評価値算出処理の内容を説明する。S62では、CPU22は、図3のS34で生成された二値画像データに対する行間除去処理を実行する。具体的には、CPU22は、二値画像データを構成する複数個の画素データのうち、各文字列の行間を表わす画素データを除去する。これにより、「1」又は「0」を示す複数個の画素データによって構成される除去画像データが生成される。
S64では、CPU22は、S62で生成された除去画像データと、図4のS52で検出された2本の直線のうちの一方の直線(例えば図6のLL1)が伸びる方向と、を利用して、第1の回転二値画像データを生成する。具体的には、CPU22は、上記の一方の直線が伸びる方向と縦方向とが一致するように、除去画像データによって表わされる除去画像を回転させて得られる第1の回転二値画像を表わす第1の回転二値画像データを生成する。これにより、「1」又は「0」を示す複数個の画素データによって構成される第1の回転二値画像データが生成される。
S66では、CPU22は、S64で生成された第1の回転二値画像データを利用して、評価値V1を算出する。評価値V1は、第1の回転二値画像内における文字列オブジェクト画像の向きに関係する値である。具体的には、評価値V1は、1行の文字列を構成する複数個の文字が横方向に沿って並ぶ場合に、比較的に大きい値を有し、当該複数個の文字が横方向に沿って並ばない場合(即ち、当該複数個の文字が斜め方向に沿って並ぶ場合)に、比較的に小さい値を示す。
S74では、CPU22は、S62で生成された除去画像データと、図4のS52で検出された2本の直線のうちの他方の直線(例えば図6のLR1)が伸びる方向と、を利用して、第2の回転二値画像データを生成する。具体的には、CPU22は、上記の他方の直線が伸びる方向と縦方向とが一致するように、除去画像データによって表わされる除去画像を回転させて得られる第2の回転二値画像を表わす第2の回転二値画像データを生成する。これにより、「1」又は「0」を示す複数個の画素データによって構成される第2の回転二値画像データが生成される。
S76では、CPU22は、S74で生成された第2の回転二値画像データを利用して、評価値V2を算出する。評価値V2は、第2の回転二値画像内における文字列オブジェクト画像の向きに関係する値である。
S78では、CPU22は、S66で算出された評価値V1がS76で算出された評価値V2よりも大きいのか否かを判断する。CPU22は、評価値V1が評価値V2よりも大きいと判断する場合(S78でYES)に、S80において、表面対象画像FTI(図3参照)に対応する直線(以下では「表面の直線」と呼ぶ)として、S64で利用された一方の直線(例えばLL1)を選択し、裏面対象画像BTIに対応する直線(以下では「裏面の直線」と呼ぶ)として、S74で利用された他方の直線(例えばLR1)を選択する。また、CPU22は、評価値V1が評価値V2以下であると判断する場合(S78でNO)に、S82において、表面の直線として、S74で利用された他方の直線を選択し、裏面の直線として、S64で利用された一方の直線を選択する。S80又はS82が終了すると、図7の処理が終了する。
(評価値算出処理の具体的な内容;図8)
続いて、図8を参照して、図7の評価値算出処理の具体的な内容を説明する。図7のS62では、CPU22は、まず、二値画像BIを表わす二値画像データを利用して、射影ヒストグラムH62を生成する。射影ヒストグラムH62は、二値画像データを構成する複数個の画素データを横方向に沿って射影する場合におけるON画素データの出現頻度の分布を表わす。次いで、CPU22は、射影ヒストグラムH62において、ON画素データの出現頻度が予め決められている閾値Th2(Th2はゼロより大きい値)以下である各射影ライン(即ち、縦方向の各領域)を除去対象として決定する。当該各領域は、各文字列の行間に対応する領域である。そして、CPU22は、二値画像データを構成する複数個の画素データのうち、除去対象の各領域を表わす各画素データを除去する。これにより、除去画像DIを表わす除去画像データが生成される。なお、図8では、除去画像DIにおいて、レシート原稿RDを示すレシート原稿領域の端に対応する直線が図示省略されている。
S64では、CPU22は、検出済みの直線LL1と縦方向とが一致するように、除去画像DIを回転させて得られる第1の回転二値画像RBI1を表わす第1の回転二値画像データを生成する。即ち、第1の回転二値画像RBI1は、直線LL1と縦方向との間の角度αを回転角度として除去画像DIを時計回りに回転させて得られる画像である。
S66では、CPU22は、第1の回転二値画像RBI1を表わす第1の回転二値画像データを利用して、射影ヒストグラムH66を生成する。射影ヒストグラムH66は、第1の回転二値画像データを構成する複数個の画素データを横方向(即ち、直線LL1に直交する方向)に沿って射影する場合におけるON画素データの出現頻度の分布を表わす。第1の回転二値画像RBI1では、文字列オブジェクト画像がON画素で表現されるので、射影ヒストグラムH66は、文字列オブジェクト画像を表わす画素データの出現頻度の分布を表わすものであると言える。次いで、CPU22は、射影ヒストグラムH66において、ON画素データの出現頻度が予め決められている閾値Th3(Th3はゼロより大きい値)以下である低頻度射影ラインの総数(即ち、縦方向の長さ)を評価値V1として算出する。当該低頻度射影ラインは、各文字列の行間に対応する。第1の回転二値画像RBI1では、1行の文字列を構成する複数個の文字が横方向に沿って並んでいるので、行間に対応する低頻度射影ラインの数が大きくなり、この結果、評価値V1が大きくなる。
S74では、CPU22は、検出済みの直線LR1と縦方向とが一致するように、除去画像DIを回転させて得られる第2の回転二値画像RBI2を表わす第2の回転二値画像データを生成する。即ち、第2の回転二値画像RBI2は、直線LR1と縦方向との間の角度βを回転角度として除去画像DIを反時計回りに回転させて得られる画像である。
S76では、CPU22は、S66と同様に、第2の回転二値画像RBI2を表わす第2の回転二値画像データを利用して、射影ヒストグラムH76を生成し、射影ヒストグラムH76において、低頻度射影ラインの総数を評価値V2として算出する。なお、射影ヒストグラムH66は、第2の回転二値画像データを構成する複数個の画素データを横方向(即ち、直線LR1に直交する方向)に沿って射影する場合におけるON画素データの出現頻度の分布を表わす。第2の回転二値画像RBI2では、1行の文字列を構成する複数個の文字が斜め方向に沿って並んでいるので、行間に対応する低頻度射影ラインの数が小さく、この結果、評価値V2が小さくなる(図8の例では評価値V2がゼロである)。
図8の例では、評価値V1が評価値V2よりも大きいと判断されるので(S78でYES)に、S80において、表面の直線として直線LL1が選択される。換言すると、図2の表面スキャン画像FSIにおいて、1行の文字列を構成する複数個の文字が並ぶ方向に直交する直線LL1が表面の直線として選択される。また、裏面の直線として直線LR1が選択される。この結果、後の処理において、直線LL1と縦方向との間の角度αに基づいて表面対象画像FTIの回転が実行され、直線LR1と縦方向との間の角度βに基づいて裏面対象画像BTIの回転が実行される(図3のS100、図9のS102、S112)。
上述したように、本実施例では、二値画像BIそのものを回転させて得られる回転二値画像(以下では「比較例の回転二値画像」と呼ぶ)に基づいて、評価値が算出されるのではなく、除去画像DIを回転させて得られる回転二値画像RBI1,RBI2に基づいて、評価値が算出される。二値画像BIでは文字列の行間が大きいので、角度βに基づいて二値画像BIを回転させて得られる比較例の回転二値画像でも、低頻度射影ラインの数が比較的に大きくなり、この結果、評価値が比較的に大きくなる。これに対し、本実施例の除去画像DIでは文字列の行間が小さいので、角度βに基づいて除去画像DIを回転させて得られる第2の回転二値画像RBI2では、低頻度射影ラインの数が極めて小さくなり、この結果、評価値V2が極めて小さくなる(図8の例では評価値V2がゼロである)。このように、比較対象の2個の評価値V1,V2のうちの小さい方の評価値V2の値が極めて小さくなるので、評価値V1,V2の比較の精度が高くなる。この結果、CPU22は、表面の直線及び裏面の直線を適切に選択することができる。
(出力処理;図9)
続いて、図9を参照して、図3のS100の出力処理の内容を説明する。S102では、CPU22は、図3のS20で生成された表面対象画像データと、図7のS80又はS82で選択された表面の直線が伸びる方向と、を利用して、第1の回転対象画像データを生成する。具体的には、CPU22は、上記の表面の直線が伸びる方向と縦方向とが一致するように、表面対象画像データによって表わされる表面対象画像FTIを回転させて得られる第1の回転対象画像を表わす第1の回転対象画像データを生成する。これにより、RGB値を示す複数個の画素データによって構成される第1の回転対象画像データが生成される。
S104では、CPU22は、S102で生成された第1の回転対象画像データに対して、輝度値変換処理、エッジ強度決定処理、及び、二値化処理を順次実行する。これらの処理は、図3のS30〜S34と同様である。これにより、「1」又は「0」を示す複数個の画素データによって構成される表面二値画像データが生成される。
S106では、CPU22は、S104で生成された表面二値画像データを利用して、S102で生成された第1の回転対象画像データによって表わされる第1の回転対象画像内において、レシート原稿RDを示す表面出力対象領域を決定する。次いで、CPU22は、S102で生成された第1の回転対象画像データのうち、表面出力対象領域を表わす表面部分画像データを取得する。
S110では、CPU22は、図3のS20で生成された裏面対象画像データを180度回転させて、回転画像データを生成する。
S112では、CPU22は、S110で生成された回転画像データと、図7のS80又はS82で選択された裏面の直線が伸びる方向と、を利用して、第2の回転対象画像データを生成する。具体的には、CPU22は、上記の裏面の直線が伸びる方向と縦方向とが一致するように、回転画像データによって表わされる回転画像を回転させて得られる第2の回転対象画像を表わす第2の回転対象画像データを生成する。これにより、RGB値を示す複数個の画素データによって構成される第2の回転対象画像データが生成される。
S114では、CPU22は、S112で生成された第2の回転対象画像データに対して、輝度値変換処理、エッジ強度決定処理、及び、二値化処理を順次実行する。これらの処理は、図3のS30〜S34と同様である。これにより、「1」又は「0」を示す複数個の画素データによって構成される裏面二値画像データが生成される。
S116では、CPU22は、S114で生成された裏面二値画像データを利用して、S112で生成された第2の回転対象画像データによって表わされる第2の回転対象画像内において、レシート原稿RDを示す裏面出力対象領域を決定する。次いで、CPU22は、S112で生成された第2の回転対象画像データのうち、裏面出力対象領域を表わす裏面部分画像データを取得する。
S120では、CPU22は、S106で取得された表面部分画像データと、S116で取得された裏面部分画像データと、を結合して、結合画像を表わす結合画像データを生成する。
S122では、CPU22は、結合画像データを表示部14(図1参照)に供給する。これにより、ユーザは、結合画像データによって表わされる結合画像、即ち、折り返された状態でスキャンされたレシート原稿RDを示す出力画像を見ることができる。S122が終了すると、図9の処理が終了する。
(出力処理の具体的な内容;図10)
続いて、図10を参照して、図9の出力処理の具体例を説明する。図9のS102では、CPU22は、表面の直線LL1が伸びる方向と縦方向とが一致するように、表面対象画像FTIを回転させて得られる第1の回転対象画像RTI1を表わす第1の回転対象画像データを生成する。即ち、図6の角度αを回転角度として表面対象画像FTIを時計回り方向に回転させて得られる第1の回転対象画像RTI1を表わす第1の回転対象画像データが生成される。
S106では、CPU22は、S104で生成される表面二値画像データを利用して、射影ヒストグラムH106Aを生成する。射影ヒストグラムH106Aは、表面二値画像データを構成する複数個の画素データを縦方向に沿って射影する場合におけるON画素データの出現頻度の分布を表わす。次いで、CPU22は、図6の射影ヒストグラムH48に対して実行された手法と同様の手法を利用して、第1の回転対象画像RTI1内において、レシート原稿領域RDA1’の左端の近傍の位置WL1と、レシート原稿領域RDA1’の右端の近傍の位置WR1と、を特定する。各位置WL1,WR1は、レシート原稿領域RDA1’の内側の位置である。
また、CPU22は、S104で生成される表面二値画像データを利用して、射影ヒストグラムH106Bを生成する。射影ヒストグラムH106Bは、表面二値画像データを構成する複数個の画素データを横方向に沿って射影する場合におけるON画素データの出現頻度の分布を表わす。次いで、CPU22は、射影ヒストグラムH106Bの上端から下側に向かう過程において、閾値Th1以上の出現頻度を最初に示す位置HU1を特定すると共に、射影ヒストグラムH106Bの下端から上側に向かう過程において、閾値Th1以上の頻度を最初に示す位置HL1を特定する。これにより、CPU22は、第1の回転対象画像RTI1内において、レシート原稿領域RDA1’の上端の近傍の位置HU1と、レシート原稿領域RDA1’の下端の近傍の位置HL1と、を特定する。各位置HU1,HL1は、レシート原稿領域RDA1’の内側の位置である。
次いで、CPU22は、第1の回転対象画像RTI1のうち、特定済みの4個の位置WL1,WR1,HU1,HL1によって画定される矩形領域が上下左右のそれぞれの向きに所定サイズ(例えば20画素))だけ拡大された拡大領域を、表面出力対象領域FOAとして決定する。上述したように、各位置WL1,WR1,HU1,HL1は、レシート原稿領域RDA1’の内側の位置である。ただし、各位置WL1,WR1,HU1,HL1によって画定される矩形領域が拡大された拡大領域が表面出力対象領域FOAとして決定されるので、レシート原稿領域RDA1’の全体を含む表面出力対象領域FOAが決定される。そして、CPU22は、第1の回転対象画像データのうち、表面出力対象領域FOAを表わす表面部分画像データを取得する。
(出力処理の具体的な内容の続き;図11)
続いて、図11を参照して、図10の続きを説明する。図9のS110では、CPU22は、裏面対象画像BTIを表わす裏面対象画像データを180度回転させて、回転画像RIを表わす回転画像データを生成する。
上述したように、図8の例では、裏面の直線として、レシート原稿RDの端ER(図2参照)に対応する直線LR1が選択される。そして、回転画像RIでは、直線LL2がレシート原稿RDの端ER(図2参照)に対応するので、直線LL2が裏面の直線である。従って、S112では、表面の直線LL2が伸びる方向と縦方向とが一致するように、回転画像RIを回転させて得られる第2の回転対象画像RTI2を表わす第2の回転対象画像データが生成される。即ち、図6の角度βを回転角度として回転画像RIを時計回り方向に回転させて得られる第2の回転対象画像RTI2を表わす第2の回転対象画像データが生成される。
S116では、CPU22は、S104で生成される裏面二値画像データを利用して、射影ヒストグラムH116Aと、射影ヒストグラムH116Bと、を生成する。射影ヒストグラムH116A、射影ヒストグラムH116Bは、それぞれ、裏面二値画像データを構成する複数個の画素データを縦方向、横方向に沿って射影する場合におけるON画素データの出現頻度の分布を表わす。次いで、CPU22は、図10と同様の手法を利用して、第2の回転対象画像RTI2内において、レシート原稿領域RDA2’の左端の近傍の位置WL2と右端の近傍の位置WR2と上端の近傍の位置HU2と下端の近傍の位置HL2とを特定する。
次いで、CPU22は、第2の回転対象画像RTI2のうち、特定済みの4個の位置WL2,WR2,HU2,HL2によって画定される矩形領域が上下左右のそれぞれの向きに所定サイズだけ拡大された拡大領域を、裏面出力対象領域BOAとして決定する。これにより、レシート原稿領域RDA2’の全体を含む裏面出力対象領域BOAが決定される。そして、CPU22は、第2の回転対象画像データのうち、裏面出力対象領域BOAを表わす裏面部分画像データを取得する。
(出力処理の具体的な内容の続き;図12)
続いて、図12を参照して、図11の続きを説明する。図9のS120では、CPU22は、図10で決定される表面出力対象領域FOAを表わす表面部分画像データが上側に配置されると共に、図11で決定される裏面出力対象領域BOAを表わす裏面部分画像データが下側に配置されるように、表面部分画像データと裏面部分画像データとを結合して、結合画像CIを表わす結合画像データを生成する。この際に、CPU22は、表面部分画像データと裏面部分画像データとの間に、所定の長さを有する白色の余白を表わす画素データを挿入する。即ち、表面部分画像データと裏面部分画像データとは、余白を表わす画素データを介して結合される。ただし、変形例では、表面部分画像データと裏面部分画像データとは、余白を表わす画素データを介さずに結合されてもよい。また、CPU22は、表面出力対象領域FOAの横方向の中間位置と裏面出力対象領域BOAの横方向の中間位置とが、結合画像CIの横方向の同じ位置に存在するように、表面部分画像データと裏面部分画像データとを結合する。なお、表面部分画像データの横方向の長さ(即ち、画素数)と裏面部分画像データの横方向の長さとが異なる場合には、CPU22は、矩形形状を有する結合画像CIを表わす結合画像データが生成されるように、白色の余白を表わす画素データを補充する。
(第1実施例の効果)
本実施例によると、端末装置TEは、図2の表面スキャン画像FSI内の2本の直線LL1,LR1を検出して(図6参照)、直線LL1と文字列オブジェクト画像との関係を示す評価値V1を特定すると共に、直線LR1と文字列オブジェクト画像との関係を示す評価値V2を特定する(図8参照)。そして、端末装置TEは、2個の評価値V1,V2に基づいて、表面の直線として直線LL1を選択する(図7のS80)。これにより、端末装置TEは、直線LL1が伸びる方向に基づいて、1行の文字列を構成する複数個の文字が横方向に沿って並ぶ第1の回転対象画像RTI1(図10参照)を生成することができる。また、端末装置TEは、裏面の直線として直線LR1を選択する(図7のS80)。これにより、端末装置TEは、直線LR1が伸びる方向に基づいて、1行の文字列を構成する複数個の文字が横方向に沿って並ぶ第2の回転対象画像RTI2(図11参照)を生成することができる。そして、端末装置TEは、それらの回転対象画像RTI1,RTI2を利用して、結合画像CIを生成する。このように、端末装置TEは、表面スキャン画像及び裏面スキャン画像の傾きを適切に補正することができ、この結果、適切な結合画像CIを出力することができる。
(第1の比較例)
スキャン画像内の原稿画像の傾きを補正するための以下の第1の比較例の技術が知られている。即ち、第1の比較例の技術では、原稿画像に含まれる1行の文字列を構成する複数個の文字が並ぶ方向(即ち、いわゆる文字列のベースライン)が検出される。そして、文字列のベースラインが横方向に沿って伸びるように原稿画像が回転される。ただし、第1の比較例の技術では、文字列のベースラインを検出するために複雑な処理を要するので、処理時間が長くなり得る。これに対し、本実施例では、端末装置TEは、文字列のベースラインを検出せずに済むので、迅速に処理を実行し得る。また、第1の比較例の技術では、1行の文字列を構成する文字数が少ない場合に、ベースラインを適切に検出することができない可能性があり、この結果、原稿画像の傾きを適切に補正することができない可能性がある。これに対し、本実施例では、端末装置TEは、レシート原稿RDの端に対応する2本の直線LL1,LR1に基づいて結合画像CIを生成するので、1行の文字列を構成する文字数に関わらず、適切な結合画像CIを出力することができる。
(第2の比較例)
スキャン画像内の原稿画像の傾きを補正するための以下の第2の比較例の技術が知られている。即ち、第2の比較例の技術では、スキャン画像に対する二値化処理等が実行され、原稿画像を構成する各部が値「1」で表現され、背景を構成する各部が値「0」で表現される。次いで、値「1」を含む各列の中から、最も左側に存在する値「1」と最も右側に存在する値「1」との間の距離が最も短い列と、全てが値「1」である列と、が検出される。そして、検出済みの2つの列に基づいて、原稿画像の傾きが補正される。ただし、第2の比較例の技術では、原稿画像が矩形形状を有することが前提となっている。従って、例えば、図2の表面スキャン画像FSIのように、レシート原稿領域RDA1が矩形形状を有さない状況では、原稿画像の傾きが適切に補正されない可能性がある。これに対し、本実施例では、端末装置TEは、レシート原稿RDの端に対応する2本の直線LL1,LR1に基づいて結合画像CIを生成するので、レシート原稿領域RDA1が矩形形状を有していなくても、適切な結合画像CIを出力することができる。
(対応関係)
端末装置TEが、「画像処理装置」の一例である。図2において、表面スキャン画像FSI、裏面スキャン画像BSIが、それぞれ、「第1の原画像」、「第2の原画像」の一例である。表面スキャン画像FSIに含まれる文字列オブジェクト画像、裏面スキャン画像BSIに含まれる文字列オブジェクト画像が、それぞれ、「第1のオブジェクト画像」、「第2のオブジェクト画像」の一例である。レシート原稿RDにおいて、前半の3行の文字列「FFF Shop」〜「HHH $80」、後半の3行の文字列「III s$500」〜「KKK $10」が、それぞれ、「第1の部分オブジェクト」、「第2の部分オブジェクト」の一例である。表面スキャン画像FSI内の直線LL1,LR1が、「2本以上の直線」の一例である。直線LL1が、「第1の直線」及び「特定の直線」の一例である。直線LR1が、「第2の直線」及び「特定の直線とは異なる直線」の一例である。
図6において、検出用画像FDIを表わす検出用画像データが、「第2の対象画像データ」の一例である。左側分断画像LDI、右側分断画像RDIが、それぞれ、「第1の部分画像」、「第2の部分画像」の一例である。
図8において、評価値V1、評価値V2が、それぞれ、「第1の関係」を示す値、「第2の関係」を示す値の一例である。二値画像BIを表わす二値画像データが、「第1の対象画像データ」の一例である。当該二値画像データを構成する複数個の画素データのうち、除去画像DIを表わす各画素データが、「K個の対象画素データ」の一例である。当該二値画像データのうちのON画素データが、「高強度画素データ」及び「関連画素データ」の一例である。当該二値画像データのうちのOFF画素データが、「低強度画素データ」の一例である。図8の二値画像BIにおいて、横方向、射影ヒストグラムH62、閾値Th2が、それぞれ、「第1の方向」、「第2の射影ヒストグラム」、「第2の閾値」の一例である。また、第1の回転二値画像RBI1において、縦方向、射影ヒストグラムH66、閾値Th3が、それぞれ、「第2の方向」、「第1の射影ヒストグラム」、「第1の閾値」の一例である。角度αが「差分角度」の一例である。
図10において、第1の回転対象画像RTI1が、「回転済み画像」の一例である。表面出力対象領域FOAが「出力領域」及び「第1の出力対象領域」の一例である。表面出力対象領域FOAを表わす表面部分画像データが、「除外済み画像データ」の一例である。図11において、裏面出力対象領域BOAが、「第2の出力対象領域」の一例である。図12において、結合画像CIが、「出力画像」の一例である。
(第2実施例;図13)
本実施例では、図9のS120の処理が第1実施例とは異なる。図13に示されるように、CPU22は、図3のS34で生成された二値画像データを利用して、射影ヒストグラムH120を生成する。射影ヒストグラムH120は、二値画像データを構成する複数個の画素データを横方向に沿って射影する場合におけるON画素データの出現頻度の分布を表わす。次いで、CPU22は、射影ヒストグラムH120の下端から上側に向かう過程において、閾値Th1以上の頻度を最初に示す位置HLを特定する。そして、CPU22は、二値画像BI内において、直線LL1上の位置HLと、直線LR1上の位置HLと、の間の長さRW(即ち、画素数RW)を特定する。長さRWは、厳密に言うと、レシート原稿RDの短辺の長さよりも若干大きい長さに対応する。ただし、長さRWは、レシート原稿RDの短辺の長さに略等しい長さに対応する。従って、長さRWは、レシート原稿RDの短辺の長さに関係する長さである。
次いで、CPU22は、図9のS106で取得された表面部分画像データによって表わされる表面出力対象領域FOAにおいて、直線LL1から右方向に長さRWだけ進んだ位置を特定する。そして、CPU22は、表面部分画像データを構成する複数個の画素データから、表面出力対象領域FOAのうちの上記の特定済みの位置よりも右側の領域を構成する各画素データを除去する。なお、CPU22は、表面出力対象領域FOAのうちの直線LL1よりも左側の領域を構成する各画素データが存在する場合には、当該各画素データも除去する。これにより、表面出力対象領域FOAよりも小さいサイズ、より具体的には、横方向に沿った長さがRWであるサイズを有する表面出力画像を表わす表面出力画像データが生成される。
次いで、CPU22は、図9のS116で取得された裏面部分画像データによって表わされる裏面出力対象領域BOA内において、直線LL2から左方向に長さRWだけ進んだ位置を特定する。そして、CPU22は、裏面部分画像データを構成する複数個の画素データから、裏面出力対象領域BOAのうちの上記の特定済みの位置よりも左側の領域を構成する各画素データを除去する。なお、CPU22は、裏面出力対象領域BOAのうちの直線LL2よりも右側の領域を構成する各画素データが存在する場合には、当該各画素データも除去する。これにより、裏面出力対象領域BOAよりも小さいサイズ、より具体的には、横方向に沿った長さがRWであるサイズを有する裏面出力画像を表わす裏面出力画像データが生成される。
次いで、CPU22は、上記の表面出力画像データが上側に配置されると共に、上記の裏面出力画像データが下側に配置されるように、余白を表わす画素データを介して、表面出力画像データと裏面出力画像データとを結合して、結合画像CIを表わす結合画像データを生成する。この際に、CPU22は、表面出力画像データを構成する最も左側の画素データと、裏面出力画像データを構成する最も左側の画素データと、が横方向の同じ位置に存在するように、表面出力画像データと裏面出力画像データとを結合する。これにより、横方向に沿った長さがRWであるサイズを有する結合画像CIを表わす結合画像データが生成される。
(第2実施例の効果)
第1実施例では、図12に示されるように、結合画像CIのアスペクト比が、レシート原稿RDのアスペクト比とは大きく異なり得る。また、結合画像CI内の横方向において、前半の3行の文字列の左端の位置と、後半の3行の文字列の左端の位置と、が大きく異なり得る。即ち、結合画像CI内の各文字列のレイアウトが、レシート原稿RD内の各文字列のレイアウトとは大きく異なり得る。これに対し、本実施例では、結合画像CIの横方向に沿った長さは、レシート原稿RDの短辺の長さに関係する長さRWである。従って、レシート原稿RDのアスペクト比に略等しいアスペクト比を有する結合画像CIが出力される。また、本実施例では、結合画像CI内の横方向において、各文字列の左端の位置が略一致する。即ち、結合画像CI内の各文字列のレイアウトが、レシート原稿RD内の各文字列のレイアウトに略等しい。このように、本実施例によると、レシート原稿RDが適切に反映された結合画像CIを出力することができる。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)図3のS40において、CPU22は、表面スキャン画像FSI(図2参照)内の3本以上の直線(例えば、LL1、LR1、レシート原稿領域RDA1の下辺の直線等)を検出してもよい。この場合、S60では、CPU22は、3本以上の直線に対応する3個以上の評価値を算出してもよい。例えば、CPU22は、上記の下辺の直線に対応する評価値を算出する際に、図8の二値画像BI内の上記の下辺の直線が伸びる方向が横方向に一致するように回転二値画像データを生成し、当該回転二値画像データを利用して評価値を算出してもよい。そして、図7のS78〜S82では、CPU22は、3個以上の評価値のうちの最大の評価値に対応する直線を表面の直線として選択してもよい。一般的に言うと、「検出部」は、2本以上の直線を検出すればよい。
(変形例2)図7のS80において、CPU22は、表面スキャン画像FSI内において、直線LL1と、直線LL1に略直交する直線(以下では「サブ直線」と呼ぶ)と、である2本の直線を、表面の直線として選択してもよい。そして、CPU22は、例えば、上記のサブ直線が伸びる方向に基づいて直線LL1が伸びる方向を補正して、上記のサブ直線に直交する補正後の直線を決定し、当該補正後の直線が伸びる方向に基づいて、結合画像データを生成してもよい。本変形例では、上記の2本の直線が、「特定の直線」の一例である。即ち、「特定の直線」は、1本以上の直線であればよい。
(変形例3)図4のS48及びS50が省略されてもよい。この場合、CPU22は、S46で生成された検出用画像データの全体に対してHough変換を実行して、検出用画像FDI(図6参照)内において、最長の直線と、二番目に長い直線と、を検出してもよい。即ち、「検出部」は、第1及び第2の部分画像データを利用せずに、2本以上の直線を検出してもよい。
(変形例4)図7のS74及びS76の処理が省略されてもよい。この場合、CPU22は、S78〜S82に代えて、以下の処理を実行してもよい。即ち、CPU22は、評価値V1が所定の閾値以上である場合に、2本の直線LL1,LR1のうちの一方の直線LL1を表面の直線として選択し(即ち、他方の直線LR1を裏面の直線として選択し)、評価値V1が所定の閾値未満である場合に、2本の直線LL1,LR1のうちの他方の直線LR1を表面の直線として選択する(即ち、一方の直線LL1を裏面の直線として選択する)。即ち、「特定部」は、第2の関係を特定しなくてもよい。一般的にいうと、「選択部」は、第1の関係に基づいて、特定の直線を選択すればよい。
(変形例5)図7のS66において、CPU22は、射影ヒストグラムH66(図8参照)において、ON画素データの出現頻度が閾値Th3以上である高頻度射影ラインの総数を評価値V1として算出してもよい。同様に、S76において、CPU22は、射影ヒストグラムH76(図8参照)において、ON画素データの出現頻度が閾値Th3以上である高頻度射影ラインの総数を評価値V2として算出してもよい。この場合、CPU22は、S78に代えて、評価値V1が評価値V2未満である場合にS80に進み、評価値V1が評価値V2以上である場合にS82に進むようにしてもよい。本変形例の評価値V1、評価値V2も、それぞれ、「第1の関係」を示す値、「第2の関係」を示す値の一例である。また、一般的に言うと、「特定部」は、第1の射影ヒストグラムを利用して、第1の関係を特定すればよい。
(変形例6)図7のS62の処理が省略されてもよい。この場合、CPU22は、S64では、図8の二値画像BIの全体を回転させて得られる第1の回転二値画像を表わす第1の回転二値画像データを生成し、S74では、二値画像BIの全体を回転させて得られる第2の回転二値画像データを生成してもよい。そして、CPU22は、以下の(変形例6−1)及び(変形例6−2)のいずれかの処理を実行してもよい。
(変形例6−1)CPU22は、第1の回転二値画像データを構成する複数個の画素データのうちの一部の各画素データのみ(例えば、文字が存在する可能性が高い中心部のみ、左半分のみ、右半分のみ、上半分のみ、下半分のみ等)を射影して、射影ヒストグラムを生成し、当該射影ヒストグラムを利用して、評価値V1を算出してもよい。同様に、CPU22は、第2の回転二値画像データを構成する複数個の画素データのうちの一部の各画像データのみを射影して、射影ヒストグラムを生成し、当該射影ヒストグラムを利用して、評価値V2を算出してもよい。
(変形例6−2)CPU22は、第1の回転二値画像データを構成する複数個の画素データの全部を射影して、射影ヒストグラムを生成し、当該射影ヒストグラムを利用して、評価値V1を算出してもよい。また、CPU22は、第2の回転二値画像データを構成する複数個の画素データの全部を射影して、射影ヒストグラムを生成し、当該射影ヒストグラムを利用して、評価値V2を算出してもよい。
(変形例7)CPU22は、図3のS60の評価値算出処理(即ち、図7の処理)に代えて、以下の処理を実行してもよい。即ち、CPU22は、図8の二値画像BI内において、例えば、1行の文字列を構成する複数個の文字が並ぶ方向(即ち、文字列のベースラインが伸びる方向)を特定し、当該方向と直線LL1との間の第1の角度と、当該方向と直線LR1との間の第2の角度と、を特定してもよい。この場合、CPU22は、第1の角度と第2の角度とのうち、90度に近い角度に対応する一方の直線LL1を表面の直線として選択し、他方の直線LR1を裏面の直線として選択してもよい。本変形例では、第1の角度、第2の角度が、それぞれ、「第1の関係」を示す値、「第2の関係」を示す値の一例である。
(変形例8)上記の実施例では、図3のS100において、CPU22は、結合画像CI(図12参照)を表わす結合画像データを生成して、当該結合画像CIを表示部14に表示させる。これに代えて、CPU22は、結合画像データに対してOCR(Optical Character Recognitionの略)解析を実行して、テキストデータを生成し、当該テキストデータを表示部14に表示させてもよい。本変形例では、テキストデータが、「出力データ」の一例である。
(変形例9)上記の(変形例8)において、CPU22は、第1の回転対象画像データ、第2の回転画像データ、及び、結合画像データを生成しなくてもよい。この場合、CPU22は、図2の表面スキャン画像FSIを表わす表面スキャン画像データに対して、直線LL1に直交する方向に沿ったOCR解析を実行して、テキストデータを生成してもよい。また、CPU22は、裏面スキャン画像BSIを表わす裏面スキャン画像データに対して、直線LL2に直交する方向に沿ったOCR解析を実行して、テキストデータを生成してもよい。そして、CPU22は、上記の2個のテキストデータを表示部14に表示させてもよい。
(変形例10)上記の実施例では、CPU22は、折り曲げられているレシート原稿RDのスキャンによって得られる2個のスキャン画像データ(即ち、表面スキャン画像データと裏面スキャン画像データ)を取得する(図3のS10)。これに代えて、CPU22は、例えば、書籍が開かれた状態で書籍がスキャンされることによって得られる1個のスキャン画像を表わす1個のスキャン画像データを取得してもよい。この場合、スキャン画像内の原稿領域の端を構成する2本の直線が、直交の関係及び平行の関係ではなく、互いに対向し得る。そして、CPU22は、2本の直線に対応する2個の評価値に基づいて、スキャン画像内の原稿領域に含まれる1行の文字列を構成する複数個の文字が並ぶ方向に直交する1本の直線を選択し、当該直線が伸びる方向に基づいて、スキャン画像を回転させてもよい。即ち、「取得部」は、第2の原画像データを取得せずに、第1の原画像データを取得してもよい。
(変形例11)CPU22は、第2実施例の結合画像CIを表わす結合画像データを生成するために、以下の処理を実行してもよい。長さRWを算出する点は、第2実施例と同様である。CPU22は、表面出力対象領域FOAにおいて、直線LL1から右方向に長さRWだけ進んだ基準位置を特定する。そして、CPU22は、横方向において、上記の基準位置と裏面出力対象領域BOA内の直線LL2とが同じ位置に存在するように、表面部分画像データと裏面部分画像データとを結合して、中間結合画像データを生成する。次いで、CPU22は、中間結合画像データを構成する複数個の画素データのうち、直線LL1よりも左側の領域を構成する各画素データを除去し、直線LL2よりも右側の領域を構成する各画素データを除去して、結合画像CIを表わす結合画像データを生成する。なお、CPU22は、直線LL1に基づいて基準位置を特定することに代えて、裏面出力対象領域BOAにおいて、直線LL2から左方向に長さRWだけ進んだ基準位置を特定してもよい。そして、CPU22は、横方向において、上記の基準位置と表面出力対象領域FOA内の直線LL1とが同じ位置に存在するように、表面部分画像データと裏面部分画像データとを結合して、中間結合画像データを生成してもよい。
(変形例12)CPU22は、結合画像CIを表示しなくてもよく、結合画像データをプリンタに送信して、結合画像CIの印刷をプリンタに実行させてもよい。なお、当該プリンタは、例えば、スキャナSCであってもよいし(即ち、スキャナSCがスキャン機能と印刷機能とを備える多機能機であってもよいし)、スキャナSCとは別体に構成されているプリンタであってもよい。本変形例では、印刷対象の結合画像データが、「出力データ」の一例である。即ち、「出力」という用語は、表示のみならず、印刷を含む。
(変形例13)上記の実施例では、端末装置TEが、図3〜図13の各処理を実行する。これに代えて、スキャナSCが、図3〜図13の各処理を実行して、スキャナSCの表示部(図示省略)又は端末装置TEの表示部14に結合画像CIを表示させてもよい。本変形例では、スキャナSCが、「画像処理装置」の一例である。
(変形例14)上記の実施例では、端末装置TEのCPU22がドライバプログラム26(即ち、ソフトウェア)を実行することによって、図3〜図13の各処理が実現される。これに代えて、図3〜図13の各処理のうちの少なくとも1つの処理は、論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下に、本明細書に記載の技術の特徴を列挙する。
(項目1)
画像処理装置であって、
オブジェクトを含む原稿のスキャンによって得られる第1の原画像データを取得する取得部であって、前記第1の原画像データによって表わされる第1の原画像は、前記オブジェクトを示す第1のオブジェクト画像を含む、前記取得部と、
前記第1の原画像の中から2本以上の直線を検出する検出部と、
前記2本以上の直線のうちの第1の直線と、前記第1のオブジェクト画像と、の関係である第1の関係を特定する特定部と、
前記第1の関係に基づいて、前記2本以上の直線の中から特定の直線を選択する選択部と、
前記特定の直線が伸びる方向に基づいて、前記第1の原画像データを利用して、出力データを生成する出力データ生成部と、
を備える、画像処理装置。
(項目2)
前記特定部は、さらに、前記2本以上の直線のうちの第2の直線であって、前記第1の直線とは異なる前記第2の直線と、前記第1のオブジェクト画像と、の関係である第2の関係を特定し、
前記選択部は、前記第1の関係と前記第2の関係とに基づいて、前記2本以上の直線の中から前記特定の直線を選択する、項目1に記載の画像処理装置。
(項目3)
前記第1の原画像データは、前記第1のオブジェクト画像を表わすオブジェクト画素データと、前記第1のオブジェクト画像の背景を表わす背景画素データと、を含み、
前記画像処理装置は、さらに、
前記第1の原画像データを用いて得られる第1の対象画像データを構成する複数個の対象画素データのうちのK個(前記Kは2以上の整数)の対象画素データを前記第1の直線に直交する方向に沿って射影して、前記オブジェクト画素データに関連する関連対象画素データの出現頻度の分布を表わす第1の射影ヒストグラムを生成する第1の射影ヒストグラム生成部を備え、
前記特定部は、前記第1の射影ヒストグラムを利用して、前記第1の関係を特定する、項目1又は2に記載の画像処理装置。
(項目4)
前記画像処理装置は、さらに、
前記第1の原画像データを構成する各原画素データを変換して、所定の閾値よりも高いエッジ強度を有する高強度画素データと、前記所定の閾値以下のエッジ強度を有する低強度画素データと、によって構成される前記第1の対象画像データを生成する対象画像データ生成部を備え、
前記第1の射影ヒストグラム生成部は、前記第1の対象画像データを構成する前記K個の対象画素データを前記第1の直線に直交する前記方向に沿って射影して、前記高強度画素データである前記関連画素データの出現頻度の分布を表わす前記第1の射影ヒストグラムを生成する、項目3に記載の画像処理装置。
(項目5)
前記第1の関係は、前記第1の射影ヒストグラムを生成するための全ての射影ラインのうち、前記関連対象画像データの出現頻度が第1の閾値以下である射影ラインの数である、項目3又は4に記載の画像処理装置。
(項目6)
前記第1の射影ヒストグラム生成部は、前記第1の対象画像データを構成する前記複数個の対象画素データのうちの一部である前記K個の対象画素データを前記第1の直線に直交する前記方向に沿って射影して、前記第1の射影ヒストグラムを生成する、項目3から5のいずれか一項に記載の画像処理装置。
(項目7)
前記画像処理装置は、さらに、
前記第1の原画像データを構成する各原画素データを変換して、所定の閾値よりも高いエッジ強度を有する高強度画素データと、前記所定の閾値以下のエッジ強度を有する低強度画素データと、によって構成される前記第1の対象画像データを生成する対象画像データ生成部を備え、
前記第1の射影ヒストグラム生成部は、前記第1の対象画像データを構成する前記K個の対象画素データを前記第1の直線に直交する前記方向に沿って射影して、前記高強度画素データである前記関連画素データの出現頻度の分布を表わす前記第1の射影ヒストグラムを生成し、
前記画像処理装置は、さらに、
前記第1の対象画像データを構成する前記複数個の対象画素データを予め決められている第1の方向に沿って射影して、前記高強度画素データの出現頻度の分布を表わす第2の射影ヒストグラムを生成する第2の射影ヒストグラム生成部を備え、
前記第1の射影ヒストグラム生成部は、
前記第2の射影ヒストグラムを利用して、前記第1の対象画像データを構成する前記複数個の対象画素データの中から、前記高強度画素データの出現頻度が第2の閾値以下である射影ライン上の各対象画素データを特定し、
前記第1の対象画像データを構成する前記複数個の対象画素データから特定済みの前記各対象画素データが除かれた前記K個の対象画素データを前記第1の直線に直交する前記方向に沿って射影して、前記第1の射影ヒストグラムを生成する、項目6に記載の画像処理装置。
(項目8)
前記検出部は、さらに、
前記第1の原画像データを用いて得られる第2の対象画像データの一部である第1の部分画像データを利用して、前記第1の部分画像データによって表わされる第1の部分画像の中から、前記2本以上の直線のうちの前記第1の直線を検出し、
前記第2の対象画像データの一部である第2の部分画像データであって、前記第1の部分画像データとは異なる前記第2の部分画像データを利用して、前記第2の部分画像データによって表わされる第2の部分画像の中から、前記2本以上の直線のうちの第2の直線であって、前記第1の直線とは異なる前記第2の直線を検出する、項目1から7のいずれか一項に記載の画像処理装置。
(項目9)
前記検出部は、さらに、
前記第1の部分画像データを利用して、前記第1の部分画像に含まれる最長の直線である前記第1の直線を検出し、
前記第2の部分画像データを利用して、前記第2の部分画像に含まれる最長の直線である前記第2の直線を検出する、項目8に記載の画像処理装置。
(項目10)
前記検出部は、前記第1の原画像に含まれる最長の直線と、前記第1の原画像に含まれる二番目に長い直線と、である2本の直線を検出することによって、前記2本以上の直線を検出し、
前記2本の直線は、直交の関係及び平行の関係ではなく、互いに対向する、項目1から9のいずれか一項に記載の画像処理装置。
(項目11)
前記検出部は、前記第1の原画像のうち、前記原稿を示す原稿領域の端に対応する2本の直線を検出することによって、前記2本以上の直線を検出し、
前記2本の直線は、直交の関係及び平行の関係ではなく、互いに対向する、項目1から10のいずれか一項に記載の画像処理装置。
(項目12)
前記特定部は、前記第1の直線が伸びる方向と予め決められている第2の方向との間の差分角度を回転角度として前記第1の原画像を回転させる場合における前記第1のオブジェクト画像の向きの関係である前記第1の関係を特定する、項目1から11のいずれか一項に記載の画像処理装置。
(項目13)
前記第1のオブジェクト画像は、1行以上の文字列を含む前記オブジェクトを示し、
前記特定部は、前記第1の直線が伸びる方向と、前記第1のオブジェクト画像によって示される前記1行以上の文字列のうちの1行の文字列を構成する複数個の文字が並ぶ方向と、の間の角度の関係である前記第1の関係を特定し、
前記選択部は、前記第1の関係に基づいて、前記2本以上の直線の中から、前記複数個の文字が並ぶ前記方向に直交する前記特定の直線を選択する、項目1から12のいずれか一項に記載の画像処理装置。
(項目14)
前記出力データ生成部は、
前記特定の直線が伸びる方向に基づく回転角度で前記第1の原画像が回転された回転済み画像を表わす回転済み画像データを生成し、
前記回転済み画像データを利用して、前記出力データを生成する、項目1から13のいずれか一項に記載の画像処理装置。
(項目15)
前記出力データ生成部は、
前記回転済み画像データを利用して、前記回転済み画像の中から、前記原稿を示す原稿領域を含む出力領域を決定し、
前記回転済み画像データを利用して、前記出力領域以外の領域が除外された除外済み画像を表わす除外済み画像データを生成し、
前記除外済み画像データを利用して、前記出力データを生成する、項目14に記載の画像処理装置。
(項目16)
前記出力データ生成部は、
前記第1の原画像内の特定の長さであって、矩形形状を有する前記原稿の特定の辺の長さに関係する前記特定の長さを決定し、
前記第1の原画像内の一部の領域である第1の出力対象領域であって、前記特定の直線に直交する方向に沿った前記特定の長さを有する前記第1の出力対象領域を決定し、
前記第1の出力対象領域に基づいて、前記出力データを生成する、項目1から15のいずれか一項に記載の画像処理装置。
(項目17)
前記第1の原画像は、前記オブジェクトの一部である第1の部分オブジェクトを示す前記第1のオブジェクト画像を含み、
前記取得部は、さらに、前記原稿のスキャンによって得られる第2の原画像データを取得し、
前記第2の原画像データによって表わされる第2の原画像は、前記オブジェクトの一部である第2の部分オブジェクトであって、前記第1の部分オブジェクトとは異なる前記第2の部分オブジェクトを示す第2のオブジェクト画像を含み、
前記出力データ生成部は、前記特定の直線が伸びる方向に基づいて、前記第1の原画像データを利用し、かつ、前記2本以上の直線のうち、前記特定の直線とは異なる直線が伸びる方向に基づいて、前記第2の原画像データを利用して、前記出力データを生成する、項目1から16のいずれか一項に記載の画像処理装置。
(項目18)
前記出力データ生成部は、前記第1の原画像内の第1の出力対象領域と前記第2の原画像内の第2の出力対象領域とが結合された結合領域を含む出力画像を表わす前記出力データを生成する、項目17に記載の画像処理装置。
(項目19)
前記第1の部分オブジェクトを含む第1の部分領域と、前記第2の部分オブジェクトを含む第2の部分領域と、の間の境界で、前記原稿が折り返されている状態で、前記原稿の前記第1の部分領域と前記第2の部分領域とのそれぞれが別個にスキャンされる場合に、
前記第1の原画像は、前記第1の部分オブジェクトを示す前記第1のオブジェクト画像を含み、
前記第2の原画像は、前記第2の部分オブジェクトを示す前記第2のオブジェクト画像を含む、項目17又は18に記載の画像処理装置。
(項目20)
画像処理装置のためのコンピュータプログラムであって、
前記画像処理装置に搭載されるコンピュータに、以下の各処理、即ち、
オブジェクトを含む原稿のスキャンによって得られる第1の原画像データを取得する取得処理であって、前記第1の原画像データによって表わされる第1の原画像は、前記オブジェクトを示す第1のオブジェクト画像を含む、前記取得処理と、
前記第1の原画像の中から2本以上の直線を検出する検出処理と、
前記2本以上の直線のうちの第1の直線と、前記第1のオブジェクト画像と、の関係である第1の関係を特定する特定処理と、
前記第1の関係に基づいて、前記2本以上の直線の中から特定の直線を選択する選択処理と、
前記特定の直線が伸びる方向に基づいて、前記第1の原画像データを利用して、出力データを生成する出力データ生成処理と、
を実行させるコンピュータプログラム。
2:通信システム、SC:スキャナ、TE:端末装置、10:ネットワークインターフェース、12:操作部、14:表示部、20:制御部、22:CPU、24:メモリ、26:ドライバプログラム、30:マーク、CS:キャリアシート、RD:レシート原稿、FSI:表面スキャン画像、BSI:裏面スキャン画像、FTI:表面対象画像、BTI:裏面対象画像、BI:二値画像、OFI:OFF変換画像、ONI:ON変換画像、FDI:検出用画像、LDI:左側分断画像、RDI:右側分断画像、DI:除去画像、RBI1:第1の回転二値画像、RBI2:第2の回転二値画像、RTI1:第1の回転対象画像、RTI2:第2の回転対象画像、RI:回転画像、CI:結合画像、LL1,LR1,LL2,LR2:直線、RW:距離、Th1,Th2,Th3:閾値、V1,V2:評価値

Claims (19)

  1. 画像処理装置であって、
    オブジェクトを含む原稿のスキャンによって得られる第1の原画像データを取得する取得部であって、前記第1の原画像データによって表わされる第1の原画像は、前記オブジェクトを示す第1のオブジェクト画像を含み、前記第1の原画像データは、前記第1のオブジェクト画像を表わすオブジェクト画素データと、前記第1のオブジェクト画像の背景を表わす背景画素データと、を含む、前記取得部と、
    前記第1の原画像の中から2本以上の直線を検出する検出部と、
    前記第1の原画像データを用いて得られる第1の対象画像データを構成する複数個の対象画素データのうちのK個(前記Kは2以上の整数)の対象画素データを前記2本以上の直線のうちの第1の直線に直交する方向に沿って射影して、前記オブジェクト画素データに関連する関連対象画素データの出現頻度の分布を表わす第1の射影ヒストグラムを生成する第1の射影ヒストグラム生成部と、
    前記第1の射影ヒストグラムを利用して、前記第1の直線と、前記第1のオブジェクト画像と、の関係である第1の関係を特定する特定部と、
    前記第1の関係に基づいて、前記2本以上の直線の中から特定の直線を選択する選択部と、
    前記特定の直線が伸びる方向に基づいて、前記第1の原画像データを利用して、出力データを生成する出力データ生成部と、
    を備える、画像処理装置。
  2. 前記画像処理装置は、さらに、
    前記第1の原画像データを構成する各原画素データを変換して、所定の閾値よりも高いエッジ強度を有する高強度画素データと、前記所定の閾値以下のエッジ強度を有する低強度画素データと、によって構成される前記第1の対象画像データを生成する対象画像データ生成部を備え、
    前記第1の射影ヒストグラム生成部は、前記第1の対象画像データを構成する前記K個の対象画素データを前記第1の直線に直交する前記方向に沿って射影して、前記高強度画素データである前記関連対象画素データの出現頻度の分布を表わす前記第1の射影ヒストグラムを生成する、請求項1に記載の画像処理装置。
  3. 前記第1の関係は、前記第1の射影ヒストグラムを生成するための全ての射影ラインのうち、前記関連対象画素データの出現頻度が第1の閾値以下である射影ラインの数である、請求項1又は2に記載の画像処理装置。
  4. 前記第1の射影ヒストグラム生成部は、前記第1の対象画像データを構成する前記複数個の対象画素データのうちの一部である前記K個の対象画素データを前記第1の直線に直交する前記方向に沿って射影して、前記第1の射影ヒストグラムを生成する、請求項1から3のいずれか一項に記載の画像処理装置。
  5. 前記画像処理装置は、さらに、
    前記第1の原画像データを構成する各原画素データを変換して、所定の閾値よりも高いエッジ強度を有する高強度画素データと、前記所定の閾値以下のエッジ強度を有する低強度画素データと、によって構成される前記第1の対象画像データを生成する対象画像データ生成部を備え、
    前記第1の射影ヒストグラム生成部は、前記第1の対象画像データを構成する前記K個の対象画素データを前記第1の直線に直交する前記方向に沿って射影して、前記高強度画素データである前記関連対象画素データの出現頻度の分布を表わす前記第1の射影ヒストグラムを生成し、
    前記画像処理装置は、さらに、
    前記第1の対象画像データを構成する前記複数個の対象画素データを予め決められている第1の方向に沿って射影して、前記高強度画素データの出現頻度の分布を表わす第2の射影ヒストグラムを生成する第2の射影ヒストグラム生成部を備え、
    前記第1の射影ヒストグラム生成部は、
    前記第2の射影ヒストグラムを利用して、前記第1の対象画像データを構成する前記複数個の対象画素データの中から、前記高強度画素データの出現頻度が第2の閾値以下である射影ライン上の各対象画素データを特定し、
    前記第1の対象画像データを構成する前記複数個の対象画素データから特定済みの前記各対象画素データが除かれた前記K個の対象画素データを前記第1の直線に直交する前記方向に沿って射影して、前記第1の射影ヒストグラムを生成する、請求項4に記載の画像処理装置。
  6. 画像処理装置であって、
    オブジェクトを含む原稿のスキャンによって得られる第1の原画像データを取得する取得部であって、前記第1の原画像データによって表わされる第1の原画像は、前記オブジェクトを示す第1のオブジェクト画像を含む、前記取得部と、
    前記第1の原画像データを用いて得られる第2の対象画像データの一部である第1の部分画像データを利用して、前記第1の部分画像データによって表わされる第1の部分画像の中から、第1の直線を検出し、前記第2の対象画像データの一部である第2の部分画像データであって、前記第1の部分画像データとは異なる前記第2の部分画像データを利用して、前記第2の部分画像データによって表わされる第2の部分画像の中から、第2の直線であって、前記第1の直線とは異なる前記第2の直線を検出し、前記第1の原画像の中から前記第1の直線と前記第2の直線を含む2本以上の直線を検出する検出部と、
    前記2本以上の直線のうちの前記第1の直線と、前記第1のオブジェクト画像と、の関係である第1の関係を特定する特定部と、
    前記第1の関係に基づいて、前記2本以上の直線の中から特定の直線を選択する選択部と、
    前記特定の直線が伸びる方向に基づいて、前記第1の原画像データを利用して、出力データを生成する出力データ生成部と、
    を備える、画像処理装置。
  7. 前記検出部は、さらに、
    前記第1の部分画像データを利用して、前記第1の部分画像に含まれる最長の直線である前記第1の直線を検出し、
    前記第2の部分画像データを利用して、前記第2の部分画像に含まれる最長の直線である前記第2の直線を検出する、請求項6に記載の画像処理装置。
  8. 画像処理装置であって、
    オブジェクトを含む原稿のスキャンによって得られる第1の原画像データを取得する取得部であって、前記第1の原画像データによって表わされる第1の原画像は、前記オブジェクトを示す第1のオブジェクト画像を含む、前記取得部と、
    前記第1の原画像の中から、前記第1の原画像に含まれる最長の直線と、前記第1の原画像に含まれる二番目に長い直線と、である2本の直線を含む2本以上の直線を検出する検出部であって、前記2本の直線は、直交の関係及び平行の関係ではなく、互いに対向する、前記検出部と、
    前記2本以上の直線のうちの第1の直線と、前記第1のオブジェクト画像と、の関係である第1の関係を特定する特定部と、
    前記第1の関係に基づいて、前記2本以上の直線の中から特定の直線を選択する選択部と、
    前記特定の直線が伸びる方向に基づいて、前記第1の原画像データを利用して、出力データを生成する出力データ生成部と、
    を備える、画像処理装置。
  9. 画像処理装置であって、
    オブジェクトを含む原稿のスキャンによって得られる第1の原画像データを取得する取得部であって、前記第1の原画像データによって表わされる第1の原画像は、前記オブジェクトを示す第1のオブジェクト画像を含む、前記取得部と、
    前記第1の原画像のうち、前記原稿を示す原稿領域の端に対応する2本の直線を検出することによって、前記第1の原画像の中から2本以上の直線を検出する検出部であって、前記2本の直線は、直交の関係及び平行の関係ではなく、互いに対向する、前記検出部と、
    前記2本以上の直線のうちの第1の直線と、前記第1のオブジェクト画像と、の関係である第1の関係を特定する特定部と、
    前記第1の関係に基づいて、前記2本以上の直線の中から特定の直線を選択する選択部と、
    前記特定の直線が伸びる方向に基づいて、前記第1の原画像データを利用して、出力データを生成する出力データ生成部と、
    を備える、画像処理装置。
  10. 画像処理装置であって、
    オブジェクトを含む原稿のスキャンによって得られる第1の原画像データを取得する取得部であって、前記第1の原画像データによって表わされる第1の原画像は、前記オブジェクトを示す第1のオブジェクト画像を含む、前記取得部と、
    前記第1の原画像の中から2本以上の直線を検出する検出部と、
    前記2本以上の直線のうちの第1の直線が伸びる方向と予め決められている第2の方向との間の差分角度を回転角度として前記第1の原画像を回転させる場合における前記第1のオブジェクト画像の向きの関係である第1の関係を特定する特定部と、
    前記第1の関係に基づいて、前記2本以上の直線の中から特定の直線を選択する選択部と、
    前記特定の直線が伸びる方向に基づいて、前記第1の原画像データを利用して、出力データを生成する出力データ生成部と、
    を備える、画像処理装置。
  11. 画像処理装置であって、
    オブジェクトを含む原稿のスキャンによって得られる第1の原画像データを取得する取得部であって、前記第1の原画像データによって表わされる第1の原画像は、前記オブジェクトを示す第1のオブジェクト画像を含む、前記取得部と、
    前記第1の原画像の中から2本以上の直線を検出する検出部と、
    前記2本以上の直線のうちの第1の直線と、前記第1のオブジェクト画像と、の関係である第1の関係を特定する特定部と、
    前記第1の関係に基づいて、前記2本以上の直線の中から特定の直線を選択する選択部と、
    前記第1の原画像内の特定の長さであって、矩形形状を有する前記原稿の特定の辺の長さに関係する前記特定の長さを決定し、前記第1の原画像内の一部の領域である第1の出力対象領域であって、前記特定の直線に直交する方向に沿った前記特定の長さを有する前記第1の出力対象領域を決定し、前記第1の出力対象領域に基づいて、出力データを生成する出力データ生成部と、
    を備える、画像処理装置。
  12. 画像処理装置であって、
    オブジェクトを含む原稿のスキャンによって得られる第1の原画像データと第2の原画像データとを取得する取得部であって、前記第1の原画像データによって表わされる第1の原画像は、前記オブジェクトの一部である第1の部分オブジェクトを示す第1のオブジェクト画像を含み、前記第2の原画像データによって表わされる第2の原画像は、前記オブジェクトの一部である第2の部分オブジェクトであって、前記第1の部分オブジェクトとは異なる前記第2の部分オブジェクトを示す第2のオブジェクト画像を含む、前記取得部と、
    前記第1の原画像の中から2本以上の直線を検出する検出部と、
    前記2本以上の直線のうちの第1の直線と、前記第1のオブジェクト画像と、の関係である第1の関係を特定する特定部と、
    前記第1の関係に基づいて、前記2本以上の直線の中から特定の直線を選択する選択部と、
    前記特定の直線が伸びる方向に基づいて、前記第1の原画像データを利用し、かつ、前記2本以上の直線のうち、前記特定の直線とは異なる直線が伸びる方向に基づいて、前記第2の原画像データを利用して、出力データを生成する出力データ生成部と、
    を備える、画像処理装置。
  13. 前記出力データ生成部は、前記第1の原画像内の第1の出力対象領域と前記第2の原画像内の第2の出力対象領域とが結合された結合領域を含む出力画像を表わす前記出力データを生成する、請求項12に記載の画像処理装置。
  14. 前記第1の部分オブジェクトを含む第1の部分領域と、前記第2の部分オブジェクトを含む第2の部分領域と、の間の境界で、前記原稿が折り返されている状態で、前記原稿の前記第1の部分領域と前記第2の部分領域とのそれぞれが別個にスキャンされる場合に、
    前記第1の原画像は、前記第1の部分オブジェクトを示す前記第1のオブジェクト画像を含み、
    前記第2の原画像は、前記第2の部分オブジェクトを示す前記第2のオブジェクト画像を含む、請求項12又は13に記載の画像処理装置。
  15. 前記特定部は、さらに、前記2本以上の直線のうちの第2の直線であって、前記第1の直線とは異なる前記第2の直線と、前記第1のオブジェクト画像と、の関係である第2の関係を特定し、
    前記選択部は、前記第1の関係と前記第2の関係とに基づいて、前記2本以上の直線の中から前記特定の直線を選択する、請求項1〜14のいずれか一項に記載の画像処理装置。
  16. 前記第1のオブジェクト画像は、1行以上の文字列を含む前記オブジェクトを示し、
    前記特定部は、前記第1の直線が伸びる方向と、前記第1のオブジェクト画像によって示される前記1行以上の文字列のうちの1行の文字列を構成する複数個の文字が並ぶ方向と、の間の角度の関係である前記第1の関係を特定し、
    前記選択部は、前記第1の関係に基づいて、前記2本以上の直線の中から、前記複数個の文字が並ぶ前記方向に直交する前記特定の直線を選択する、請求項1から15のいずれか一項に記載の画像処理装置。
  17. 前記出力データ生成部は、
    前記特定の直線が伸びる方向に基づく回転角度で前記第1の原画像が回転された回転済み画像を表わす回転済み画像データを生成し、
    前記回転済み画像データを利用して、前記出力データを生成する、請求項1から16のいずれか一項に記載の画像処理装置。
  18. 前記出力データ生成部は、
    前記回転済み画像データを利用して、前記回転済み画像の中から、前記原稿を示す原稿領域を含む出力領域を決定し、
    前記回転済み画像データを利用して、前記出力領域以外の領域が除外された除外済み画像を表わす除外済み画像データを生成し、
    前記除外済み画像データを利用して、前記出力データを生成する、請求項17に記載の画像処理装置。
  19. 画像処理装置のためのコンピュータプログラムであって、
    前記画像処理装置に搭載されるコンピュータに、以下の各処理、即ち、
    オブジェクトを含む原稿のスキャンによって得られる第1の原画像データを取得する取得処理であって、前記第1の原画像データによって表わされる第1の原画像は、前記オブジェクトを示す第1のオブジェクト画像を含み、前記第1の原画像データは、前記第1のオブジェクト画像を表わすオブジェクト画素データと、前記第1のオブジェクト画像の背景を表わす背景画素データと、を含む、前記取得処理と、
    前記第1の原画像の中から2本以上の直線を検出する検出処理と、
    前記第1の原画像データを用いて得られる第1の対象画像データを構成する複数個の対象画素データのうちのK個(前記Kは2以上の整数)の対象画素データを前記2本以上の直線のうちの第1の直線に直交する方向に沿って射影して、前記オブジェクト画素データに関連する関連対象画素データの出現頻度の分布を表わす第1の射影ヒストグラムを生成する射影ヒストグラム生成処理と、
    前記第1の射影ヒストグラムを利用して、前記第1の直線と、前記第1のオブジェクト画像と、の関係である第1の関係を特定する特定処理と、
    前記第1の関係に基づいて、前記2本以上の直線の中から特定の直線を選択する選択処理と、
    前記特定の直線が伸びる方向に基づいて、前記第1の原画像データを利用して、出力データを生成する出力データ生成処理と、
    を実行させるコンピュータプログラム。
JP2014071041A 2014-03-31 2014-03-31 画像処理装置 Active JP6210013B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014071041A JP6210013B2 (ja) 2014-03-31 2014-03-31 画像処理装置
US14/662,317 US9451126B2 (en) 2014-03-31 2015-03-19 Technique for image processing

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2015195428A JP2015195428A (ja) 2015-11-05
JP6210013B2 true JP6210013B2 (ja) 2017-10-11

Family

ID=54192148

Family Applications (1)

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

Country Status (2)

Country Link
US (1) US9451126B2 (ja)
JP (1) JP6210013B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5884560B2 (ja) * 2012-03-05 2016-03-15 オムロン株式会社 文字認識のための画像処理方法、およびこの方法を用いた文字認識装置およびプログラム
JP6152821B2 (ja) * 2014-03-31 2017-06-28 ブラザー工業株式会社 画像処理装置、および、コンピュータプログラム
JP6575273B2 (ja) * 2015-09-30 2019-09-18 ブラザー工業株式会社 画像処理装置、および、コンピュータプログラム
WO2017187699A1 (ja) * 2016-04-28 2017-11-02 京セラドキュメントソリューションズ株式会社 データ送信システム及びデータ送信方法
JP2018029289A (ja) * 2016-08-18 2018-02-22 ブラザー工業株式会社 画像処理装置および画像処理方法
US11087448B2 (en) * 2019-05-30 2021-08-10 Kyocera Document Solutions Inc. Apparatus, method, and non-transitory recording medium for a document fold determination based on the change point block detection

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3437249B2 (ja) 1994-04-04 2003-08-18 キヤノン株式会社 画像処理方法および画像処理装置
JP2000187705A (ja) 1998-12-22 2000-07-04 Toshiba Corp 文書読取装置および方法および記憶媒体
JP3962891B2 (ja) * 2000-08-09 2007-08-22 富士ゼロックス株式会社 文書画像処理装置、文書画像処理方法、及び記憶媒体
JP4186747B2 (ja) 2003-08-06 2008-11-26 富士ゼロックス株式会社 画像処理装置、画像形成装置、画像処理方法及びプログラム
JP5132438B2 (ja) * 2008-06-19 2013-01-30 キヤノン株式会社 画像処理装置および画像処理方法
JP5477541B2 (ja) * 2009-04-07 2014-04-23 村田機械株式会社 画像処理装置と処理方法、及び処理プログラム

Also Published As

Publication number Publication date
US9451126B2 (en) 2016-09-20
US20150281513A1 (en) 2015-10-01
JP2015195428A (ja) 2015-11-05

Similar Documents

Publication Publication Date Title
JP6210013B2 (ja) 画像処理装置
US8634659B2 (en) Image processing apparatus, computer readable medium storing program, and image processing method
US9179035B2 (en) Method of editing static digital combined images comprising images of multiple objects
JP2016536837A (ja) 取込んだ画像データを3次元で幾何学的に再構成するためのシステムおよび方法
US8811751B1 (en) Method and system for correcting projective distortions with elimination steps on multiple levels
JP6642970B2 (ja) 注目領域検出装置、注目領域検出方法及びプログラム
JP6194711B2 (ja) 画像形成装置、印刷方法及びプログラム
US9171218B2 (en) Image processing apparatus, image processing method, and computer readable medium that recognize overlapping elements in handwritten input
JP6288521B2 (ja) 画像処理装置
EP2536123B1 (en) Image processing method and image processing apparatus
JP6542230B2 (ja) 投影ひずみを補正するための方法及びシステム
JP2018128825A (ja) 画像処理装置及び画像処理プログラム
CN103905689B (zh) 图像扫描装置、用于图像补偿的方法和计算机可读记录介质
JP6984145B2 (ja) 情報処理装置
US10893167B2 (en) Extracting a document page image from a electronically scanned image having a non-uniform background content
JP6058042B2 (ja) 画像処理装置
JP7311832B2 (ja) 画像処理装置、読取装置、および、コンピュータプログラム
JP5683387B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム及び記録媒体
JP6645143B2 (ja) 画像解析装置
JP2009105541A (ja) 画像処理装置、方法、および、プログラム
JP6160538B2 (ja) 画像処理装置
JP6876917B2 (ja) 原稿サイズ検出装置、原稿サイズ検出プログラム及び画像処理システム
JP5454466B2 (ja) 文字検出装置、文字検出方法、およびコンピュータプログラム
JP6950237B2 (ja) コンピュータプログラム及び画像処理装置
JP7018372B2 (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: 20170227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170728

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170828

R150 Certificate of patent or registration of utility model

Ref document number: 6210013

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150