(57)【要約】【課題】１回で読み取った画像データの中に含まれる複数の小紙片の画像データを、ユーザが所望する間隔に調整して配置する。【解決手段】複合機は、記憶部と、制御部を備える。制御部は、記憶部に記憶された画像データが、複数の個別画像データを含む場合、各個別画像データを画像データから検出する検出処理と、各個別画像データの位置を特定するための位置情報を記憶部に記憶する位置記憶処理と、主走査方向及び副走査方向のいずれか１つの方向を基準方向として、位置情報に基づいて、基準方向において隣り合う個別画像データ同士の間隔を予め設定された長さに調整する間隔調整処理と、間隔調整処理によって調整された個別画像データの位置に基づいて、位置情報を更新する位置更新処理と、位置更新処理によって更新された位置情報に基づいて、記憶部に記憶された画像データを修正する修正処理と、を実行する。【選択図】        図７
2017143326.tif 000002
【特許請求の範囲】
【請求項１】
主走査方向に沿って並ぶ複数の読取素子を備え、設定された読取範囲に対して前記主走査方向に直交する副走査方向に相対的に移動しながら前記読取範囲の画像を読み取る読取部と、
前記読取部によって読み取られた画像の画像データを記憶する記憶部と、
制御部と、を備え、
前記制御部は、
前記記憶部に記憶された画像データが、複数の個別画像データを含む場合、各個別画像データを前記画像データから検出する検出処理と、
前記画像データにおける前記個別画像データの位置を特定するための位置情報を前記記憶部に記憶する位置記憶処理と、
前記主走査方向及び前記副走査方向のいずれか１つの方向を基準方向として、前記記憶部に記憶された前記位置情報に基づいて、前記基準方向において隣り合う個別画像データ同士の間隔を予め設定された長さに調整する間隔調整処理と、
前記間隔調整処理によって調整された個別画像データの位置に基づいて、前記記憶部に記憶されている前記位置情報を更新する位置更新処理と、
前記位置更新処理によって更新された位置情報に基づいて、前記記憶部に記憶された画像データを修正する修正処理と、を実行する画像読取装置。
【請求項２】
請求項１に記載の画像読取装置において、
前記制御部は、前記検出処理において、前記画像データからエッジを抽出し、複数のエッジによって囲まれた画像データの部分を前記個別画像データとして検出する処理を実行する、画像読取装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記制御部は、前記検出処理により検出された個別画像データが、５つ以上のエッジで囲まれた画像データである場合に、エラー処理を実行する、画像読取装置。
【請求項４】
請求項２または請求項３に記載の画像読取装置において、
前記制御部は、
前記記憶部に記憶されている前記画像データに対し、前記主走査方向に沿う第１方向、及び前記副走査方向に沿う第２方向を設定し、前記個別画像データにおける前記複数のエッジのうちの一つのエッジを基準エッジとした場合に、前記基準エッジの第１方向と第２方向とのいずれか一方の方向に対する傾きを検出する傾き検出処理と、
前記傾き検出処理によって傾きが検出された個別画像データに対して、前記基準エッジが前記一方の方向と一致するように回転させる傾き補正処理と、を実行可能であり、
前記制御部は、前記間隔調整処理を実行する前に、前記傾き検出処理、及び前記傾き補正処理を実行し、前記位置記憶処理において、前記傾き補正処理実行後の個別画像データの位置情報を前記記憶部に記憶する処理を実行する、画像読取装置。
【請求項５】
請求項１ないし請求項４のいずれか１項に記載の画像読取装置において、
前記制御部は、
前記読取範囲よりも小さい範囲であって、予め設定された定型サイズに対応する範囲を画像出力範囲として設定する設定処理と、
前記画像出力範囲の周縁から予め設定された幅の範囲であって、前記個別画像データを含まない余白範囲を設定する余白設定処理を実行可能であり、
前記制御部は、
前記余白設定処理が実行された場合、前記間隔調整処理においては、前記記憶部に記憶された前記位置情報に基づいて、前記複数の個別画像データを、前記画像出力範囲における前記余白範囲と重ならない位置に移動するとともに、前記基準方向における互いに隣り合う個別画像データ同士の間隔を予め設定された長さに調整する、画像読取装置。
【請求項６】
請求項１ないし請求項４のいずれか１項に記載の画像読取装置において、
前記制御部は、
前記読取範囲よりも小さい範囲であって、予め設定された定型サイズに対応する範囲を画像出力範囲として設定する設定処理と、
前記間隔調整処理によって調整された前記複数の個別画像データが、前記設定処理によって設定された前記画像出力範囲に収まっているかを前記位置情報に基づいて判断する判断処理と、を実行可能であり、
前記制御部は、
前記判断処理の結果、前記複数の個別画像データのうち前記画像出力範囲に収まっていない個別画像データが存在する場合に、前記画像出力範囲に収まっていない個別画像データが、前記画像出力範囲に収まる位置を検索する位置検索処理を実行し、
前記制御部は、さらに、
前記位置更新処理において、前記記憶部に記憶された前記画像出力範囲に収まっていない個別画像データの位置情報を、前記画像出力範囲に収まる位置に基づいて更新する処理を実行する、画像読取装置。
【請求項７】
請求項５に記載の画像読取装置において、
操作部を備え、
前記操作部によって、前記読取範囲、前記隣り合う個別画像データ同士の間隔、前記画像出力範囲、及び前記余白範囲が設定される、画像読取装置。
【請求項８】
請求項６に記載の画像読取装置において、
操作部を備え、
前記操作部によって、前記読取範囲、前記隣り合う個別画像データ同士の間隔、及び前記画像出力範囲が設定される、画像読取装置。
【請求項９】
記憶部と、制御部と、を備える画像処理装置であって、
前記制御部は、
処理対象の画像データを取得し、前記記憶部に記憶させる取得処理と、
前記記憶部に記憶された画像データが、複数の個別画像データを含む場合、各個別画像データを前記画像データから検出する検出処理と、
前記画像データにおける前記個別画像データの位置を特定するための位置情報を前記記憶部に記憶する位置記憶処理と、
前記画像データに対し、Ｘ方向と、Ｘ方向に直交するＹ方向とを規定し、前記Ｘ方向及び前記Ｙ方向のいずれか１つの方向を基準方向として、前記記憶部に記憶された前記位置情報に基づいて、前記基準方向において隣り合う個別画像データ同士の間隔を予め設定された長さに調整する間隔調整処理と、
前記間隔調整処理によって調整された個別画像データの位置に基づいて、前記個別画像データの間隔が調整された場合に、前記記憶部に記憶されている前記位置情報を調整後の前記個別画像データの位置に基づいて更新する位置更新処理と、
前記位置更新処理によって更新された位置情報に基づいて、前記記憶部に記憶された画像データを修正する画像データ修正処理と、を実行する画像処理装置。
【請求項１０】
記憶部と、制御部と、を備える画像処理装置において、前記制御部が実行する画像処理プログラムであって、
処理対象の画像データを取得し、前記記憶部に記憶させる取得処理と、
前記記憶部に記憶された画像データが、複数の個別画像データを含む場合、各個別画像データを前記画像データから検出する検出処理と、
前記画像データにおける前記個別画像データの位置を特定するための位置情報を前記記憶部に記憶する位置記憶処理と、
前記画像データに対し、Ｘ方向と、Ｘ方向に直交するＹ方向とを規定し、前記Ｘ方向及び前記Ｙ方向のいずれか１つの方向を基準方向として、前記記憶部に記憶された前記位置情報に基づいて、前記基準方向において隣り合う個別画像データ同士の間隔を予め設定された長さに調整する間隔調整処理と、
前記間隔調整処理によって調整された個別画像データの位置に基づいて、前記個別画像データの間隔が調整された場合に、前記記憶部に記憶されている前記位置情報を調整後の前記個別画像データの位置に基づいて更新する位置更新処理と、
前記位置更新処理によって更新された位置情報に基づいて、前記記憶部に記憶された画像データを修正する画像データ修正処理と、を実行する画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像読取装置、画像処理装置、及び画像処理プログラムに関する。
【背景技術】
【０００２】
従来、画像読取装置の原稿台に載置された複数の名刺やレシート等の小紙片を、１回で読み取り、画像データを出力する画像読取装置が知られている。
【０００３】
特許文献１には、従来の画像処理装置の例が開示されている。この画像処理装置においては、１回で読み取った画像データの中で、任意の方向や位置に配置された複数の小紙片を含む画像データから、各小紙片の画像データを切出し、各小紙片の画像データの向きを揃える処理が実行可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２６８３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、１回で読み取った画像データの中に含まれる複数の小紙片の画像データを、ユーザが所望する間隔に調整して配置することについては、何ら考慮されていない。
【０００６】
本発明は、１回で読み取った画像データの中に含まれる複数の小紙片の画像データを、ユーザが所望する間隔に調整して配置することが実現可能な画像読取装置、画像処理装置、及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の画像読取装置は、主走査方向に沿って並ぶ複数の読取素子を備え、設定された読取範囲に対して前記主走査方向に直交する副走査方向に相対的に移動しながら前記読取範囲の画像を読み取る読取部と、前記読取部によって読み取られた画像の画像データを記憶する記憶部と、制御部と、を備え、前記制御部は、前記記憶部に記憶された画像データが、複数の個別画像データを含む場合、各個別画像データを前記画像データから検出する検出処理と、前記画像データにおける前記個別画像データの位置を特定するための位置情報を前記記憶部に記憶する位置記憶処理と、前記主走査方向及び前記副走査方向のいずれか１つの方向を基準方向として、前記記憶部に記憶された前記位置情報に基づいて、前記基準方向において隣り合う個別画像データ同士の間隔を予め設定された長さに調整する間隔調整処理と、前記間隔調整処理によって調整された個別画像データの位置に基づいて、前記記憶部に記憶されている前記位置情報を更新する位置更新処理と、前記位置更新処理によって更新された位置情報に基づいて、前記記憶部に記憶された画像データを修正する修正処理と、を実行する。
【０００８】
本発明の画像読取装置は、読取部によって読み取られた画像の画像データを記憶部に記憶し、画像データから複数の個別画像データを検出し、各個別画像データの位置を特定するための位置情報を記憶部に記憶する。その後、位置情報に基づいて、基準方向において隣り合う個別画像データ同士の間隔を予め設定された長さに調整し、調整された個別画像データの位置に基づいて、位置情報を記憶部に更新し、更新された位置情報に基づいて、記憶部に記憶された画像データを修正する。そのため、１回で読み取った画像データの中に含まれる複数の個別画像データをユーザが所望する間隔に調整して配置することが実現可能である。
【０００９】
本発明の画像処理装置は、記憶部と、制御部と、を備える画像処理装置であって、前記制御部は、処理対象の画像データを取得し、前記記憶部に記憶させる取得処理と、
前記記憶部に記憶された画像データが、複数の個別画像データを含む場合、各個別画像データを前記画像データから検出する検出処理と、前記画像データにおける前記個別画像データの位置を特定するための位置情報を前記記憶部に記憶する位置記憶処理と、前記画像データに対し、Ｘ方向と、Ｘ方向に直交するＹ方向とを規定し、前記Ｘ方向及び前記Ｙ方向のいずれか１つの方向を基準方向として、前記記憶部に記憶された前記位置情報に基づいて、前記基準方向において隣り合う個別画像データ同士の間隔を予め設定された長さに調整する間隔調整処理と、前記間隔調整処理によって調整された個別画像データの位置に基づいて、前記個別画像データの間隔が調整された場合に、前記記憶部に記憶されている前記位置情報を調整後の前記個別画像データの位置に基づいて更新する位置更新処理と、前記位置更新処理によって更新された位置情報に基づいて、前記記憶部に記憶された画像データを修正する画像データ修正処理と、を実行する。
【００１０】
そのため、本発明の画像読取装置と同様に、１回で読み取った画像データの中に含まれる複数の個別画像データをユーザが所望する間隔に調整して配置することが実現可能である。
【００１１】
本発明の画像処理プログラムは、記憶部と、制御部と、を備える画像処理装置において、前記制御部が実行する画像処理プログラムであって、処理対象の画像データを取得し、前記記憶部に記憶させる取得処理と、前記記憶部に記憶された画像データが、複数の個別画像データを含む場合、各個別画像データを前記画像データから検出する検出処理と、前記画像データにおける前記個別画像データの位置を特定するための位置情報を前記記憶部に記憶する位置記憶処理と、前記画像データに対し、Ｘ方向と、Ｘ方向に直交するＹ方向とを規定し、前記Ｘ方向及び前記Ｙ方向のいずれか１つの方向を基準方向として、前記記憶部に記憶された前記位置情報に基づいて、前記基準方向において隣り合う個別画像データ同士の間隔を予め設定された長さに調整する間隔調整処理と、前記間隔調整処理によって調整された個別画像データの位置に基づいて、前記個別画像データの間隔が調整された場合に、前記記憶部に記憶されている前記位置情報を調整後の前記個別画像データの位置に基づいて更新する位置更新処理と、前記位置更新処理によって更新された位置情報に基づいて、前記記憶部に記憶された画像データを修正する画像データ修正処理と、を実行する。
【００１２】
そのため、本発明の画像読取装置と同様に、１回で読み取った画像データの中に含まれる複数の個別画像データをユーザが所望する間隔に調整して配置することが実現可能である。
【発明の効果】
【００１３】
本発明によれば、１回で読み取った画像データの中に含まれる複数の小紙片の画像データをユーザが所望する間隔に調整して配置することが実現可能な画像読取装置、画像処理装置、及び画像処理プログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態の複合機の斜視図である。
【図２】本実施形態の複合機のカバー部が開いた状態を示す斜視図である。
【図３】図１のＡ−Ａ断面における模式部分断面図である。
【図４】カバー部を取り除いた状態を示す上面図である。
【図５】本実施形態の複合機の電気的構成を概略的に示すブロック図である。
【図６】本実施形態の複合機による読取処理を示すフローチャートである。
【図７】本実施形態の複合機によるＸ方向移動処理を示すフローチャートである。
【図８】本実施形態の複合機によるＹ方向移動処理を示すフローチャートである。
【図９】本実施形態の複合機による移動処理実行前の読取範囲内における画像データを示す模式図である。
【図１０】本実施形態の複合機による移動処理実行後の読取範囲内における画像データを示す模式図である。
【図１１】本実施形態のＲＡＭに記憶されるテーブルを示す模式図である。
【図１２】本実施形態の複合機による画像加工処理を示すフローチャートである。
【図１３】本実施形態の複合機による画像加工処理実行後の読取範囲内における画像データを示す模式図である。
【発明を実施するための形態】
【００１５】
以下、本発明の画像読取装置及び画像処理装置を複合機１００に適用した場合について、図面を参照して説明する。参照する図面は、本開示が採用し得る技術的特徴を説明する為に用いるものであり、記載している装置の構成等は、それのみに限定する趣旨ではなく、単なる説明例である。
【００１６】
［複合機の外観構成］
図１に示す複合機１００において、操作パネル４０が配置される側を装置の前方と規定し、操作パネル４０に向かった場合に左手に来る側を左方と規定して、前後、左右及び上下の各方向を表示する。そして、図２ないし図４の各図に示す各方向は、全て図１に示す各方向に対応させて表示する。以下、図１等に基づいて、複合機１００が備える各構成要素について説明する。
【００１７】
本実施形態の複合機１００は、図１に示すように、シートに画像を印刷する画像形成部１と、原稿の画像を読み取る画像読取部２とを備えている。画像形成部１の画像形成方式は、電子写真方式であっても、インクジェット方式であってもよい。また、カラー画像の形成が可能であっても、モノクロ画像専用であってもよい。画像読取部２も、カラー画像の読み取りが可能であっても、モノクロ読取専用であってもよい。複合機１００は、本発明の「画像読取装置」及び「画像処理装置」の一例である。
【００１８】
画像形成部１は、画像形成部１によって画像が印刷される前のシートを収容する給紙部９１と、画像形成部１によって画像が印刷された後のシートを収容する排紙部９５と、を備えている。
【００１９】
画像読取部２は、原稿の画像の読み取りを行う本体部１０と、本体部１０の上面を覆うカバー部２０とを備えている。カバー部２０には、原稿の自動搬送を行う自動原稿搬送装置（ＡＤＦ）２７が搭載されている。カバー部２０は、図２に示すように、本体部１０の後端部に配設されたヒンジ部２８を介して本体部１０の後端部と連結されている。カバー部２０は、ヒンジ部２８によって、左右方向に延びる開閉軸心Ｘ２０周りで揺動可能に本体部１０に支持されている。
【００２０】
本体部１０は、図３に示すように、上部が開放された箱形状のベース部１６と、ベース部１６の上方から対向する枠体部１４とを備えている。ベース部１６には、イメージセンサ１５及びキャリッジ１７等が収容されている。枠体部１４は、ベース部１６の上方に設けられるプラテンガラス１１，１２を保持している。
【００２１】
イメージセンサ１５は、主走査方向（図３における前後方向）に光学素子が一列に並んで配置されており、原稿に向けて光を照射し、その原稿からの反射光を電気信号に変換して出力する。イメージセンサ１５としては、例えば、ＣＩＳやＣＣＤが適用可能である。イメージセンサ１５は、本発明の「読取部」の一例である。
【００２２】
イメージセンサ１５は、キャリッジ１７に取り付けられている。キャリッジ１７は、ベース部１６に設けられたスライド軸１３に対してスライド自在に支持されている。このスライド軸１３は、副走査方向（図３における左右方向）に延び、両端部がベース部１６に固定されている。そのため、キャリッジ１７は、図３における左右方向に移動可能に構成されている。イメージセンサ１５は、キャリッジ１７と一体となって副走査方向に移動する。
【００２３】
また、イメージセンサ１５は、ＣＩＳ方式で画像を読み取るように構成されている。イメージセンサ１５には、図示しない複数の受光素子が、図３における前後方向（主走査方向）に沿って直線状に配置されている。イメージセンサ１５は、さらに、図示しない光源、及びロッドレンズアレイを含んだ構成である。光源は、ＲＧＢ３色の発光ダイオードなどで構成されている。ロッドレンズアレイは、光源からの入射光が読取対象である原稿等に反射されてできる反射光を受光素子に結像させるように構成されている。
【００２４】
枠体部１４には、プラテンガラス１１，１２を露出する開口がそれぞれ形成されている。枠体部１４の開口から露出するプラテンガラス１１は、図４に示すように、上方から見て長方形であり、そのうち一対の長辺が左右方向に平行に延び、一対の短辺が前後方向に平行に延びている。同様に、枠体部１４の開口から露出するプラテンガラス１２は、プラテンガラス１１に比べ小さな長方形であり、そのうち一対の短辺が左右方向に平行に延び、一対の長辺が前後方向に平行に延びている。枠体部１４により露出されたプラテンガラス１１の上面は、後述するフラットベッド方式で原稿の画像を読み取る際に、読取対象の原稿が載置される原稿載置面１１Ａを構成する。プラテンガラス１２は、プラテンガラス１１の左隣りに位置する。
【００２５】
ＡＤＦ２７は、図３に示すように、カバー部２０に搭載されており、原稿を１枚ずつ搬送しながら読み取る際に使用される。ＡＤＦ２７は、読み取り前の原稿を収容する原稿トレイ２１と、読み取り後の原稿を収容する排出トレイ２２とを備えている。原稿トレイ２１は、排出トレイ２２の上方に設けられている。また、ＡＤＦ２７の内部には、原稿が搬送される搬送路２５が設けられている。搬送路２５は、原稿トレイ２１と排出トレイ２２とを連結する略Ｕ字状の経路である。また、カバー部２０には、その下面に開口部２３が形成されている。開口部２３は、カバー部２０の閉鎖位置において、プラテンガラス１２と対向する位置に形成されている。よって、搬送路２５を搬送される原稿は、開口部２３において、プラテンガラス１２と接触可能である。また、ＡＤＦ２７において、プラテンガラス１２と対向する位置には、原稿押さえ２４が設けられている。原稿押さえ２４は、ＡＤＦ２７を閉じた状態でプラテンガラス１２と対向し、搬送路２５を搬送される原稿をプラテンガラス１２に向かって押圧する。原稿トレイ２１から搬送された原稿は、原稿押さえ２４とプラテンガラス１２との間を通過し、排出トレイ２２上に排出される。
【００２６】
イメージセンサ１５を利用した原稿の読取方式としては、フラットベッド（原稿固定走査）方式と、ＡＤＦ（原稿移動走査）方式とがある。
【００２７】
フラットベッド方式の場合、図２に示すように、ユーザはカバー部２０を開閉軸心Ｘ２０周りに移動させて開放する。カバー部２０の開放により、原稿載置面１１Ａが露出する。ユーザは、読取対象の原稿の読取面を下向きとして、原稿載置面１１Ａ上に、読取対象の原稿を載置する。そして、ユーザはカバー部２０を移動させて、図１に示す閉鎖位置とする。カバー部２０の下面には、カバー部２０が閉鎖位置の時に原稿載置面１１Ａと対向する原稿押え面２６が設けられている。カバー部２０が閉鎖位置のとき、原稿載置面１１Ａ上に載置された原稿は、原稿押さえ面２６によって原稿載置面１１Ａに押圧される。これにより、原稿載置面１１Ａ上に載置された原稿の位置ずれが抑制される。イメージセンサ１５は、図３及び図４に示す待機位置Ｘ０から読取終了位置Ｘ２に向かって副走査方向に移動しながら、読取開始位置Ｘ１から読取終了位置Ｘ２までの画像を主走査方向に１ラインずつ読み取る。
【００２８】
ここで、図３及び図４に示す待機位置Ｘ０へ移動するイメージセンサ１５の移動について説明する。イメージセンサ１５は、原稿の画像を読み取る前に、基準部材１４Ａに対向する位置に移動し、白補正等の補正処理を行う。基準部材１４Ａは、前後方向に沿って直線状に配置される白テープ及び黒テープで構成されている。イメージセンサ１５は、白補正などの補正処理のために、基準部材１４Ａの画像を読み取る。後述する制御部３０は、イメージセンサ１５によって読み取られる白テープの画像データにおける白画素及び黒テープの画像データにおける黒画素に基づいて待機位置Ｘ０を判断する。具体的には、制御部３０は、白画素から黒画素への変化、または黒画素から白画素への変化を検出した位置を待機位置Ｘ０と判断する。制御部３０は、原稿の画像を読み取る前に、前述の補正処理を実行後、イメージセンサ１５を待機位置Ｘ０に待機させる。
【００２９】
次に、待機位置Ｘ０から図３及び図４に示す読取開始位置Ｘ１及び読取終了位置Ｘ２へ移動するイメージセンサ１５の移動について説明する。フラットベッド方式において、原稿の画像の読取開始指示が入力されたとき、制御部３０はイメージセンサ１５を待機位置Ｘ０から読取開始位置Ｘ１に移動させる。イメージセンサ１５は、読取開始位置Ｘ１に移動したときに、前述の図示しない光源を点灯し、受光素子が受光することで画像の読み取りを開始する。読取開始位置Ｘ１は、予め決められた位置であり、本実施形態では、図４に示すように、上方から見てプラテンガラス１１と枠体部１４との間の境界位置とする。このとき、読取開始位置Ｘ１は、イメージセンサ１５における前述の複数の受光素子がプラテンガラス１１と枠体部１４との間の境界位置で反射された反射光を受光できる位置である。イメージセンサ１５は、フラットベッド方式における読取終了位置Ｘ２に移動したときに、前述の図示しない光源を消灯し、画像の読み取りを終了する。読取終了位置Ｘ２についても、予め決められた位置であり、本実施形態では、図４に示すように、上方から見てプラテンガラス１１より右側の枠体部１４の位置とする。これにより、イメージセンサ１５は、原稿載置面１１Ａ上に載置された原稿の画像を読み取ることができる。また、原稿載置面１１Ａ上に複数の原稿が載置された場合でも、イメージセンサ１５は、複数の原稿の画像を１回で読み取ることができる。
【００３０】
ここで、読取開始位置Ｘ１は、前述の境界位置に限られない。読取開始位置Ｘ１を前述の境界位置より右側３ｍｍ程度のプラテンガラス１１上の位置としてもよい。また、読取終了位置Ｘ２は、枠体部１４の位置に限られない。読取終了位置Ｘ２は、図４に示す枠体部１４の位置より左側で、後述するＡ３の符号が付された矩形領域より右側のプラテンガラス１１上の位置としてもよい。これにより、原稿載置面１１Ａにおける画像以外の画像の読み取りを抑制することができる。なお、後述する制御部３０は、イメージセンサ１５の待機位置Ｘ０から読取開始位置Ｘ１及び読取終了位置Ｘ２への移動を、イメージセンサ１５の移動量によって制御している。イメージセンサ１５を搭載するキャリッジ１７は、後述するモータが供給する動力により副走査方向に移動する。本実施形態では、モータをステッピングモータとしている。イメージセンサ１５が待機位置Ｘ０から読取開始位置Ｘ１及び読取終了位置Ｘ２へ移動するのに必要なモータのステップ数が、事前に実験等によって決定され、後述するＲＯＭ３２に記憶されている。制御部３０は、このステップ数に基づいて、モータを制御することで、イメージセンサ１５を待機位置Ｘ０から読取開始位置Ｘ１及び読取終了位置Ｘ２へ移動させる。
【００３１】
一方、ＡＤＦ方式の場合、複数の原稿を纏めて原稿トレイ２１に載置する。そして、イメージセンサ１５がプラテンガラス１２を介して、原稿押さえ２４に対向する位置（静止読取位置）に移動する。その状態で、ＡＤＦ２７によって搬送される原稿が、原稿押さえ２４とプラテンガラス１２とが対向する位置に搬送される。その際に、イメージセンサ１５によって主走査方向に１ラインずつ原稿の画像が読み取られる。
【００３２】
また、複合機１００は、その前面に、操作パネル４０を備えている。操作パネル４０には、スタートキー、ストップキー、テンキー等の各種のボタンによって構成されるボタン群４１と、タッチパネルからなる表示部４２とを備える。このボタン群４１や表示部４２により、複合機１００の動作状況の表示やユーザによる操作の入力が可能になっている。なお、本実施形態の表示部４２は、入力機能と表示機能とを兼ねるタッチパネルであるが、例えば入力機能を有しない液晶パネルであってもよい。
【００３３】
［複合機の電気的構成］
続いて、本実施形態の複合機１００の電気的構成について説明する。本実施形態の複合機１００は、図５に示すように、ＣＰＵ３１と、ＲＯＭ３２と、ＲＡＭ３３と、ＮＶＲＡＭ３４とを有する制御部３０を備えている。また、複合機１００は、画像形成部１と、画像読取部２と、操作パネル４０と、通信インターフェース３７とを備え、これらが制御部３０によって制御される。画像読取部２には、キャリッジ１７の副走査方向移動に必要な動力を供給する図示しないモータを備えている。本実施形態では、モータはステッピングモータであるが、エンコーダを備えたＤＣモータであってもよい。なお、図５中の制御部３０は、ＣＰＵ３１等、複合機１００の制御に利用されるハードウェアを纏めた総称であって、実際に複合機１００に存在する単一のハードウェアを表すとは限らない。
【００３４】
ＲＯＭ３２には、複合機１００を制御するための制御プログラムであるファームウェアや各種設定、初期値等が記憶されている。ＲＡＭ３３は、各種制御プログラムが読み出される作業領域として、あるいは画像データを一時的に記憶する記憶領域として利用される。ＮＶＲＡＭ３４も、複合機１００にて用いられる各種の情報を記憶する記憶領域として利用される。ＲＡＭ３３は、本発明の「記憶部」の一例である。
【００３５】
ＣＰＵ３１は、ＲＯＭ３２から読み出した制御プログラムや各種センサから送られる信号に従って、その処理結果をＲＡＭ３３またはＮＶＲＡＭ３４に記憶させながら、複合機１００の各構成要素を制御する。
【００３６】
通信インターフェース３７は、外部デバイスとの通信を可能にするハードウェアである。具体的な通信インターフェース３７としては、例えば、有線ＬＡＮインターフェース、無線ＬＡＮインターフェース、シリアル通信インターフェースが該当する。また、ファクシミリ通信を可能にするための電話回線インターフェースであってもよい。複合機１００は、イメージセンサ１５にて読み取られた原稿の画像データを、通信インターフェース３７を介して外部デバイスに送信できる。また、複合機１００は、画像形成部１に画像を形成させる印刷ジョブ、あるいはイメージセンサ１５に画像を読み取らせる読取ジョブ、あるいはその両方を行わせるコピージョブを、通信インターフェース３７を介して外部デバイスから受信できる。
【００３７】
［フラットベッド方式における原稿画像読取範囲及び出力範囲］
本実施形態のフラットベッド方式では、図４に示すように、原稿載置面１１Ａの左後端の角である合わせ位置Ｚを基準として、様々なサイズの原稿が原稿載置面１１Ａ上に配置可能とされている。この合わせ位置Ｚは、この近傍にマークＭが示されている。具体的には、図４に示すように、原稿載置面１１Ａ上には、Ｂ５，Ａ４，Ｂ４，Ａ３の定型サイズの原稿を配置することができる。ユーザは、原稿の１つの角を上記合わせ位置Ｚに合わせつつ、当該原稿の長辺を副走査方向と平行にして配置する。図４において、Ｂ５，Ａ４，Ｂ４，Ａ３の符号がそれぞれ付された細線の矩形領域が、各定型サイズに対応する原稿載置面１１Ａ上の原稿配置領域である。
【００３８】
本実施形態において、イメージセンサ１５により読み取られる範囲は、図４の二点鎖線で示す読取範囲Ｅである。ここで、読取範囲Ｅについて説明する。イメージセンサ１５には、前述の通り、複数の受光素子が主走査方向に沿って並んで配置されている。イメージセンサ１５に対して複数の受光素子が主走査方向に配置される長さは、原稿載置面１１Ａの主走査方向長さよりも長く、読取範囲Ｅにおける主走査方向の長さに対応する。イメージセンサ１５は、前述の通り、図４に示す読取開始位置Ｘ１から読取終了位置Ｘ２までの画像を主走査方向に１ラインずつ読み取る。読取開始位置Ｘ１から読取終了位置Ｘ２までの副走査方向の長さは、前述の通り、原稿載置面１１Ａの副走査方向長さよりも長く設定され、読取範囲Ｅにおける副走査方向の長さに対応する。このため、本実施形態において、イメージセンサ１５は、原稿載置面１１Ａより大きい範囲である読取範囲Ｅにおいて、イメージセンサ１５と対向する範囲の画像を読み取る。そのため、原稿載置面１１Ａ上に載置された原稿の画像を確実に読み取ることができる。
【００３９】
イメージセンサ１５で読み取った画像に対する出力範囲は、ユーザによって設定される。ユーザは、操作パネル４０の操作により、原稿の定型サイズであるＢ５，Ａ４，Ｂ４，Ａ３のうちのいずれか１つの範囲に出力範囲を設定可能である。ユーザにより設定される出力範囲は、前述の図４に示す原稿配置領域に対応している。ここで、ユーザにより出力範囲がＡ４に設定された場合を例に挙げて説明する。この場合、制御部３０は、読取範囲Ｅにおける画像データのうち、出力範囲に対応する図４に示すＡ４の原稿配置領域における画像データを出力対象とする。制御部３０は、後述の画像出力処理において、出力対象の画像データを画像形成部１または通信インターフェース３７と接続された外部デバイスへ送信する。出力範囲は、本発明の「画像出力範囲」の一例である。
【００４０】
［設定処理及び余白設定処理］
本実施形態の複合機１００においては、前述の出力範囲及び余白範囲は、後述する読取処理より前にユーザが操作パネル４０によって設定されているものとする。制御部３０は、ユーザの操作パネル４０により入力された出力範囲に対応するデータをＲＡＭ３３に記憶する設定処理、及びユーザの操作パネル４０により入力された余白範囲に対応する所定の幅を示すデータをＲＡＭ３３に記憶する余白設定処理を実行する。これにより、出力範囲及び余白範囲が複合機１００に設定される。ここで、余白範囲については、出力範囲の周縁から所定の幅の範囲であって、後述する画像出力処理で出力される画像データを含まない範囲である。詳細は後述する。なお、出力範囲及び余白範囲はユーザの操作パネル４０による設定に限られない。制御部３０は、読取処理前に、設定処理、及び余白設定処理において、出力範囲及び余白範囲に対応するデータを固定値としてＲＡＭ３３に記憶させてもよい。
【００４１】
［複数の小紙片の読取処理］
続いて、本実施形態の複合機１００において、フラットベッド方式における読取処理について、図６ないし図１３のフローチャートを参照して説明する。本実施形態の複合機１００では、ユーザにより原稿載置面１１Ａ上に載置された複数の小紙片または小サイズ原稿（例えば、レシート）を１回の走査で読み取る読取処理を実行可能である。ここでは、図９に示すように、原稿載置面１１Ａ上に４枚のレシートＳＨ１〜ＳＨ４が載置され、これらのレシートの画像を読み取る場合を例に挙げて説明する。図９に示すＸ方向は主走査方向と平行な方向であり、Ｙ方向は副走査方向と平行な方向である。
【００４２】
また、本実施形態では、出力範囲は、図９に示す四角形Ａ０Ｂ０Ｄ０Ｃ０の範囲で設定されているものとする。余白範囲については、前述の通り、出力範囲の周縁から所定の幅の範囲であって、レシートＳＨ１〜ＳＨ４の画像データを含まない範囲である。所定の幅については、図１０に示す左右余白ＸＭ及び上下余白ＹＭで表され、前述の通り、ユーザの操作パネル４０によって設定される。本実施形態では、余白範囲は、図１０に示すように、辺Ａ０Ｂ０から左右余白ＸＭの幅、及び辺Ａ０Ｃ０から上下余白ＹＭの幅の範囲で設定されている。また、図１０において、図示は省略しているが、辺Ｃ０Ｄ０からＸ座標が小さくなる方向への左右余白ＸＭの幅、及び辺Ｂ０Ｄ０からＹ座標が小さくなる方向への上下余白ＹＭの幅の範囲についても余白範囲として設定されているものとする。
【００４３】
本実施形態の制御部３０が実行する読取処理について、図６のフローチャートを参照して説明する。制御部３０は、読取開始指示が入力されたことを契機として、イメージセンサ１５に前述の読取範囲Ｅ内の画像を読み取らせる（ステップ１、以下Ｓ１と称す。以降のステップも同様）。次に、制御部３０は、読取範囲Ｅ内の画像をＲＡＭ３３に記憶する。ここで、読取開始指示は、例えば、ユーザが操作パネル４０における「読取開始」に対応するボタンを押下することで入力される。また、制御部３０は、通信インターフェース３７に接続された外部のデバイスから送られる処理対象の画像データをＲＡＭ３３に記憶する取得処理を実行してもよい。この場合、処理対象の画像データにおける全範囲が、本実施形態の読取範囲Ｅに相当する。また、処理対象の画像データにおける出力範囲については、前述の通り本実施形態の複合機１００の操作パネル４０によって設定されているものとする。ここで、外部のデバイスとは、ＰＣ、スキャナ、ＵＳＢメモリ等のデバイスである。ＰＣ及びスキャナ側の操作により、通信インターフェース３７を介して処理対象の画像データが本実施形態の複合機１００へ送信される。また、ＵＳＢメモリの場合、ユーザが操作パネル４０における所定のボタンを押下することで、通信インターフェース３７を介して処理対象の画像データがＵＳＢメモリから本実施形態の複合機１００へ送信される。なお、読取開始指示については、通信インターフェース３７に接続されたＰＣからユーザが読取開始を指示する信号を送出することで入力される構成であってもよい。
【００４４】
次に、制御部３０は、図９に示す読取範囲Ｅ内で読み取られた画像である読取範囲画像Ｇの画像データに対して、レシートＳＨ１〜ＳＨ４の画像データを検出する（Ｓ２）。ここで、レシートＳＨ１〜ＳＨ４の画像データ検出には、各種の公知のエッジ検出処理を利用する。エッジ検出処理の結果、読取範囲画像Ｇの画像データにおいて、複数のエッジが検出された場合には、それらのエッジで囲まれた画像データを原稿の画像データとして検出する。そして、４つのエッジにより四角形が形成されていると判断された場合に、その四角形で囲まれた画像データをレシートの画像データとして検出する。ここで、四角形とは、４つのエッジのうち２つのエッジの交点における内角が９０°であり、制御部３０は、４つの交点における内角が全て９０°の場合、四角形と判断する。レシートの画像データは、本発明の「個別画像データ」の一例である。四角形で囲まれた領域が複数存在する場合には、制御部３０は、全ての領域の画像データをレシートの画像データとして検出し、検出された順番に番号を付与して管理する。Ｓ２は、本発明の「検出処理」の一例である。図９の例では、レシートＳＨ１〜ＳＨ４に相当する４つの画像データが検出される。
【００４５】
次に制御部３０は、検出された原稿の画像データ同士が重なっているか否かを判断する（Ｓ３）。ここで、制御部３０は複数のエッジで囲まれた原稿の画像データのエッジの数に基づいて、原稿の画像データ同士が重なっているか否かを判断する。複数のエッジで囲まれた原稿の画像データのエッジの数が４つでない場合には、制御部３０は、レシート同士が重なっていると判断し（Ｓ３：ＹＥＳ）、レシートを重ならないように載置する旨の表示を表示部４２に表示し（Ｓ９）、Ｓ１の処理に戻る。Ｓ９は、本発明の「エラー処理」の一例である。複数のエッジで囲まれた原稿の画像データのエッジの数が４つである場合には、制御部３０は、レシート同士が重なっていないと判断し（Ｓ３：ＮＯ）、後述するレシートの画像データの位置記憶処理を実行する（Ｓ４）。ここで、原稿の画像データ同士が重なっているか否かの判断は、エッジの数に基づくことに限られない。複数のエッジで囲まれた画像データにおける内角の角度を公知の技術である余弦定理で算出し、内角の角度に基づいて判断してもよい。この場合には、制御部３０は、内角の角度が９０°を超えるか否かに基づいて原稿の画像データ同士が重なっているか否かを判断する。
【００４６】
次に、制御部３０は、読取範囲画像Ｇの範囲内におけるレシートの画像データの位置記憶処理を実行する（Ｓ４）。具体的には、制御部３０は、レシートＳＨ１〜ＳＨ４の各画像データに対して頂点の位置座標をそれぞれ算出し、図１１（Ａ）に示すように、レシート番号と４つの頂点の位置座標とを関連付けたテーブルをＲＡＭ３３に記憶させる。ここで、位置座標の単位は画素である。さらに、制御部３０は、全てのレシートの画像データの数を表す総数Ｎ、及び出力範囲の頂点Ａ０，Ｂ０，Ｃ０，Ｄ０における位置座標に対応するデータをＲＡＭ３３に記憶する。制御部３０は、Ｓ２のレシート検出処理により検出されたレシートの画像データに対して、検出された２つのエッジの交点を頂点の位置座標として算出する。頂点の位置座標の算出は、２つの直線の連立方程式などの公知の算出方法を利用する。また、レシート番号とは、前述の通り、Ｓ２のレシート処理によりレシートの画像データに対して、検出された順番に付与される番号である。Ｓ４は、本発明の「位置記憶処理」の一例である。なお、出力範囲の頂点Ａ０，Ｂ０，Ｃ０，Ｄ０における位置座標は、図９に示すＡ０（Ｘ＿ＭＩＮ，Ｙ＿ＭＩＮ）、Ｂ０（Ｘ＿ＭＩＮ，Ｙ＿ＭＡＸ）、Ｃ０（Ｘ＿ＭＡＸ，Ｙ＿ＭＩＮ）、Ｄ０（Ｘ＿ＭＡＸ，Ｙ＿ＭＡＸ）で表される。
【００４７】
図１１（Ａ）のテーブルにおけるレシート番号と関連付けられた頂点の位置座標について具体的に説明する。図９に示す例では、レシートＳＨ１，ＳＨ２，ＳＨ３，ＳＨ４について、対応するレシート番号はそれぞれ１，２，３，４である。このとき、図１１（Ａ）に示すテーブルに格納される情報は、各レシート番号に対応する画像データの頂点の位置座標である。例えば、図１１（Ａ）に示すレシート番号１の画像データにおける頂点の位置座標は、図９に示すレシートＳＨ１における、図中Ａ１，Ｂ１，Ｃ１，Ｄ１の位置座標である。詳細には、頂点Ａ１の座標は、Ａ１（Ｘ１ｓ，Ｙ１ｓ）、頂点Ｂ１の座標は、Ｂ１（Ｘ１ｓ，Ｙ１ｅ）、頂点Ｃ１の座標は、Ｃ１（Ｘ１ｅ，Ｙ１ｓ）、そして、頂点Ｄ１の座標は、Ｄ１（Ｘ１ｅ，Ｙ１ｅ）で表されている。ここで、レシートＳＨ１の頂点の位置座標を表す記号Ｘ１ｓ，Ｘ１ｅ，Ｙ１ｓ，Ｙ１ｅにおける添え字の番号１については、対応するレシート番号を表している。レシートＳＨ２〜ＳＨ４の頂点の位置座標もレシートＳＨ１と同様に表されている。
【００４８】
次に、制御部３０は、各レシートの画像データに対して、傾き補正処理を実行する（Ｓ５）。ここで、傾き補正処理について具体的に説明する。制御部３０は、各レシートの画像データにおける複数のエッジのうちいずれか１つのエッジをそれぞれの基準エッジとする。制御部３０は、各レシートの画像データに対して各１つずつの基準エッジの図９に示すＹ方向に対する傾きをそれぞれ算出し、算出された傾きに基づいて、各レシートの画像データに対応する１つのエッジがＹ方向と一致するように各レシートの画像データを回転することで、Ｙ方向に対する傾きをそれぞれ補正する。その後、制御部３０は、傾きを補正されたレシートの画像データに対して、Ｓ４の処理と同様に、頂点の位置座標を算出する。さらに、制御部３０は、傾きを補正されたレシートの画像データに対して、ＲＡＭ３３に記憶された図１１（Ａ）に示すテーブルにおける頂点の位置座標を更新する。ここで、各レシートの画像データの傾き補正はＹ方向に限られない。傾き補正処理の対象であるレシートの画像データにおける１つの基準エッジに対して、Ｘ方向及びＹ方向の傾きをそれぞれ算出し、Ｘ方向及びＹ方向のうち、傾きが小さい方の方向に一致するようにレシートの画像データを回転して補正してもよい。これにより、画像データの回転をできるだけ小さくできる。Ｓ５は、本発明の「傾き検出処理」及び「傾き補正処理」の一例である。Ｘ方向は、本発明の「第１方向」の一例であり、Ｙ方向は、本発明の「第２方向」の一例である。
【００４９】
［レシート移動処理］
次に、制御部３０が図６に示すフローチャートにおけるＳ６で実行するレシート移動処理について、図９を参照して説明する。レシート移動処理は、読取範囲画像ＧにおけるレシートＳＨ１〜ＳＨ４の画像データに対して、出力範囲画像ＳＧに収めるように移動し、隣り合うレシートの画像データ同士の間隔をユーザにより設定された長さに調整する処理である。ここで、出力範囲画像ＳＧは、前述の通り、ユーザにより設定された出力範囲の範囲内で読み取られた画像である。
【００５０】
本実施形態におけるレシート移動処理においては、図９に示すレシートＳＨ１〜ＳＨ４の各画像データを、Ｘ座標の数値が小さくなる方向で出力範囲画像ＳＧの辺Ａ０Ｂ０に向けて移動し、Ｘ方向における隣り合うレシートの画像データ同士の間隔をユーザにより設定された長さに狭める。次に、レシートＳＨ１〜ＳＨ４の各画像データを、Ｙ座標の数値が小さくなる方向で出力範囲画像ＳＧの辺Ａ０Ｃ０に向けて移動し、Ｙ方向における隣り合う各画像データ同士の間隔をユーザにより設定された長さに狭める。最終的に、Ｘ方向における隣り合うレシートの画像データ同士の間隔がユーザにより設定された長さとなる。Ｘ方向は、本発明の「基準方向」の一例である。
【００５１】
次に、レシート移動処理について、図７及び図８に示すフローチャートを参照して具体的に説明する。図７に示すフローチャートにおいて、まず、制御部３０は、Ｘ座標の数値が小さくなる方向に移動させるレシートＳＨ１〜ＳＨ４の画像の移動処理における順序を決定し、その移動処理の順序を表す情報をＲＡＭ３３に記憶する（Ｓ２０）。ここで、制御部３０は、頂点の位置座標におけるＸ座標の数値が小さいレシートの画像データから順番にＸ方向における移動処理を実行する。
【００５２】
具体的には、制御部３０は、図９に示す各レシート画像の頂点Ａ１〜Ａ４のＸ座標同士を比較し、Ｘ座標の数値を小さい順に移動処理の順序とする。その結果、Ｘ方向における移動処理は、レシートＳＨ２，ＳＨ１，ＳＨ３，ＳＨ４の順となる。続いて、制御部３０は、ＲＡＭ３３に記憶された図１１（Ａ）に示すテーブルに対して、Ｘ方向における移動処理順を表す情報を追加し、図１１（Ｂ）に示すテーブルとしてＲＡＭ３３に記憶されたテーブルを更新する。本実施形態においては、以降の説明を簡略化するために、図１１（Ｂ）に示すレシート画像の頂点における位置座標を表す記号の添え字については、Ｘ方向における移動処理順を表す番号としている。
【００５３】
次に、制御部３０は、Ｘ方向における移動処理を実行する対象の画像データを表す移動処理対象ｊに１を代入する（Ｓ２１）。移動処理対象ｊの数値は、図１１（Ｂ）に示すテーブルにおける移動処理順に対応しているので、Ｘ方向における移動処理対象は、レシートＳＨ２の画像データとなる。次に、制御部３０は、移動処理対象であるレシートＳＨ２の画像の頂点におけるＸ座標を、Ｘ方向の移動先を表す移動先Ｘ座標に代入し（Ｓ２２）、その移動先Ｘ座標の数値を１ずつ減らす（Ｓ２３）。ここで、制御部３０は、レシート画像の頂点におけるＸ座標を移動先候補となる移動先Ｘ座標に代入し、移動先Ｘ座標の数値を１ずつ減らして、後述する出力範囲判定処理（Ｓ２４、Ｓ２９）及びＸ方向隣接位置判断処理（Ｓ２８）を実行する。これらの処理により、レシートの画像データは、Ｘ方向において、出力範囲内に収まるように移動され、隣り合うレシートの画像データ同士のＸ方向における間隔は、ユーザにより設定された長さに調整される。
【００５４】
具体的に説明すると、レシートＳＨ２の画像の頂点Ａ１及び頂点Ｂ１におけるＸ座標Ｘ１ｓを移動先Ｘ座標Ｘｓに代入し、同様にレシートＳＨ２の画像の頂点Ｃ１及び頂点Ｄ１におけるＸ座標Ｘ１ｅを移動先Ｘ座標Ｘｅに代入する。続いて、移動先Ｘ座標Ｘｓの数値に１を減らし、新たな移動先Ｘ座標Ｘｓとする。同様に、移動先Ｘ座標Ｘｅの数値に１を減らし、新たな移動先Ｘ座標Ｘｅとする。前述の通り、位置座標の単位は画素である。そのため、Ｘ座標の数値を１減らすことは、Ｘ座標の原点方向に１画素分ずらすことに対応する。
【００５５】
次に、制御部３０は、移動先Ｘ座標Ｘｓに対して、出力範囲画像ＳＧの頂点Ａ０及び頂点Ｂ０における出力範囲Ｘ座標Ｘ＿ＭＩＮと左右余白ＸＭを加えた数値と等しいか否かを判断する（Ｓ２４）。ここで、左右余白ＸＭは、前述で説明した通りであり、出力範囲画像ＳＧにおける辺Ａ０Ｂ０及び辺Ｃ０Ｄ０から左右余白ＸＭまでの範囲は、出力される画像データを含まない範囲となる。なお、左右余白ＸＭは、操作パネル４０による設定に限らず、通信インターフェース３７に接続された外部のデバイスにより設定されてもよい。
【００５６】
移動先Ｘ座標Ｘｓが、出力範囲Ｘ座標Ｘ＿ＭＩＮと左右余白ＸＭを加えた数値と等しいと判断された場合（Ｓ２４：ＹＥＳ）、制御部３０は、レシートＳＨ２の画像データに対してＸ方向移動処理を実行する（Ｓ３０）。具体的には、制御部３０は、レシートＳＨ２の画像の頂点Ａ１及びＢ１におけるＸ座標Ｘ１ｓに対して、移動先Ｘ座標Ｘｓを代入し、同様に、レシートＳＨ２の画像の頂点Ｃ１及びＤ１におけるＸ座標Ｘ１ｅに対して、移動先Ｘ座標Ｘｅを代入する。これに伴い、制御部３０は、ＲＡＭ３３に記憶された図１１（Ｂ）に示すテーブルを更新する。Ｓ３０及び後述するＳ４６は、本発明の「位置更新処理」の一例である。
【００５７】
次に、制御部３０は、全てのレシートの画像データに対して、Ｘ方向におけるレシート移動処理を実行したか否かを判断する（Ｓ３１）。具体的には、制御部３０は、移動処理対象ｊの数値が、ＲＡＭ３３に記憶された総数Ｎの数値と等しいか否かを判断する。全てのレシートの画像データに対して、Ｘ方向におけるレシート移動処理を実行していないと判断した場合（Ｓ３１：ＮＯ）、制御部３０は、移動処理対象ｊに１を加えた数値を新たな移動処理対象ｊとする（Ｓ３５）。制御部３０は、図１１（Ｂ）に示すテーブルにおいて、Ｘ方向における移動処理順の数値が、移動処理対象ｊの数値と等しいレシートの画像データを次のＸ方向における移動処理対象データとして、Ｓ２２の処理に戻る。制御部３０は、Ｘ方向移動処理対象であるレシートの画像データに対して、前述の移動先Ｘ座標Ｘｓ及び移動先Ｘ座標Ｘｅへの代入処理（Ｓ２２）以降の処理を継続する。具体的には、Ｓ３５の処理により、移動処理対象ｊの数値は２となり、制御部３０は、図１１（Ｂ）に示すテーブルに基づいて、レシートＳＨ１の画像データをＸ方向における移動処理対象として、Ｓ２２以降の処理を継続する。全てのレシートの画像データに対して、Ｘ方向におけるレシート移動処理を実行したと判断した場合（Ｓ３１：ＹＥＳ）、後述する図８に示すレシートの画像データのＹ方向移動処理を実行する。
【００５８】
移動先Ｘ座標Ｘｓが、出力範囲Ｘ座標Ｘ＿ＭＩＮと左右余白ＸＭを加えた数値と等しくないと判断された場合（Ｓ２４：ＮＯ）、制御部３０は、隣接位置対象ｋに１を代入する（Ｓ２５）。ここで、隣接位置対象ｋは、後述するＸ方向隣接位置判断処理（Ｓ２８）において、移動先Ｘ座標ＸｓとＸ座標を比較する対象となるレシート画像を表す。比較対象となるレシートの画像データは、隣接位置対象ｋの数値と等しい図１１（Ｂ）に示すＸ方向における移動処理順の数値に対応する。制御部３０は、後述するＸ方向隣接位置判断処理（Ｓ２８）において、移動先Ｘ座標Ｘｓと隣接位置対象ｋに対応するレシートの画像データのＸ座標を比較し、移動先の位置が隣接位置であるか否かを判断する。
【００５９】
次に、制御部３０は、隣接位置対象ｋが移動処理対象ｊと等しいか否かを判断する（Ｓ２６）。隣接位置対象ｋが移動処理対象ｊと等しくないと判断された場合（Ｓ２６：ＮＯ）、制御部３０は、後述するＸ方向隣接位置判断処理（Ｓ２８）を実行する。隣接位置対象ｋが移動処理対象ｊと等しいと判断された場合（Ｓ２６：ＹＥＳ）、制御部３０は、隣接位置対象ｋに１を加え、新たな隣接位置対象ｋとし（Ｓ２７）、後述するＸ方向隣接位置判断処理（Ｓ２８）を実行する。
【００６０】
次に、制御部３０が実行するＸ方向隣接位置判断処理（Ｓ２８）について説明する。制御部３０は、移動処理対象であるレシートの画像データに対する移動先の位置が、隣接位置対象ｋに対応するレシートの画像データの隣接位置にあるか否かを判断する（Ｓ２８）。具体的には、制御部３０は、移動先Ｘ座標Ｘｓが、比較対象であるレシートの画像データのＸ座標ＸｋｅにＸ方向レシート間隔ＸＤを加えた数値と等しく、かつ、Ｙ座標の条件を満たす場合に隣接位置にあると判断する。ここで、Ｘ方向レシート間隔ＸＤは、ユーザにより操作パネル４０で設定されるレシートの画像データ同士のＸ方向における間隔である。Ｙ座標の条件は３つの条件があり、少なくとも１つの条件を満たした場合に、Ｙ座標の条件を満たしたことになる。
【００６１】
１つ目のＹ座標の条件は、移動処理対象ｊに対応するＹ座標Ｙｊｓが、隣接位置対象ｋに対応するＹ座標ＹｋｓにＹ方向レシート間隔ＹＤを減らした数値以上、隣接位置対象ｋに対応するＹ座標ＹｋｅにＹ方向レシート間隔ＹＤを加えた数値より小さい範囲内の数値となる条件である。２つ目のＹ座標の条件は、移動処理対象ｊに対応するＹ座標Ｙｊｅが、隣接位置対象ｋに対応するＹ座標ＹｋｓにＹ方向レシート間隔ＹＤを減らした数値より大きく、隣接位置対象ｋに対応するＹ座標ＹｋｅにＹ方向レシート間隔ＹＤを加えた数値以下の範囲内の数値となる条件である。３つ目のＹ座標の条件は、移動処理対象ｊに対応するＹ座標Ｙｊｓが、隣接位置対象ｋに対応するＹ座標Ｙｋｓ以下であり、かつ、移動処理対象ｊに対応するＹ座標Ｙｊｅが、隣接位置対象ｋに対応するＹ座標Ｙｋｅ以上の数値となる条件である。ここで、Ｙ方向レシート間隔ＹＤは、ユーザにより操作パネル４０で設定されるレシートの画像データ同士のＹ方向における間隔である。なお、前述のＸ方向レシート間隔ＸＤ及びＹ方向レシート間隔ＹＤは、操作パネル４０による設定に限らず、通信インターフェース３７に接続された外部のデバイスにより設定されてもよい。制御部３０により、固定値としてＲＡＭ３３に記憶させてもよい。
【００６２】
移動先の位置が隣接位置にあると判断された場合（Ｓ２８：ＹＥＳ）、制御部３０は、移動処理対象ｊのレシートの画像データが出力範囲内に含まれるか否かを判断する（Ｓ２９）。具体的には、制御部３０は、移動先Ｘ座標Ｘｓが、図９に示す出力範囲画像ＳＧの頂点Ｃ０及び頂点Ｄ０における出力範囲Ｘ座標Ｘ＿ＭＡＸ以下であるかを判断する。移動先Ｘ座標Ｘｓが出力範囲Ｘ座標Ｘ＿ＭＡＸ以下である場合、制御部３０は出力範囲内であると判断し、移動処理対象ｊのレシートに対して、出力範囲内を示す情報を関連付けて図１１（Ｂ）に示すテーブルを更新する。一方、移動先Ｘ座標Ｘｓが出力範囲Ｘ座標Ｘ＿ＭＡＸより大きい場合、制御部３０は出力範囲外であると判断し、移動処理対象ｊのレシートに対して、出力範囲外を示す情報を関連付けて図１１（Ｂ）に示すテーブルを更新する。図１１（Ｂ）に示すテーブルにおいて、出力範囲列が各レシートに対する出力範囲内または出力範囲外の情報に相当する。次に、制御部３０は、前述のＸ方向移動処理（Ｓ３０）以降の処理を続ける。ここで、Ｓ２９は、出力範囲Ｘ座標Ｘ＿ＭＡＸ以下であるかの判断に限られない。Ｓ２９及び後述するＳ４５は、本発明の「判断処理」の一例である。
【００６３】
隣接位置にないと判断した場合（Ｓ２８：ＮＯ）、制御部３０は、隣接位置対象ｋがＲＡＭ３３に記憶された総数Ｎと等しいか否かを判断する（Ｓ３２）。隣接位置対象ｋが総数Ｎと等しくないと判断された場合（Ｓ３２：ＮＯ）、制御部３０は隣接位置対象ｋに１を加えて、新たな隣接位置対象ｋとし（Ｓ３４）、Ｓ２８の処理に戻る。隣接位置対象ｋが総数Ｎと等しいと判断された場合（Ｓ３２：ＹＥＳ）、制御部３０は、移動処理対象ｊが総数Ｎと等しいか否かを判断する（Ｓ３３）。移動処理対象ｊが総数Ｎと等しくないと判断された場合（Ｓ３３：ＮＯ）、Ｓ２３の処理に戻る。移動処理対象ｊが総数Ｎと等しいと判断された場合（Ｓ３３：ＹＥＳ）、後述する図８に示すレシートの画像データのＹ方向移動処理を実行する。Ｓ２０〜Ｓ２８、Ｓ３１〜Ｓ３５、及び後述するＳ４０〜Ｓ４４は、本発明の「間隔調整処理」の一例である。
【００６４】
次に、制御部３０が実行するレシートの画像データのＹ方向移動処理について、図８に示すフローチャートを参照して説明する。図８に示すＹ方向移動処理において、Ｘ方向における移動処理対象ｊをＹ方向における移動処理対象ｊと置き換えて、図７に示すＸ方向移動処理と同一となる処理については、Ｘ方向移動処理と同じステップ番号を付与している。例えば、図８に示すＹ方向移動処理におけるＳ２１の処理などである。Ｙ方向移動処理において、Ｘ方向移動処理と同じステップ番号の処理についての説明は省略し、Ｘ方向移動処理と異なるステップ番号の処理について説明する。
【００６５】
まず、制御部３０は、Ｙ座標の数値が小さくなる方向に移動させるレシートＳＨ１〜ＳＨ４の画像の移動処理における順序を決定し、その移動処理の順序を表す情報をＲＡＭ３３に記憶する（Ｓ４０）。具体的には、制御部３０は、図９に示す各レシート画像の頂点Ａ１〜Ａ４のＹ座標同士を比較し、Ｙ座標の数値を小さい順に移動処理の順序とする。その結果、Ｙ方向における移動処理は、レシートＳＨ１，ＳＨ４，ＳＨ３，ＳＨ２の順となる。続いて、制御部３０は、ＲＡＭ３３に記憶された図１１（Ｂ）に示すテーブルに対して、Ｙ方向における移動処理順を表す情報を追加し、図１１（Ｃ）に示すテーブルとしてＲＡＭ３３に記憶されたテーブルを更新する。本実施形態においては、以降の説明を簡略化するために、図１１（Ｃ）に示すレシート画像の頂点における位置座標を表す記号の添え字については、Ｙ方向における移動処理順を表す番号としている。
【００６６】
次に、制御部３０は、Ｓ２１の処理を実行し、Ｙ方向移動処理対象であるレシートＳＨ１のＹ座標Ｙ１ｓを移動先Ｙ座標Ｙｓに代入し、同様にレシートＳＨ１のＹ座標Ｙ１ｅを移動先Ｙ座標Ｙｅに代入する（Ｓ４１）。次に、レシートＳＨ１の移動先Ｙ座標Ｙｓに１を減らし、新たな移動先Ｙ座標Ｙｓとする。同様に、Ｙ座標Ｙｅに１を減らし、新たな移動先Ｙ座標Ｙｅとする（Ｓ４２）。
【００６７】
制御部３０は、移動先Ｙ座標Ｙｓに対して、出力範囲画像ＳＧの頂点Ａ０及び頂点Ｃ０における出力範囲Ｙ座標Ｙ＿ＭＩＮと上下余白ＹＭを加えた数値と等しいか否かを判断する（Ｓ４３）。ここで、上下余白ＹＭは、前述で説明した通りであり、出力範囲画像ＳＧにおける辺Ａ０Ｃ０及び辺Ｂ０Ｄ０から上下余白ＹＭまでの範囲は、出力される画像データを含まない範囲である。レシートの画像データとの間隔である。なお、上下余白ＹＭは、操作パネル４０による設定に限らず、通信インターフェース３７に接続された外部のデバイスにより設定されてもよい。
【００６８】
移動先Ｙ座標Ｙｓが、出力範囲Ｙ座標Ｙ＿ＭＩＮに上下余白ＹＭを加えた数値と等しいと判断された場合（Ｓ４３：ＹＥＳ）、制御部３０は、レシートＳＨ１のＹ方向移動処理を実行する（Ｓ４６）。具体的には、制御部３０は、レシートＳＨ１のＹ座標Ｙ１ｓに対して、移動先Ｙ座標Ｙｓを代入し、同様にＹ座標Ｙ１ｅに対して、移動先Ｙ座標Ｙｅを代入する。これに伴い、制御部３０は、ＲＡＭ３３に記憶された図１１（Ｃ）に示すテーブルを更新する。
【００６９】
次に、制御部３０は全てのレシートの画像データに対して、Ｙ方向におけるレシート移動処理を実行していないと判断した場合（Ｓ３１：ＮＯ）、制御部３０は、Ｓ３５の処理を実行し、Ｓ４１の処理に戻る。一方、制御部３０は全てのレシートの画像データに対して、Ｙ方向におけるレシート移動処理を実行していると判断した場合（Ｓ３１：ＹＥＳ）、後述する図１２に示すレシート画像加工処理を実行する。
【００７０】
移動先Ｙ座標Ｙｓが、出力範囲Ｙ座標Ｙ＿ＭＩＮと上下余白ＹＭを加えた数値と等しくないと判断された場合（Ｓ４３：ＮＯ）、Ｓ２５，Ｓ２６の処理を経て、後述するＹ方向隣接位置判断処理（Ｓ４４）を実行する。
【００７１】
次に、制御部３０が実行するＹ方向隣接位置判断処理（Ｓ４４）について説明する。制御部３０は、移動処理対象ｊのレシートの画像データが、隣接位置対象ｋのレシートの画像データとの隣接位置にあるか否かを判断する（Ｓ４４）。制御部３０は、前述のＳ２８の処理に対して、移動先Ｘ座標Ｘｓを移動先Ｙ座標Ｙｓに、比較対象であるＸ座標ＸｋｅをＹ座標Ｙｋｅに、Ｘ方向レシート間隔ＸＤをＹ方向レシート間隔ＹＤに、Ｙ座標の条件をＸ座標の条件に、置き換えてＳ２８の処理を実行する。Ｘ座標の条件とは、Ｓ２８の処理におけるＹ座標の条件に対して、Ｙ座標ＹｊｓをＸ座標Ｘｊｓに、Ｙ座標ＹｊｅをＸ座標Ｘｊｅに、Ｙ座標ＹｋｓをＸ座標Ｘｋｓに、Ｙ座標ＹｋｅをＸ座標Ｘｋｅに、Ｙ方向レシート間隔ＹＤをＸ方向レシート間隔ＸＤに置き換えた条件である。
【００７２】
隣接位置にあると判断した場合（Ｓ４４：ＹＥＳ）、制御部３０は、移動処理対象ｊのレシートの画像データが出力範囲であるか否かを判断する（Ｓ４５）。具体的には、制御部３０は、移動先Ｙ座標Ｙｓが、図９に示す出力範囲画像ＳＧの頂点Ｂ０及び頂点Ｄ０における出力範囲Ｙ座標Ｙ＿ＭＡＸ以下であるかを判断する。移動先Ｙ座標Ｙｓが出力範囲Ｙ座標Ｙ＿ＭＡＸ以下である場合、制御部３０は出力範囲内であると判断し、移動処理対象ｊのレシートに対して、出力範囲内を示す情報を関連付けて図１１（Ｃ）に示すテーブルを更新する。ここで、前述のＳ２９の処理において、出力範囲外と判断されている場合には出力範囲内を示す情報は更新しない。一方、移動先Ｙ座標Ｙｓが出力範囲Ｙ座標Ｙ＿ＭＡＸより大きい場合、制御部３０は出力範囲外であると判断し、移動処理対象ｊのレシートに対して、出力範囲外を示す情報を関連付けて図１１（Ｃ）に示すテーブルを更新する。次に、制御部３０は、前述のＹ方向移動処理（Ｓ４６）以降の処理を続ける。隣接位置にないと判断した場合（Ｓ４４：ＮＯ）、制御部３０は、前述のＳ３２以降の処理を続ける。
【００７３】
図９に示すレシートＳＨ１〜ＳＨ４の画像データに対して制御部３０が前述のＸ方向移動処理及びＹ方向移動処理を実行することで、ＲＡＭ３３に記憶された図１１（Ｃ）に示すテーブルが、図１０に示すレシートＳＨ１〜ＳＨ４の位置に対応するテーブルに更新される。
［レシート画像加工処理］
次に、制御部３０が実行するレシート画像加工処理（Ｓ７）について、図１２に示すフローチャートを参照して説明する。まず、制御部３０は、レシートの画像データが出力範囲内であるか否かを判断する（Ｓ６０）。制御部３０は、ＲＡＭ３３に記憶された図１１（Ｃ）に示すテーブルに対して出力範囲内を示す情報に基づいて判断する。
【００７４】
出力範囲内であると判断された場合（Ｓ６０：ＹＥＳ）、制御部３０は後述する画像出力処理（Ｓ８）を実行する。この場合、制御部３０は、画像出力処理（Ｓ８）において、ＲＡＭ３３に記憶された図１１（Ｃ）に示すテーブルに基づいて、ＲＡＭ３３に記憶された読取範囲Ｅ内の画像データを修正する。これにより、ＲＡＭ３３に記憶された図９に示す読取範囲画像Ｇの画像データは、図１０に示す読取範囲画像Ｇの画像データに修正される。後述するＳ８は、本発明の「修正処理」の一例である。
【００７５】
出力範囲内でないと判断された場合（Ｓ６０：ＮＯ）、制御部３０は、ＲＡＭ３３に記憶された図１１（Ｃ）に示すテーブルにおいて、出力範囲外と判断されたレシート画像に対して、画像加工処理における順序を決定し、その画像加工処理の順序を表す情報をＲＡＭ３３に記憶する（Ｓ６１）。図１０を参照して具体的に説明する。制御部３０は、図１０に示す各レシート画像の頂点Ａ１〜Ａ４のＹ座標の中でも出力範囲外と判断されたレシート画像の頂点におけるＹ座標同士を比較し、Ｙ座標の数値が小さい順に画像加工処理の順序とする。続いて、制御部３０は、ＲＡＭ３３に記憶された図１１（Ｃ）に示すテーブルに対して、画像加工処理順を表す情報を追加し、ＲＡＭ３３に記憶されたテーブルを更新する。さらに、制御部３０は、全ての画像加工処理を実行するレシートの画像データの数を表す総数ＰをＲＡＭ３３に記憶する。
【００７６】
もし、Ｙ座標の数値が同じ場合には、制御部３０は、各レシート画像の頂点Ａ１〜Ａ４の中でも出力範囲外と判断されたレシート画像の頂点におけるＸ座標同士を比較し、Ｘ座標の数値が小さい順に画像加工処理の順序とする。本実施形態では、説明簡略化のため、図１０に示すレシートＳＨ４の画像データが、一点鎖線の範囲を含めた四角形であり、制御部３０により出力範囲外と判断された場合を例に挙げて説明する。この場合、図１１（Ｃ）に示す頂点Ｃ４におけるＸ座標Ｘ２ｅ及びＹ座標Ｙ２ｓの数値は、図１０に示すレシートＳＨ４の頂点Ｃ４４におけるＸ座標及びＹ座標の数値となる。また、図１１（Ｃ）に示す頂点Ｄ４におけるＸ座標Ｘ２ｅ及びＹ座標Ｙ２ｅの数値は、図１０に示すレシートＳＨ４の頂点Ｄ４４におけるＸ座標及びＹ座標の数値となる。
【００７７】
次に、制御部３０は、画像加工処理を実行する対象の画像データを表す画像加工処理対象ｐに１を代入し（Ｓ６２）、画像加工処理対象のレシートの画像データが移動できるか否かを判断する（Ｓ６３）。移動できると判断された場合（Ｓ６３：ＹＥＳ）、制御部３０は、画像加工処理対象ｐに対応するレシートの画像データの移動処理を実行する（Ｓ６４）。ここで、画像加工処理対象ｐは、Ｓ６１の処理でＲＡＭ３３に記憶された画像加工処理順を表す情報と対応している。具体的に説明すると、まず、制御部３０は、図１１（Ｃ）に示す各レシート画像の頂点Ｂ１〜Ｂ４の中でも出力範囲内と判断されたレシート画像の頂点におけるＹ座標同士を比較する。次に、制御部３０は、Ｙ座標の数値が小さい順に、対応するレシートの画像データのＹ座標を基準として、画像加工処理対象であるレシートの画像データの移動が可能か否かを判断する。図１０に示すように、出力範囲内と判断されたレシート画像の頂点Ｂ１〜Ｂ３におけるＹ座標の小さい順は、Ｂ３、Ｂ１、Ｂ２となる。このため、制御部３０は、レシートＳＨ３の頂点Ｂ３におけるＹ座標を基準として、レシートＳＨ４の画像データが移動可能か否かを判断する。
【００７８】
この制御部３０による判断処理については、レシートＳＨ４の画像データの移動先の候補を表すＸ座標及びＹ座標を、移動先Ｘ座標Ｘｓ及びＸｅ、移動先Ｙ座標Ｙｓ及びＹｅとして説明する。制御部３０は、移動先Ｙ座標Ｙｓ及びＹｅの数値をレシートＳＨ３の頂点Ｂ３におけるＹ座標Ｙ３ｅを基準とした数値にする。具体的には、レシートＳＨ３の頂点Ｂ３におけるＹ座標Ｙ３ｅを移動先Ｙ座標Ｙｓに代入し、移動先Ｙ座標ＹｓにＹ方向レシート間隔ＹＤを加える。さらに、制御部３０は、移動先Ｙ座標ＹｅにＹｓを代入し、移動先Ｙ座標Ｙｅに、図１１（Ｃ）に示すレシートＳＨ４の頂点Ｂ４におけるＹ座標Ｙ２ｅから頂点Ａ４におけるＹ座標Ｙ２ｓを差し引いた数値を加える。また、制御部３０は、移動先Ｘ座標Ｘｓ及びＸｅの数値を出力範囲画像ＳＧの頂点Ｃ０における出力範囲Ｘ座標Ｘ＿ＭＡＸを基準とした数値にする。具体的には、移動先Ｘ座標Ｘｓに出力範囲Ｘ座標Ｘ＿ＭＡＸを代入し、移動先Ｘ座標ＸｅにＸｓを加え、図１１（Ｃ）に示すレシートＳＨ４の頂点Ｃ４におけるＸ座標Ｘ２ｅから頂点Ａ４におけるＸ座標Ｘ２ｓを差し引いた数値を加える。
【００７９】
次に、制御部３０は、レシートＳＨ４の画像データに対して、前述のＸ方向移動処理及びＹ方向移動処理を実行し、移動できるか否かの判断処理及び移動処理を実行する。これにより、レシートＳＨ４の画像データは、図１３に示す位置に移動する。制御部３０は、画像加工処理対象ｐが、ＲＡＭ３３に記憶された総数Ｐの数値と等しいか否かを判断する（Ｓ６５）。画像加工処理対象ｐが、総数Ｐの数値と等しいと判断された場合（Ｓ６５：ＹＥＳ）、制御部３０は、画像出力処理（Ｓ８）を実行し、処理を終了する。具体的に説明すると、制御部３０は、画像出力処理（Ｓ８）において、ＲＡＭ３３に記憶された図１１（Ｃ）に示すテーブルに基づいて、ＲＡＭ３３に記憶された読取範囲Ｅ内の画像データを修正する。これにより、ＲＡＭ３３に記憶された図９に示す読取範囲画像Ｇの画像データは、図１３に示す読取範囲画像Ｇの画像データとなる。次に、制御部３０は、ＲＡＭ３３に記憶された読取範囲Ｅ内の画像データの中でも出力範囲画像ＳＧの画像データを画像形成部１または通信インターフェース３７に接続された外部のデバイスへ送信して、処理を終了する。
【００８０】
画像加工処理対象のレシートの画像データが移動できないと判断された場合（Ｓ６３：ＮＯ）、制御部３０は、新規ページを追加する（Ｓ６６）。次に、制御部３０は、画像加工処理対象ｐに対応する画像データを新規ページの出力範囲内に配置し、Ｓ６５以降の処理を実行する。画像加工処理対象ｐが、総数Ｐの数値と等しくないと判断された場合（Ｓ６５：ＮＯ）、画像加工処理対象ｐに１を加えて、新しい画像加工処理対象ｐとし（Ｓ６８）、Ｓ６３の処理に戻る。Ｓ６１〜Ｓ６５、及びＳ６８は、本発明の「位置検索処理」の一例である。
【００８１】
［作用効果］
本実施形態の複合機１００は、主走査方向に沿って並ぶ複数の読取素子を備え、設定された読取範囲Ｅに対して主走査方向に直交する副走査方向に相対的に移動しながら読取範囲Ｅの画像である読取範囲画像Ｇを読み取るイメージセンサ１５と、イメージセンサ１５によって読み取られた読取範囲画像Ｇの画像データを記憶するＲＡＭ３３と、制御部３０と、を備えている。制御部３０は、ＲＡＭ３３に記憶された読取範囲画像Ｇの画像データが、複数のレシートの画像データを含む場合、各レシートの画像データを読取範囲画像Ｇの画像データから検出する検出処理と、読取範囲画像Ｇの画像データにおけるレシートの画像データの位置を特定するための位置情報をＲＡＭ３３に記憶する位置記憶処理と、主走査方向及び副走査方向のいずれか１つの方向を基準方向として、ＲＡＭ３３に記憶された位置情報に基づいて、基準方向において隣り合うレシート画像データ同士の間隔を予め設定された長さに調整する間隔調整処理と、ＲＡＭ３３に記憶された位置情報に対して、間隔調整処理により調整されたレシートの画像データの位置に対応する位置情報に更新する位置更新処理と、位置更新処理によって更新された位置情報に基づいて、ＲＡＭ３３に記憶された各レシートの画像データを修正する修正処理と、を実行する。これにより、１回で読み取った読取範囲画像Ｇの画像データの中に含まれる複数の小紙片または小サイズ原稿であるレシートの画像データをユーザが所望する間隔に調整して配置することが実現できる。
【００８２】
また、制御部３０は、検出処理において、読取範囲画像Ｇの画像データからエッジを抽出し、４つのエッジによって囲まれた画像データの部分をレシートの画像データとして検出する処理を実行する。これにより、１回で読み取った画像データの中に含まれる小紙片または小サイズ原稿であるレシートの画像データを精度よく検出することができる。
【００８３】
また、制御部３０は、検出処理により検出されたレシートの画像データが、５つ以上のエッジで囲まれた画像データである場合に、エラー処理を実行する。これにより、制御部３０は、レシートの画像データが重なっている場合に、エラーとして処理することができる。
【００８４】
また、制御部３０は、ＲＡＭ３３に記憶されている読取範囲画像Ｇの画像データに対し、主走査方向に沿うＸ方向、及び副走査方向に沿うＹ方向を設定し、レシートの画像データにおける複数のエッジのうちの一つのエッジを基準エッジとした場合に、基準エッジのＸ方向とＹ方向とのいずれか一方の方向に対する傾きを検出する傾き検出処理と、傾き検出処理によって傾きが検出されたレシートの画像データに対して、基準エッジが一方の方向と一致するように回転させる傾き補正処理と、を実行可能であり、間隔調整処理を実行する前に、傾き検出処理、及び傾き補正処理を実行し、位置記憶処理において、傾き補正処理実行後のレシートの画像データの位置情報をＲＡＭ３３に記憶する処理を実行する。
これにより、複数のレシートの画像データの傾きを補正して、ユーザが所望する間隔に調整して配置することが実現できる。
【００８５】
また、制御部３０は、読取範囲Ｅよりも小さい範囲であって、予め設定された定型サイズに対応する範囲を画像出力範囲として設定する設定処理と、画像出力範囲の周縁から予め設定された幅の範囲であって、レシートの画像データを含まない余白範囲を設定する余白設定処理を実行可能であり、余白設定処理が実行された場合、間隔調整処理においては、ＲＡＭ３３に記憶された位置情報に基づいて、複数のレシートの画像データを、画像出力範囲における余白範囲と重ならない位置に移動するとともに、基準方向における互いに隣り合うレシートの画像データ同士の間隔を予め設定された長さに調整する。これにより、複数のレシートの画像データをユーザが所望する出力範囲及び余白間隔で配置しつつ、ユーザが所望する間隔に調整して配置することが実現できる。
【００８６】
また、制御部３０は、読取範囲Ｅよりも小さい範囲であって、予め設定された定型サイズに対応する範囲を画像出力範囲として設定する設定処理と、間隔調整処理によって調整された複数のレシートの画像データが、設定処理によって設定された画像出力範囲に収まっているかを位置情報に基づいて判断する判断処理と、を実行可能であり、判断処理の結果、複数のレシートの画像データのうち画像出力範囲に収まっていないレシートの画像データが存在する場合に、画像出力範囲に収まっていないレシートの画像データが、画像出力範囲に収まる位置を検索する位置検索処理を実行し、位置更新処理において、ＲＡＭ３３に記憶された画像出力範囲に収まっていないレシートの画像データの位置情報を、画像出力範囲に収まる位置に基づいて更新する処理を実行する。これにより、複数のレシートの画像データのうち、ユーザが所望する出力範囲に収まっていないレシートの画像データが存在する場合でも、出力範囲に配置しつつ、ユーザが所望する間隔に調整して配置することが実現できる。
【００８７】
また、操作部パネル４０を備え、操作部パネル４０によって、読取範囲Ｅ、隣り合うレシートの画像データ同士の間隔、前記画像出力範囲、及び前記余白範囲が設定される。これにより、ユーザが所望する読取範囲、レシートの画像データの間隔、出力範囲、余白範囲を容易に設定することができる。
【００８８】
［他の実施形態］
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば、次のような実施形態も本発明の技術的範囲に含まれる。
【００８９】
フラットベッド方式で読み取った画像データに対して、移動処理及び画像加工処理を実行する例を用いて説明を行ったが、ＡＤＦ方式で読み取った画像データに対して移動処理及び画像加工処理を実行してもよい。この場合、複数の小サイズ原稿が同封されたキャリアシートを原稿トレイ２１に載置し、ＡＤＦ２７により、キャリアシートを搬送し、ＡＤＦ方式で複数の小サイズ原稿の画像を読み取る。
【００９０】
この構成により、ＡＤＦ方式で読み取った複数の小紙片画像データに対しても、ユーザが所望する間隔に調整して配置することができる。
【００９１】
図７に示すレシート移動処理におけるＳ２４の処理は、移動先Ｘ座標Ｘｓに対して、出力範囲Ｘ座標Ｘ＿ＭＩＮと左右余白ＸＭを加えた数値と等しいか否かを判断する処理に限らない。制御部３０は、移動先Ｘ座標Ｘｓに対して、出力範囲Ｘ座標Ｘ＿ＭＩＮと左右余白ＸＭを加えた数値以下であるか否かを判断してもよい。さらに、移動先Ｘ座標Ｘｓに対して、出力範囲Ｘ座標Ｘ＿ＭＩＮと左右余白ＸＭを加えた数値以下であると判断された場合、制御部３０は、移動先Ｘ座標Ｘｓに左右余白ＸＭを代入してもよい。
【００９２】
この構成により、出力範囲の端から左右余白ＸＭより短い位置にＸ方向移動対象の画像データが位置していたとしても、出力範囲の端からユーザが設定した左右余白ＸＭ確保した位置にＸ方向移動対象の画像データを配置することができる。
【００９３】
図７に示すレシート移動処理において、制御部３０は、移動対象であるレシート画像データをＸ座標が小さくなる方向に移動する処理を実行したが、これに限られない。制御部３０は、移動対象であるレシート画像データをＸ座標が大きくなる方向に移動する処理を実行してもよい。
【００９４】
この構成により、出力範囲画像ＳＧの範囲外であり、図９に示す出力範囲画像ＳＧの辺Ａ０Ｂ０よりＸ座標が小さい位置にレシートの画像データが位置する場合でも出力範囲内に収めることができる。
【００９５】
図８に示すレシート移動処理において、制御部３０は、移動対象であるレシート画像データをＹ座標が小さくなる方向に移動する処理を実行したが、これに限られない。制御部３０は、移動対象であるレシート画像データをＹ座標が大きくなる方向に移動する処理を実行してもよい。
【００９６】
この構成により、出力範囲画像ＳＧの範囲外であり、図９に示す出力範囲画像ＳＧの辺Ａ０Ｃ０よりＹ座標が小さい位置にレシートの画像データが位置する場合でも出力範囲内に収めることができる。
また、図７及び図８に示すレシート移動処理において、制御部３０は、Ｙ方向における移動処理を実行した後、Ｘ方向における移動処理を実行してもよい。
【産業上の利用可能性】
【００９７】
本発明は、画像読取装置、及び画像処理プログラム等に利用可能である。
【符号の説明】
【００９８】
１５…イメージセンサ、３３…ＲＡＭ、３０…制御部、１００…複合機
【図１】
2017143326.tif 000003
【図２】
2017143326.tif 000004
【図３】
2017143326.tif 000005
【図４】
2017143326.tif 000006
【図５】
2017143326.tif 000007
【図６】
2017143326.tif 000008
【図７】
2017143326.tif 000009
【図８】
2017143326.tif 000010
【図９】
2017143326.tif 000011
【図１０】
2017143326.tif 000012
【図１１】
2017143326.tif 000013
【図１２】
2017143326.tif 000014
【図１３】
2017143326.tif 000015