(57)【特許請求の範囲】
【請求項１】
読み取った複数の画像データを張り合わせて、１枚の合成画像データを生成することが可能な原稿読取装置において、
原稿が配置された原稿台の領域を読み取り、読み取った画像データから原稿の画像データを抽出する画像読取手段と；
上記抽出した画像データを記憶する画像データ記憶手段と；
原稿を配置した原稿台の各辺と上記原稿の各辺との位置関係に応じて、画像データを張り合わせるための合成レイアウトを決定するレイアウト決定手段と；
上記決定されたレイアウトに応じて、上記画像データ記憶手段に記憶された画像データを張り合わせて、１枚の合成画像データを生成する画像合成手段と；
を有し、
上記レイアウト決定手段は、
上記原稿台の各辺に対する上記抽出された原稿の画像データの各辺の位置を検出する辺位置検出手段と；
上記画像データの各辺のうちで、上記原稿台の各辺と最も近接している辺である近接辺を検出する近接辺検出手段と；
上記検出された近接辺を画像を張り合わせる合成辺とし、合成する相手の画像データの各辺のうちで、上記近接辺と平行かつ、上下または左右が逆となる辺を、上記近接辺と合成する合成辺であると決定する合成辺決定手段と；
を有することを特徴とする原稿読取装置。
【請求項２】
読み取った複数の画像データを張り合わせて、１枚の合成画像データを生成することが可能な原稿読取装置の制御方法において、
原稿が配置された原稿台の領域を読み取り、読み取った画像データから原稿の画像データを抽出する画像読取工程と；
上記抽出した画像データを画像データ記憶手段に記憶する画像データ記憶工程と；
原稿を配置した原稿台の各辺と上記原稿の各辺との位置関係に応じて、画像データを張り合わせるための合成レイアウトを決定するレイアウト決定工程と；
上記決定されたレイアウトに応じて、上記画像データ記憶手段に記憶された画像データを張り合わせて、１枚の合成画像データを生成する画像合成工程と；
を有し、
上記レイアウト決定工程は、
上記原稿台の各辺に対する上記抽出された原稿の画像データの各辺の位置を検出する辺位置検出工程と；
上記画像データの各辺のうちで、上記原稿台の各辺と最も近接している辺である近接辺を検出する近接辺検出工程と；
上記検出された近接辺を画像を張り合わせる合成辺とし、合成する相手の画像データの各辺のうちで、上記近接辺と平行かつ、上下または左右が逆となる辺を、上記近接辺と合成する合成辺であると決定する合成辺決定工程と；
を有することを特徴とする原稿読取装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１枚の画像が複数枚の原稿に分割されている場合、これら分割されている複数の画像を読み取り、この読み取った結果を、１枚の画像データに合成する画像処理装置に関する。
【背景技術】
【０００２】
複数枚の原稿を読み取ってメモリに記憶し、各画像を合成する装置が提案されている。たとえば、原稿を複数回に分けて読込み、部分スキャン画像を得る。次に、各部分画像の縁部の画像濃度をそれぞれ検出する。そして、この検出結果に基づいて、部分画像を合成する際の配置位置と、合成するべき対の合成辺とを、各部分画像についてそれぞれ決定する。これによって、各分割画像を合成する発明が開示されている（たとえば、特許文献１及び特許文献２参照）。
【０００３】
また、読み取り画像に内包されている複数枚の原稿を抽出し、整然と並ぶようにレイアウトし直す発明が提案されている。たとえば、読み取った画像データに、グリッドを設け、さらに内包している複数枚の原稿を識別する。そして、グリッドを用いて各抽出原稿の配置や傾きを調整し、または各抽出原稿に隙間がないように、画像データ内で再配置するデジタル編集方法及びシステムが開示されている（たとえば、特許文献３参照）。
【特許文献１】特開平１１−１９６２５６号公報
【特許文献２】特開平０９−１２１２７７号公報
【特許文献３】特開２００５−１１０２８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１、２記載の発明では、各部分画像の縁部の画像濃度によって、合成する辺を決定するので、各部分画像間で、ある程度の共通領域または連続性が必要であり、したがって、たとえば写真等のように、適用範囲が限定されるという問題がある。
【０００５】
また、特許文献１、２記載の発明では、誤検出によって、意図しないレイアウトになる可能性があるという問題がある。
【０００６】
特許文献３記載の発明では、原稿台に収められている原稿に対してのみ、処理が有効であるという問題がある。
【０００７】
本発明は、複数枚の原稿を読み取ってメモリに記憶し、各画像を合成する装置において、その適用範囲が写真等に限定されない原稿読取装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の原稿読取装置は、読み取った複数の画像データを張り合わせて、１枚の合成画像データを生成することが可能な原稿読取装置において、原稿が配置された原稿台の領域を読み取り、読み取った画像データから原稿の画像データを抽出する画像読取手段と、上記抽出した画像データを記憶する画像データ記憶手段と、原稿を配置した原稿台の各辺と上記原稿の各辺との位置関係に応じて、画像データを張り合わせるための合成レイアウトを決定するレイアウト決定手段と、上記決定されたレイアウトに応じて、上記画像データ記憶手段に記憶された画像データを張り合わせて、１枚の合成画像データを生成する画像合成手段とを有し、上記レイアウト決定手段は、上記原稿台の各辺に対する上記抽出された原稿の画像データの各辺の位置を検出する辺位置検出手段と、上記画像データの各辺のうちで、上記原稿台の各辺と最も近接している辺である近接辺を検出する近接辺検出手段と、上記検出された近接辺を画像を張り合わせる合成辺とし、合成する相手の画像データの各辺のうちで、上記近接辺と平行かつ、上下または左右が逆となる辺を、上記近接辺と合成する合成辺であると決定する合成辺決定手段とを有することを特徴とする。
【発明の効果】
【０００９】
請求項１〜３記載の発明によれば、原稿を配置した原稿台の辺との関係に応じて、合成レイアウトを決定するので、各原稿画像間に共通領域または連続性を必要とせず、したがって、適用範囲は写真等に限定されないという効果を奏する。
【００１０】
請求項４〜７記載の発明によれば、原稿台における複数の原稿同士の位置関係に応じて、合成レイアウトを決定するので、各原稿画像間に共通領域または連続性を必要とせず、したがって、適用範囲は写真等に限定されないという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
発明を実施するための最良の形態は、次の実施例である。
【実施例１】
【００１２】
実施例１は、原稿サイズ等の理由によって原稿台に複数の原稿を配置することができない場合、合成のレイアウトを指定する実施例である。
【００１３】
図１は、本発明の実施例１である原稿読取システム１００を示す図である。
【００１４】
原稿読取システム１００は、ホストコンピュータ１と、原稿読取装置２と、ハードディスク３と、表示装置４と、データ入力装置５と、メディア読取装置６と、通信制御装置７とを有する。
【００１５】
原稿読取システム１００は、原稿読取装置２が原稿を読み取り、得られたスキャン画像を、ホストコンピュータ１が、起動可能なアプリケーションに出力する実施例である。
【００１６】
原稿読取システム１００において、原稿読取装置２と、ハードディスク３と、表示装置４と、データ入力装置５と、メディア読取装置６と、通信制御装置７とが、ホストコンピュータ１に接続されている。
【００１７】
ホストコンピュータ１は、所定のシステムプログラムを実行することによって、原稿読取システム１００の全体の動作制御と監視とを行う。
【００１８】
ホストコンピュータ１は、具体的には、システムボード上に配置されているＣＰＵ、ＲＡＭ、及びＲＯＭ等を含むコンピュータ機能を具備する。ＣＰＵが、内蔵メモリまたは外付けのハードディスク３等から所要の処理プログラムを適宜読み出して実行することによって、原稿読取システム１００の全体の動作を制御する。ここでは、一例として、ホストコンピュータ１が実行する各種プログラムの格納先が、ハードディスク３であるとする。ハードディスク３には、実施例１における動作を実現するための処理プログラムや、スキャンデータから画像データを生成するための各種アプリケーション等が格納されている。
【００１９】
なお、実施例１における動作を実現するための処理プログラム（プログラムコード）の格納先は、ハードディスク３や内蔵メモリに限られることはない。たとえば、ＣＤ−ＲＯＭやフレキシブルディスク等の可搬性記録媒体に、当該処理プログラムをホストコンピュータ１が読取可能な形態で記録し、流通させる。原稿読取システム１００の構築時に、メディア読取装置６又は通信制御装置７を介して、ホストコンピュータ１が当該処理プログラムを読み取り、ハードディスク３にインストールするようにしてもよい。
【００２０】
また、実施例１において、ホストコンピュータ１のオペレーティングシステムＯＳは、「Ｗｉｎｄｏｗｓ（登録商標）」であるが、これに限る必要はない。
【００２１】
原稿読取装置２は、ホストコンピュータ１から、原稿の読取条件等の情報を受信すると、所定の読取プロセスを実行することによって、当該スキャン画像をホストコンピュータ１に出力する。
【００２２】
図２は、原稿読取装置２を示す斜視図である。
【００２３】
原稿読取装置２は、フラットベッド型の原稿読取装置であり、蓋１１と、原稿を固定する面１２と、原稿をスキャンする面１３とを有する。また、原稿読取装置２とホストコンピュータ１とを、スタンドアロン接続やネットワーク接続等、様々な接続形態を適用するようにしてもよい。
【００２４】
表示装置４は、ホストコンピュータ１からのシステムプログラムやアプリケーション等の実行による指示に呼応して、所定のウィンドウを表示する。
【００２５】
データ入力装置５は、キーボード、マウス、その他のポインティングデバイス等を含み、原稿読取システム利用者（以後、「ユーザ」と呼ぶ）からの各種指示を受け付け、これをホストコンピュータ１に伝える装置である。たとえば、データ入力装置５は、表示装置４に表示されているウィンドウを、ユーザが参照し、指定した原稿読取装置２に対する読取条件を、ホストコンピュータ１に伝える。
【００２６】
メディア読取装置６は、ＣＤ−ＲＯＭドライブ、フレキシブルディスク（ＦＤ）ドライブ等を含む装置であり、ＣＤ−ＲＯＭやＦＤ等の記録媒体から読み取った情報を、ホストコンピュータ１に供給する。
【００２７】
通信制御装置７は、たとえば、原稿読取システム１００と外部のネットワークとを通信可能に接続する接続インタフェースである。
【００２８】
図３は、実施例１において、ホストコンピュータ１が所定の処理プログラムを実行することによって実現する原稿読取システム１００の機能のうちで、特に、合成スキャンモードに着目し動作を示すフローチャートである。
【００２９】
なお、上記「合成スキャンモード」は、原稿台に置かれている原稿同士を連結合成するモードである。
【００３０】
図４は、実施例１において、原稿２１と原稿２２との関係を示す図である。
【００３１】
実施例１において、図４（ａ）に示す原稿２１と、原稿２２とを合成して、図４（ｂ）に示す合成画像２３を得るための処理について説明する。
【００３２】
図５は、ユーザインタフェース３０を示す図である。
【００３３】
まず、Ｓ１で、図５に示すユーザインタフェース３０（以後、「ＵＩ」と略す）を、表示装置４に表示する。ユーザは、データ入力装置５を用いて、スキャン条件を設定する。このスキャン条件は、具体的には、原稿の種類３１（たとえば、写真やテキスト）、原稿サイズ３２、出力解像度３３である。
【００３４】
また、合成スキャンモード３４を選択すると、実施例１で説明する合成スキャンモードが実行される。スキャンボタン３５を押すと、ホストコンピュータ１は、原稿読取装置２に、スキャン実行を命令し、キャンセルボタン３６を押すと、処理は終了する。
【００３５】
スキャン条件の設定を行うと、当該設定情報（以後、「スキャン設定情報」と呼ぶ）を、ホストコンピュータ１内のＲＡＭに保存し、Ｓ２に移る。
【００３６】
Ｓ２では、Ｓ１で保存されたスキャン設定情報のうちで、合成スキャンモードの設定情報をＲＡＭから読み出す。そして、Ｓ２で、合成スキャンモードが適用されているかどうかを判別する。合成スキャンモードを適用しなければ、Ｓ３で、スキャン処理を行い、処理を終了する。
【００３７】
図６は、レイアウト指定方法指示ダイアログ４０を示す図である。
【００３８】
Ｓ２で合成スキャンモードを適用する場合、Ｓ５で、スキャンを実行する前に、Ｓ４で、図６に示すレイアウト指定方法指示ダイアログ４０を表示装置４に表示する。
【００３９】
ユーザは、説明文４１と図例４２とを参考にして、原稿台に原稿を配置する。ユーザが配置を完了すると、ＯＫボタン４３を押し、Ｓ５で、スキャンを実行する。実施例１では、原稿を順次スキャンし、合成レイアウトを意識し、原稿を原稿台に配置する。スキャン画像を、ホストコンピュータ１内のＲＡＭに保存し、Ｓ６に移る。Ｓ６で、スキャン画像内のクロップ処理と合成レイアウトとを決定する。
【００４０】
なお、上記「クロップ処理」は、スキャン画像から原稿領域を抽出する処理である。
【００４１】
図７は、実施例１におけるスキャン画像内のクロップ処理と合成レイアウトとの決定の処理（Ｓ６）を示すフローチャートである。
【００４２】
まず、Ｓ１１で、今回行われたスキャンが１回目であるかどうかを判別する。１回目でなければ、Ｓ１２に移る。Ｓ１２で、原稿領域の辺位置を決定する。上記「辺位置」は、スキャン画像を構成する各辺の位置、具体的には上辺、下辺、左辺、右辺の各位置の情報である。
【００４３】
図８は、辺位置を決定する動作の説明図であり、スキャン画像５０を示す図である。
【００４４】
スキャン画像５０は、原点５１と、原稿領域５２とが表示されている。原稿領域５２は、４つの頂点５３、５４、５５、５６を有する。
【００４５】
辺位置を決定する場合、スキャン画像５０の原点５１から原稿領域５２の４つ頂点間での各距離を求める。そして、原点５１から最も近い頂点が頂点５３であり、この頂点から、時計回りに、右上の頂点５４、右下の頂点５５、左下の頂点５６を割り当てる。
【００４６】
次に、辺を構成する頂点によって、辺位置を決定する。上記辺位置は、次の上辺、右辺、下辺、左辺の位置の情報である。また、上辺は、左上の頂点５３の座標と右上の頂点５４の座標とによって特定される辺であり、右辺は、右上の頂点５４の座標と右下の頂点５５の座標とによって特定される辺である。下辺は、右下の頂点５５の座標と左下の頂点５６の座標とによって特定される辺であり、左辺は、左下の頂点５６の座標と左上の頂点５３の座標とによって特定される辺である。
【００４７】
ホストコンピュータ１は、各原稿領域の辺位置を、ホストコンピュータ１内のＲＡＭに保存する。辺位置を決定すると、Ｓ１３に移る。Ｓ１３では、ホストコンピュータ１内のＲＡＭに保存されているスキャン画像５０を読み出す。
【００４８】
図９は、近接辺位置決定手法を説明するためのスキャン画像６０を示す図である。
【００４９】
スキャン画像５０内の原稿領域５２を検知し、原稿領域５２の各辺のうちで、原稿台各辺と最も近接している辺である近接辺を検出する。図９に示す原稿領域６１の各辺のうちで、原稿領域６１の左辺６２が、原稿台各辺に最も近接しているので、原稿領域６１の左辺６２の位置情報を、「近接辺位置」とする。近接辺を判別した後に、ホストコンピュータ１は、近接辺位置を、ホストコンピュータ１内のＲＡＭに保存し、Ｓ１４に移る。Ｓ１４で、ホストコンピュータ１内のＲＡＭに保存されているスキャン画像６０を読み出す。そして、スキャン画像６０について、クロップ処理を実行する。
【００５０】
なお、上記「クロップ処理」は、スキャン画像から、原稿領域を抽出する処理である。ホストコンピュータ１は、クロップ画像を、ホストコンピュータ１内のＲＡＭに保存し、Ｓ１５に移る。
【００５１】
Ｓ１５で、ホストコンピュータ１内のＲＡＭに保存されている近接辺位置を読み出す。次に、Ｓ１３で判別した近接辺を合成する対象の辺とし、１つ前にスキャンした画像の各辺のうちで、上記近接辺位置と平行な辺を合成するように、レイアウトを決定する。具体的には、図４（ａ）に示す原稿２２が、図９に示すように配置されている場合、原稿の近接辺は、左辺である。この場合、合成の相手である原稿２１のスキャン画像の右辺と結合するように、原稿２１の右側に原稿２２のスキャン画像を配置する。
【００５２】
これと同様に、スキャン画像の近接辺が上辺であると判別すると、原稿２１のスキャン画像の下側に原稿２２のスキャン画像を配置する。ホストコンピュータ１は、合成レイアウト情報をホストコンピュータ１内のＲＡＭに保存する。なお、上記「合成レイアウト情報」は、複数枚あるスキャン画像のうちで、どの画像同士を接続するのかを示す情報、またそれらを合成する際にどの辺で合成するのかを示す情報である。
【００５３】
一方、Ｓ１１で、１回目のスキャンであると判断した場合、Ｓ１６で、辺位置を決定し、続いてＳ１７で、クロップ処理を実行する。このクロップ処理は、Ｓ１２とＳ１４と同様の処理内容である。実施例１では、１回目に取得した原稿が、合成画像における基準になるので、合成レイアウトに関する処理を実行する必要がない。
【００５４】
Ｓ６が終了すると、Ｓ７で、合成スキャンモードを終了するかどうかについて、ユーザの指示を待つ。具体的には、原稿読取装置２に備わる操作ボタンをユーザが押すことによって、指示する。合成スキャンモードの続行が指定されると、Ｓ５に戻る。
【００５５】
一方、合成スキャンモードの終了が指定されると、Ｓ８で、ホストコンピュータ１内のＲＡＭに保存されている各クロップ画像（分割された画像）と、それらの近接辺位置と、合成レイアウト情報とを読み出す。次に、近接辺位置とレイアウト情報とに基づいて、クロップ画像間で、合成すべき辺である合成辺を決定し、この決定された合成辺に応じて、合成処理を実行する。合成処理が終了すると、ホストコンピュータ１は、合成画像をホストコンピュータ１内のＲＯＭに保存し、処理を終了する。
【００５６】
実施例１の原稿読取システム１００は、ハードウェアで構成されているが、ソフトウェアで構成するようにしてもよい。また、この原稿読取システム１００が、原稿読取装置２に組み込まれてもよい。
【００５７】
つまり、上記実施例１は、画像データを読み取る画像読取手段と、上記読み取った画像データを記憶する画像データ記憶手段と、原稿を配置した原稿台の辺との関係に応じて、合成レイアウトを決定する合成レイアウト決定手段とを有する。また、上記実施例１は、上記決定された合成レイアウトに応じて、上記画像データを合成する画像合成手段と、上記合成された合成画像データを記憶する合成画像データ記憶手段とを有する。さらに、上記実施例１は、原稿を配置した原稿台の辺との関係に応じて、複数枚の原稿の画像データを合成する。
【００５８】
この場合、上記合成レイアウト決定手段は、上記画像の各辺の位置を検出する辺位置検出手段と、上記画像の各辺のうちで、上記原稿台各辺と最も近接している辺である近接辺を検出する近接辺検出手段とを有する。また、上記合成レイアウト決定手段は、上記検出された近接辺と合成する相手の画像である合成相手画像の各辺のうちで、上記近接辺と平行な辺を、上記近接辺と合成する相手の原稿の辺である合成相手辺とする合成相手辺決定手段とを有する手段である。
【００５９】
上記実施例１を、方法の発明として把握することができる。つまり、上記実施例１は、画像データを読み取る画像読取工程と、上記読み取った画像データを記憶手段に記憶する画像データ記憶工程とを有する。また、上記実施例１は、原稿を配置した原稿台の辺との関係に応じて、合成レイアウトを決定し、記憶装置に記憶する合成レイアウト決定工程と、上記決定された合成レイアウトに応じて、上記画像データを合成する画像合成工程とを有する。さらに、上記実施例１は、上記合成された合成画像データを記憶手段に記憶する合成画像データ記憶工程を有し、原稿を配置した原稿台の辺との関係に応じて、複数枚の原稿の画像データを合成する。
【実施例２】
【００６０】
実施例２は、原稿台における複数の原稿同士の位置関係に応じて、原稿を合成する際における合成レイアウトを指定する実施例である。
【００６１】
図１０は、本発明の実施例２である原稿読取システム２００を示すブロック図である。
【００６２】
原稿読取システム２００は、基本的には、原稿読取システム１００と同じであり、原稿読取装置２の代わりに、原稿読取装置２ａが設けられている点のみが、原稿読取システム１００とは異なる。
【００６３】
図１１は、原稿読取システム２００の動作のうちで、特に合成スキャンモードに着目した動作を示すフローチャートである。
【００６４】
図１２は、実施例２において、合成スキャンモードによって３枚の原稿２１、２２、２４から合成画像２３を得る具体例を説明する図である。
【００６５】
実施例２では、図１２（ａ）に示す原稿２１、２２、２４の３枚から図１２（ｂ）に示す合成画像２３を得る。
【００６６】
Ｓ１ａでは、表示装置４に、図５に示すユーザインタフェース３０（以後、「ＵＩ」と略す）を表示する。ユーザは、データ入力装置５を用いて、スキャン条件の設定を行う。具体的には、原稿の種類３１（たとえば、写真やテキスト）や原稿サイズ３２、出力解像度３３が挙げられる。また、合成スキャンモード３４を選択すると、合成スキャンモード（原稿台に置かれている原稿同士を連結合成するモード）を実行する。スキャンボタン３５を押すと、ホストコンピュータ１は原稿読取装置２ａに対してスキャン実行を命令し、キャンセルボタン３６を押すと処理は終了する。スキャン条件の設定を行うと、当該設定情報（以後、「スキャン設定情報」と呼ぶ）をホストコンピュータ１内のＲＡＭに保存し、処理はＳ２ａに移る。
【００６７】
Ｓ２ａでは、まずＳ１ａで保存されたスキャン設定情報のうちで、合成スキャンモードの設定情報をＲＡＭから読み出す。そして、合成スキャンモードが適用されているかを判別する。合成スキャンモードを適用しなければ、処理はＳ３ａに移り、スキャン処理のみ行う。
【００６８】
合成スキャンモードを適用するのであれば、処理はＳ４ａに移る。
【００６９】
図１３は、実施例２におけるレイアウト指定方法指示ダイアログを示す図である。
【００７０】
Ｓ４ａでは、スキャンを実行する前に、表示装置４に、図１３に示すレイアウト指定方法指示ダイアログ７０を表示する。ユーザは、説明文７１と図例７２とを参考に、原稿台に原稿を配置する。実施例２では、原稿を表に向けた状態で、合成レイアウトを意識して、原稿台に配置し、スキャンをする際に、原稿を裏返す前準備を経てスキャンする。また、原稿を裏返す際、全ての原稿を一まとめにして裏返す。ユーザが原稿を配置し、ＯＫボタン７３を押すことによって、Ｓ５ａでスキャンを実行する。スキャン画像は、ホストコンピュータ１内のＲＡＭに保存し、処理はＳ６ａに移る。
【００７１】
Ｓ６ａでは、クロップ処理（スキャン画像から原稿領域を抽出する処理）と、クロップ画像（クロップ処理によって得られた複数の画像）の合成レイアウトとを決定する。
【００７２】
図１４は、クロップ処理＆合成レイアウトの決定（Ｓ６ａ）を詳細に示すフローチャートである。
【００７３】
まず、Ｓ２１で、ホストコンピュータ１内のＲＡＭに保存されているスキャン画像を読み出し、クロップ処理を行うことによって、スキャン画像に含まれている原稿領域を全て抽出する。抽出された原稿領域は、クロップ画像として、ホストコンピュータ１内のＲＡＭに保存する。さらに、クロップ処理と同時に、各クロップ画像の重心座標を算出し、辺位置を決定する。
【００７４】
まず、各クロップ画像の辺位置を決定する。上記「辺位置」は、スキャン画像を構成する各クロップ画像の各辺の位置、具体的には、上辺、下辺、左辺、右辺の位置の情報である。
【００７５】
図１５は、辺位置の決定の説明図である。
【００７６】
辺位置を決定する場合における説明を簡略化するために、原稿が１枚である場合について説明する。
【００７７】
まず、スキャン画像８０の原点８１から原稿領域８２の４つの頂点までのそれぞれの距離を求める。そして、最も近い頂点８３を左上の頂点とし、時計回りに、右上の頂点８４、右下の頂点８５、左下の頂点８６とする。次に、辺を構成する頂点によって、辺位置を決定する。具体的には、左上の頂点８３と右上の頂点８４とによって特定される辺を、上辺とし、右上の頂点８４と右下の頂点８５とによって特定される辺を、右辺とする。右下の頂点８５と左下の頂点８６とによって特定される辺を、下辺とし、左下の頂点８６と左上の頂点８３とによって特定される辺を、左辺とする。ホストコンピュータ１は、各クロップ画像の辺位置をホストコンピュータ１内のＲＡＭに保存する。
【００７８】
次に、スキャン画像８０における各クロップ画像の重心座標を算出する。重心は、クロップ画像の対角線を求め、それらが交わる点であるとする。上記「座標」は、ピクセル単位で求めたものである。ホストコンピュータ１は、各クロップ画像の重心座標を、ホストコンピュータ１内のＲＡＭに保存する。
【００７９】
これらの処理が終了すると、処理はＳ２２に移る。Ｓ２２で、ホストコンピュータ１内のＲＡＭに保存されている各クロップ画像の重心座標を読み出す。次に、下記の（１）式、（２）式を用い、各クロップ画像間の重心座標のＸ軸方向距離Ｄｘ、各クロップ画像間のＹ軸方向距離Ｄｙを求める。
Ｄｘ（Ｐｉ，Ｐｊ）＝Ｐｉｘ−Ｐｊｘ    ……（１）
Ｄｙ（Ｐｉ，Ｐｊ）＝Ｐｉｙ−Ｐｊｙ    ……（２）
式中、Ｐｘ、Ｐｙは、クロップ画像の重心座標であり、ｉ、ｊは、クロップ画像群の所定のクロップ画像を一意に特定する添え字であり、ｉ＜ｊの関係がある。全てのクロップ画像に対して、Ｘ軸方向距離とＹ軸軸方向距離とを算出すると、ホストコンピュータ１は、クロップ画像間の軸方向距離を、ホストコンピュータ１内のＲＡＭに保存し、処理はＳ２３に移る。
【００８０】
Ｓ２３で、ホストコンピュータ１内のＲＡＭに保存されている各クロップ画像の重心座標を読み出す。そして、下記の（３）式を用い、各クロップ画像間の重心距離Ｄｘｙを求める。
Ｄｘｙ（Ｐｉ，Ｐｊ）＝{（Ｐｉｘ−Ｐｊｘ）２＋（Ｐｉｙ−Ｐｊｙ）２}１／２    ……（３）
各クロップ画像間の重心距離を算出すると、ホストコンピュータ１は、算出されたクロップ画像間の重心距離を、ホストコンピュータ１内のＲＡＭに保存し、処理はＳ２４に移る。
【００８１】
Ｓ２４で、ホストコンピュータ１内のＲＡＭに保存されている各情報であって、Ｓ２１〜Ｓ２３で求めた各情報を読み出す。次に、各クロップ画像の右辺に合成すべきクロップ画像（以後、「合成相手のクロップ画像」と呼ぶ）を決定する。
【００８２】
合成相手のクロップ画像を決定する場合、軸方向距離と重心距離とを使用する。つまり、まず、各クロップ画像の右辺に合成すべきクロップ画像の候補を決定する。
【００８３】
図１６は、実施例２において、水平方向の合成候補を決定する手法の説明図である。
【００８４】
図１６において、クロップ画像Ｃ２１、Ｃ２２、Ｃ２４は、原稿２１、２２、２４にそれぞれ対応している。Ｘ軸の重心位置が最小であるクロップ画像Ｃ２１を、注目クロップ画像とし、注目クロップ画像Ｃ２１とのＸ軸重心距離が正の値であるクロップ画像Ｃ２２、Ｃ２４に対して、Ｙ軸方向距離が一定の範囲に収まるかどうかを判別する。
【００８５】
そして、注目クロップ画像Ｃ２１とのＹ軸方向距離が一定の範囲内に収まるクロップ画像のみを、注目クロップ画像の合成候補としてリストアップする。図１６において、注目クロップ画像Ｃ２１とクロップ画像Ｃ２２とのＹ軸方向距離Ｄｙ１と、注目クロップ画像Ｃ２１とクロップ画像Ｃ２４のＹ軸方向距離Ｄｙ２とが一定の範囲に収まっているかどうかを調べる。Ｙ軸方向距離Ｄｙ１と、Ｄｙ２とが一定の範囲に収まっていれば、注目クロップ画像Ｃ２１の合成候補は、クロップ画像Ｃ２２、Ｃ２４である。一方、Ｙ軸方向距離Ｄｙ１のみが、一定の範囲に収まっていれば、注目クロップ画像Ｃ２１の合成候補は、クロップ画像Ｃ２２である。上記一定の範囲は、予め決めた閾値でもよく、ユーザが指定できるようにしてもよい。
【００８６】
次に、合成候補の中から合成相手のクロップ画像を一意に決定する。合成候補が１つであれば、そのクロップ画像が注目クロップ画像の合成相手のクロップ画像である。一方、合成候補が複数あれば、各合成候補のうちで、注目クロップ画像との重心距離が最小であるクロップ画像を、合成相手のクロップ画像であるとする。具体的に、図１７を用いて説明する。
【００８７】
図１７は、実施例２において、合成相手のクロップ画像の決定手法の説明図である。
【００８８】
図１７において、クロップ画像Ｃ２１、Ｃ２２、Ｃ２４は、原稿２１、２２、２４のそれぞれに対応する。注目クロップ画像Ｃ２１の合成候補として、クロップ画像Ｃ２２とＣ２４とが挙がっている場合、重心距離ｄ２よりも重心距離ｄ１が短いので、注目クロップ画像Ｃ２１の合成相手のクロップ画像は、クロップ画像Ｃ２２である。
【００８９】
そして、合成相手のクロップ画像であったクロップ画像を、新たな注目クロップ画像とし、上記処理を、全てのクロップ画像に対して実行する。
【００９０】
また、合成時の合成辺は、注目クロップ画像の右辺と、合成相手の左辺とである。
【００９１】
図１８は、実施例２において、３枚のクロップ画像の合成辺を説明する図である。
【００９２】
説明を簡略化するために、図１８では、各クロップ画像間のスキャン画像内における位置関係を示している。注目クロップ画像を、クロップ画像Ｃ３１とし、合成相手のクロップ画像を、クロップ画像Ｃ３２とすると、注目クロップ画像Ｃ３１の右辺Ｃ３１Ｒと、合成相手のクロップ画像Ｃ３２の左辺Ｃ３２Ｌとが合成辺である。
【００９３】
これと同様に、注目クロップ画像をクロップ画像Ｃ３２とし、合成相手のクロップ画像を、クロップ画像Ｃ３４とすると、注目クロップ画像Ｃ３２の右辺Ｃ３２Ｒと合成相手のクロップ画像Ｃ３４の左辺Ｃ３４Ｌとが合成辺である。
【００９４】
各クロップ画像の合成レイアウトを決定すると、ホストコンピュータ１は、合成レイアウト情報を、ホストコンピュータ１内のＲＡＭに保存し、Ｓ６ａが終了する。Ｓ６ａが終了すると、処理はＳ８ａに移る。
【００９５】
Ｓ８ａでは、Ｓ６ａで求めた各クロップ画像とそれらの合成レイアウト情報とを、ホストコンピュータ１内のＲＡＭから読み出す。次に、合成レイアウト情報に応じて合成処理を実行する。合成処理が終了すると、ホストコンピュータ１は、合成画像をホストコンピュータ１内のＲＡＭに保存し、処理を終了する。
【００９６】
また、実施例２は、複数の原稿をレイアウトした後に、このレイアウトした複数の原稿を、一まとめにして裏返して処理する実施例であるが、このようにすることに限定する必要はない。たとえば、スキャン時に原稿を裏返す際に、その場で裏返す手法（図１９参照）もある。
【００９７】
図１９は、実施例２におけるレイアウト指定方法指示ダイアログを示す図である。
【００９８】
具体的には、Ｓ４ａで、図１９に示すレイアウト指定方法指示ダイアログ９０を、表示装置４に表示する。ユーザは、説明文９１と図例９２とを参考に、原稿台に原稿を配置する。ユーザが配置を完了し、ＯＫボタン９３を押すと、Ｓ５ａでスキャンを実行する。この裏返し手法を用いると、合成辺の決定方法が上記と異なる。合成時の合成辺は、注目クロップ画像の左辺と合成相手の右辺とである。
【００９９】
図２０は、実施例２における変形例の説明図である。
【０１００】
説明を簡略化するため、図２０で、各クロップ画像間のスキャン画像内における位置関係を示す。注目クロップ画像をクロップ画像Ｃ４４、合成相手をクロップ画像Ｃ４２とすると、注目クロップ画像Ｃ４４の左辺Ｃ４４Ｌと、合成相手のクロップ画像Ｃ４２の右辺Ｃ４２Ｒとが合成辺である。これと同様に、注目クロップ画像をクロップ画像Ｃ４２とし、合成相手をクロップ画像Ｃ４１とすると、注目クロップ画像Ｃ４２の左辺Ｃ４２Ｌと合成相手のクロップ画像Ｃ４１の右辺Ｃ４１Ｒとが合成辺である。
【０１０１】
実施例２では、３枚の原稿を合成するが、原稿を上下に並べて置いた場合にも、実施例２に適用することができる。
【０１０２】
図２１は、合成スキャンモードによって４枚の原稿から合成画像を得る実施例２の変形例を説明する図である。
【０１０３】
図１３に示すレイアウト指定方法指示ダイアログ７０に従って、図２１（ａ）に示す４枚の原稿９４、９５、９６、９７から、図２１（ｂ）に示す合成画像９８を得るための処理について説明する。また、処理の流れは、上記の通りであるので、以降は、図１４の合成レイアウト決定処理Ｓ２４について説明する。
【０１０４】
Ｓ２４では、Ｓ２１〜Ｓ２３で求めた各情報を、ホストコンピュータ１内のＲＡＭから読み出す。そして、各クロップ画像の合成相手を決定する。右辺の合成相手を決定する場合は、上記の通りであるので、以下では、各クロップ画像の下辺の合成相手を決定する手順について説明する。
【０１０５】
まず、各クロップ画像の右辺に合成するクロップ画像の候補を決定し、次に下辺に合成するクロップ画像の候補を決定する。各クロップ画像の下辺の合成候補決定方法は、軸方向距離と重心距離とを利用する。
【０１０６】
図２２は、実施例２において、垂直方向の合成候補を決定する手法の説明図である。
【０１０７】
図２２において、クロップ画像Ｃ９１、Ｃ９２、Ｃ９４は、原稿９４、９６、９７のそれぞれ対応する。まず、Ｘ軸の重心位置とＹ軸の重心位置とが最小であるクロップ画像Ｃ９１を、注目クロップ画像とする。次に、Ｙ軸重心距離が正の値であるクロップ画像Ｃ９２、Ｃ９４に対して、Ｘ軸方向距離が一定の範囲に収まるかどうかを判別する。なお、上記「Ｙ軸重心距離が正の値である」における「正」は、図２２において、Ｙ軸矢印方向である。
【０１０８】
一定の範囲内に収まるクロップ画像のみを、注目クロップ画像の合成候補としてリストアップする。図２２において、注目クロップ画像Ｃ９１とクロップ画像Ｃ９２とのＸ軸方向距離Ｄｘ３、注目クロップ画像Ｃ９１とクロップ画像Ｃ９４とのＸ軸方向距離Ｄｘ４が一定の範囲に収まっているかどうかを調べる。Ｘ軸方向距離Ｄｘ３、Ｄｘ４が一定の範囲に収まっていれば、注目クロップ画像Ｃ９１の合成候補は、クロップ画像Ｃ９２、Ｃ９４である。Ｘ軸方向距離Ｄｘ３のみが一定の範囲に収まっていれば、注目クロップ画像Ｃ９１の合成候補は、クロップ画像Ｃ９２である。
【０１０９】
次に、合成候補の中から合成相手のクロップ画像を一意に決定する。合成候補が１つであれば、そのクロップ画像が、注目クロップ画像の合成相手である。一方、複数挙がった場合、各合成候補うちで、注目クロップ画像との重心距離が最小であるクロップ画像を合成相手のクロップ画像であるとする。
【０１１０】
そして、合成相手のクロップ画像として決定したクロップ画像を、新たな注目クロップ画像とし、上記処理を、全てのクロップ画像に実行する。注目クロップ画像の下辺と右辺とに合成相手のクロップ画像が存在すれば、それぞれに対して、上記処理を実行する。さらに、既に注目クロップ画像となっているクロップ画像に対しては、上記処理を実行しない。もし、合成相手のクロップ画像が１つも挙げられないクロップ画像が存在すれば、エラーを出力し、合成スキャンモードを終了する。
【０１１１】
また、合成時の合成辺は、注目クロップ画像の下辺と、合成相手のクロップ画像の上辺とである。
【０１１２】
上記のように、原稿台における原稿が複数枚であったとしても、その配置関係を検知し、それによって合成時のレイアウトを変化させることができる。
【０１１３】
つまり、上記実施例２は、画像データを読み取る画像読取手段と、上記画像データを記憶する画像データ記憶手段と、原稿台における複数の原稿同士の位置関係に応じて、合成レイアウトを決定する合成レイアウト決定手段とを有する。また、上記実施例２は、上記合成レイアウトに従って上記画像データを合成する画像合成手段と、上記合成画像データを記憶する合成画像データ記憶手段とを有し、原稿台における複数の原稿同士の位置関係に応じて、複数枚の原稿の画像データを合成する。
【０１１４】
この場合、上記合成レイアウト決定手段は、原稿の各頂点を検知する頂点検知手段と、上記頂点から原稿台基準点の距離に応じて、上記頂点の位置を決定する頂点位置決定手段と、上記決定された頂点を結んだ辺の位置を決定する辺位置決定手段とを有する。また、上記合成レイアウト決定手段は、原稿の重心を求める重心決定手段と、基準となる原稿の辺位置情報と上記基準原稿重心からの１軸方向距離が指定された許容範囲内に収まる原稿を合成相手の候補とする合成相手候補決定手段とを有する。さらに、上記合成レイアウト決定手段は、上記合成相手候補のうちで、基準原稿から重心までの距離が最小である原稿を合成相手とする合成相手決定手段を有する。しかも、上記合成レイアウト決定手段は、上記基準原稿と上記合成相手とを合成すべき辺を一意に決定する合成辺決定手段を有し、原稿の設置誤差を許容する。
【０１１５】
また、上記合成辺決定手段は、原稿を仮レイアウトした後に、上記レイアウトの合成結果が得られるように、原稿を原稿台に配置する方法を指示する原稿配置方法指示手段を有する。そして、上記合成辺決定手段は、上記原稿配置方法によって基準原稿と上記合成相手とを合成する辺を可変とする手段である。
【０１１６】
また、上記実施例２を方法の発明として把握することができる。つまり、上記実施例２は、画像データを読み取る画像読取工程と、上記画像データを記憶装置に記憶する画像データ記憶工程と、原稿台における複数の原稿同士の位置関係に応じて、合成レイアウトを決定し、記憶装置に記憶する合成レイアウト決定工程とを有する。また、上記実施例２は、上記合成レイアウトに従って上記画像データを合成する画像合成工程と、上記合成画像データを記憶装置に記憶する合成画像データ記憶工程とを有する。さらに、上記実施例２は、原稿台における複数の原稿同士の位置関係に応じて、複数枚の原稿の画像データを合成する。
【図面の簡単な説明】
【０１１７】
【図１】本発明の実施例１である原稿読取システム１００を示す図である。
【図２】原稿読取装置２を示す斜視図である。
【図３】実施例１において、ホストコンピュータ１が所定の処理プログラムを実行することによって実現する原稿読取システム１００の機能のうちで、特に、合成スキャンモードに着目し動作を示すフローチャートである。
【図４】実施例１において、原稿２１と原稿２２との関係を示す図である。
【図５】ユーザインタフェース３０を示す図である。
【図６】レイアウト指定方法指示ダイアログ４０を示す図である。
【図７】実施例１におけるスキャン画像内のクロップ処理と合成レイアウトとの決定の処理（Ｓ６）を示すフローチャートである。
【図８】辺位置を決定する動作説明図であり、スキャン画像５０を示す図である。
【図９】近接辺位置決定手法を説明するためのスキャン画像６０を示す図である。
【図１０】本発明の実施例２である原稿読取システム２００を示すブロック図である。
【図１１】原稿読取システム２００の動作のうちで、特に合成スキャンモードに着目した動作を示すフローチャートである。
【図１２】実施例２において、合成スキャンモードによって３枚の原稿２１、２２、２４から合成画像２３を得る具体例を説明する図である。
【図１３】実施例２におけるレイアウト指定方法指示ダイアログを示す図である。
【図１４】クロップ処理＆合成レイアウトの決定（Ｓ６ａ）を詳細に示すフローチャートである。
【図１５】辺位置の決定の説明図である。
【図１６】実施例２において、水平方向の合成候補を決定する手法を説明する図である。
【図１７】実施例２において、合成相手のクロップ画像を決定する手法を説明する図である。
【図１８】実施例２において、３枚のクロップ画像の合成辺を説明する図である。
【図１９】実施例２におけるレイアウト指定方法指示ダイアログを示す図である。
【図２０】実施例２における変形例の説明図である。
【図２１】合成スキャンモードによって４枚の原稿から合成画像を得る実施例２の変形例を説明する図である。
【図２２】実施例２において、垂直方向の合成候補を決定する手法を説明する図である。
【符号の説明】
【０１１８】
１００…原稿読取システム、
１…ホストコンピュータ、
２…原稿読取装置、
４…表示装置、
６…メディア読取装置、
２１、２２…原稿、
２３…合成画像、
３０…ユーザインタフェース、
４０…レイアウト指定方法指示ダイアログ、
５０…スキャン画像、
５１…原点、
５２…原稿領域、
５３、５４、５５、５６…頂点、
６０…スキャン画像、
６１…原稿領域、
６２…左辺、
２００…原稿読取システム、
２ａ…原稿読取装置、
２４…原稿、
７０…レイアウト指定方法指示ダイアログ、
８０…スキャン画像、
８１…原点、
８２…原稿領域、
８３、８４、８５、８６…頂点、
Ｃ２１、Ｃ２２、Ｃ２４、Ｃ３１、Ｃ３２、Ｃ３４…クロップ画像、
９０…レイアウト指定方法指示ダイアログ、
Ｃ４１、Ｃ４２、Ｃ４４…クロップ画像、
９４、９５、９６、９７…原稿、
９８…合成画像、
Ｃ９１、Ｃ９２、Ｃ９４…クロップ画像。
【図１】
0004865647.tif 000002
【図２】
0004865647.tif 000003
【図３】
0004865647.tif 000004
【図４】
0004865647.tif 000005
【図５】
0004865647.tif 000006
【図６】
0004865647.tif 000007
【図７】
0004865647.tif 000008
【図８】
0004865647.tif 000009
【図９】
0004865647.tif 000010
【図１０】
0004865647.tif 000011
【図１１】
0004865647.tif 000012
【図１２】
0004865647.tif 000013
【図１３】
0004865647.tif 000014
【図１４】
0004865647.tif 000015
【図１５】
0004865647.tif 000016
【図１６】
0004865647.tif 000017
【図１７】
0004865647.tif 000018
【図１８】
0004865647.tif 000019
【図１９】
0004865647.tif 000020
【図２０】
0004865647.tif 000021
【図２１】
0004865647.tif 000022
【図２２】
0004865647.tif 000023