(57)【要約】【課題】スキャンデータから複数の原稿それぞれに対応する複数の画像データをより精度よく抜き出す。【解決手段】複数の画像データを抜き出す際の基準領域サイズを設定する設定手段と、スキャンデータから複数の原稿に対応する領域を検出する際に用いる検出パラメータの中から１つを選択し、複数の原稿に対応する複数の画像領域を検出する検出手段と、検出した各画像領域のサイズと基準領域サイズとの差を算出する算出手段と、差が予め設定された閾値以下であるとき、当該画像領域を原稿に対する画像領域として決定する第１の決定手段と、差が前記閾値を超えるとき、当該画像領域を検出する際に使用した検出パラメータを変更し、検出手段、算出手段を行ない、差が前記閾値以下となったとき、当該画像領域を原稿に対する画像領域として決定する第２の決定手段とを備える。【選択図】図３
2008113075.tif 000002
【特許請求の範囲】
【請求項１】
画像読取装置の１回のスキャンで読取り可能な読取り領域内にセットした複数の原稿を読取り、当該読取りによって得られたスキャンデータから前記複数の原稿それぞれに対応する複数の画像データを抜き出す画像処理装置であって、
前記複数の画像データを抜き出す際の基準領域サイズを設定する設定手段と、
前記スキャンデータから前記複数の原稿に対応する領域を検出する際に用いる検出パラメータの中から１つを選択し、当該選択した検出パラメータに従って、前記スキャンデータから、前記複数の原稿に対応する複数の画像領域を検出する検出手段と、
前記検出手段で検出した各画像領域のサイズと前記基準領域サイズとの差を算出する算出手段と、
前記算出手段で算出した差が予め設定された閾値以下であるとき、当該画像領域を原稿に対する画像領域として決定する第１の決定手段と、
前記算出手段で算出した差が前記閾値を超えるとき、当該画像領域を検出する際に使用した検出パラメータを変更し、前記検出手段による検出、前記算出手段による算出を実行し、前記差が前記閾値以下となったとき、当該画像領域を原稿に対する画像領域として決定する第２の決定手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記設定手段は、予め設定された検出パラメータの１つを用いて前記検出手段により検出された、前記複数の画像領域に対する、最大のサイズを前記基準領域サイズとして設定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記設定手段は、ユーザからの指示を受け付ける指示手段からの指示に従って、前記基準領域サイズを設定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記第２の決定手段は、検出パラメータを変更した後も前記差が前記閾値を超えるとき、ユーザからの領域指示を受け付ける領域指示手段からの指示に基づいて、当該画像領域を原稿に対する画像領域として決定することを特徴とする請求項１乃至請求項３の何れか一項に記載の画像処理装置。
【請求項５】
前記領域指示手段は、前記基準領域サイズに基づいて前記領域指示を受け付けることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
画像読取装置の１回のスキャンで読取り可能な読取り領域内にセットした複数の原稿を読取り、当該読取りによって得られたスキャンデータから前記複数の原稿それぞれに対応する複数の画像データを抜き出す画像処理装置の制御方法であって、
前記複数の画像データを抜き出す際の基準領域サイズを設定する設定工程と、
前記スキャンデータから前記複数の原稿に対応する領域を検出する際に用いる検出パラメータの中から１つを選択し、当該選択した検出パラメータに従って、前記スキャンデータから、前記複数の原稿に対応する複数の画像領域を検出する検出工程と、
前記検出工程で検出した各画像領域のサイズと前記基準領域サイズとの差を算出する算出工程と、
前記算出工程で算出した差が予め設定された閾値以下であるとき、当該画像領域を原稿に対する画像領域として決定する第１の決定工程と、
前記算出工程で算出した差が前記閾値を超えるとき、当該画像領域を検出する際に使用した検出パラメータを変更し、前記検出工程、前記算出工程を行ない、前記差が前記閾値以下となったとき、当該画像領域を原稿に対する画像領域として決定する第２の決定工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項７】
請求項６に記載の画像処理装置の制御方法をコンピュータにより実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを記録したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の原稿画像を含む入力画像データから、個々の原稿画像データを切り出す技術に関するものである。
【背景技術】
【０００２】
従来、写真、テキストなどの原稿を読み取り、電子画像データを生成する画像読取装置（以下、スキャナと言う）がある。例えば、特許文献１には、プリント画像など、原稿台より小さいサイズの原稿をスキャナで読み取る場合に便利な機能が開示されている。この機能（以下、マルチクロップスキャンという）は、スキャナの原稿台に複数枚の原稿を置いてスキャンを行った際、スキャンデータから自動的に原稿の枚数とそれぞれの位置を検出する。そして、検出結果に基づいてスキャンデータから個々の原稿を切り出すことで、一度のスキャン操作で複数枚の原稿の読み取りを自動的に行うものである。
【０００３】
具体的には、スキャナから原稿台全面のカラーのスキャンデータ取得し、取得したスキャンデータをあらかじめ決めておいた閾値を用いて白黒２値画像に変換する。この閾値は原稿があるかないかを判断するための値である。スキャンデータ中の原稿のない領域は原稿を押さえる圧板の色（白色）となっているため、この閾値を白色に近い値に設定し、原稿位置の検出を行う。そして検出された各領域を個別の画像データとしてスキャンデータから切り抜くことにより、複数の画像を一回の読み取りで取得することができる。
【特許文献１】特開２００２−０１００５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、原稿位置の切り出しを行うための白黒２値画像を生成する際の最適な閾値が原稿の色や材質などによって異なる。そのため、上述のマルチクロップスキャンにおいて、その閾値をあらゆる原稿の種類（材質・色など）に対し最適化することが困難であるという問題がある。そのため、原稿の種類によっては原稿位置の検出に失敗し、原稿の一部が欠けた画像データが取得される結果となってしまうことがあった。
【０００５】
本発明は上記問題点に鑑みてなされてものであり、より精度の高いマルチクロップスキャンを実現可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述の問題点を解決するために、本発明の画像処理装置は以下の構成を備える。すなわち、画像読取装置の１回のスキャンで読取り可能な読取り領域内にセットした複数の原稿を読取り、当該読取りによって得られたスキャンデータから前記複数の原稿それぞれに対応する複数の画像データを抜き出す画像処理装置であって、前記複数の画像データを抜き出す際の基準領域サイズを設定する設定手段と、前記スキャンデータから前記複数の原稿に対応する領域を検出する際に用いる検出パラメータの中から１つを選択し、当該選択した検出パラメータに従って、前記スキャンデータから、前記複数の原稿に対応する複数の画像領域を検出する検出手段と、前記検出手段で検出した各画像領域のサイズと前記基準領域サイズとの差を算出する算出手段と、前記算出手段で算出した差が予め設定された閾値以下であるとき、当該画像領域を原稿に対する画像領域として決定する第１の決定手段と、前記算出手段で算出した差が前記閾値を超えるとき、当該画像領域を検出する際に使用した検出パラメータを変更し、前記検出手段による検出、前記算出手段による算出を実行し、前記差が前記閾値以下となったとき、当該画像領域を原稿に対する画像領域として決定する第２の決定手段とを備える。
【０００７】
ここで、前記設定手段は、予め設定された検出パラメータの１つを用いて前記検出手段により検出された、前記複数の画像領域に対する、最大のサイズを前記基準領域サイズとして設定する。または、前記設定手段は、ユーザからの指示を受け付ける指示手段からの指示に従って、前記基準領域サイズを設定する。  そして、前記第２の決定手段は、検出パラメータを変更した後も前記差が前記閾値を超えるとき、ユーザからの領域指示を受け付ける領域指示手段からの指示に基づいて、当該画像領域を原稿に対する画像領域として決定する。そして、前記領域指示手段は、前記基準領域サイズに基づいて前記領域指示を受け付ける。
【０００８】
上述の問題点を解決するために、本発明の画像処理装置の制御方法は以下の構成を備える。すなわち、画像読取装置の１回のスキャンで読取り可能な読取り領域内にセットした複数の原稿を読取り、当該読取りによって得られたスキャンデータから前記複数の原稿それぞれに対応する複数の画像データを抜き出す画像処理装置の制御方法であって、前記複数の画像データを抜き出す際の基準領域サイズを設定する設定工程と、前記スキャンデータから前記複数の原稿に対応する領域を検出する際に用いる検出パラメータの中から１つを選択し、当該選択した検出パラメータに従って、前記スキャンデータから、前記複数の原稿に対応する複数の画像領域を検出する検出工程と、前記検出工程で検出した各画像領域のサイズと前記基準領域サイズとの差を算出する算出工程と、前記算出工程で算出した差が予め設定された閾値以下であるとき、当該画像領域を原稿に対する画像領域として決定する第１の決定工程と、前記算出工程で算出した差が前記閾値を超えるとき、当該画像領域を検出する際に使用した検出パラメータを変更し、前記検出工程、前記算出工程を行ない、前記差が前記閾値以下となったとき、当該画像領域を原稿に対する画像領域として決定する第２の決定工程とを備える。
【発明の効果】
【０００９】
本発明によれば、より精度の高いマルチクロップスキャンを実現可能とする技術を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１１】
（第１実施形態）
本発明に係る画像処理装置の第１実施形態として、画像読取システムを例に挙げて以下に説明する。
【００１２】
＜システム全体の構成＞
図１は、第１実施形態に係る画像読取システムの構成を示す図である。画像読取システムは、ホスト装置１０１と、原稿を読み取り画像データとしてホスト装置１０１に送出するスキャナ１０２から構成される。
【００１３】
スキャナ１０２は、例えばカラースキャナであり、図示しないＣＣＤラインセンサを走査して原稿台に置かれた原稿を光学的に読み取った後、電気信号に変換する。画像信号は、複数の色成分、例えばＲ，Ｇ，Ｂに分かれており、各成分は８から１６ｂｉｔの多値データである。
【００１４】
ＣＰＵ１０２１は以下の各部を制御する中央演算処理装置である。ＲＯＭ１０２２は読み出し専用メモリであり、スキャナ１０２を制御するプログラムを格納している。ＲＡＭ１０２３は随時書き込み読み出しメモリであり、スキャナ１０２の動作に必要なプログラム、ホスト装置１０１から送信された設定パラメータなどを一時記憶する。
【００１５】
読取部１０２４はＣＰＵ１０２１の制御に基づき原稿から画像を読み取る。インターフェース部１０２５は、ホスト装置１０１からのデータを受信したり、読取部１０２４の読み取った画像データをホスト装置１０１に送信するなどの機能を有する。操作部１０２６はスキャナ１０２から画像読取操作を実行するためのスキャンボタンなどの各種ボタンを提供するものである。表示部１０２７は操作部１０２６で行った操作状況やスキャナの設定状況などを表示する。
【００１６】
ホスト装置１０１は、例えばパーソナルコンピュータ（ＰＣ）であり、スキャナ１０２の制御指示やスキャナ１０２で読み取った画像データを処理する。ＣＰＵ１０１４は、ホスト装置１０１の各部を制御する中央演算装置であり、後述のスキャナドライバなどの制御プログラムを実行する。ＲＡＭ１０１５は、ＣＰＵ１０１４による作業領域が展開されるランダムアクセスメモリである。記憶装置１０１２はスキャナドライバなどの各種制御プログラムを格納している。
【００１７】
入力装置１０１３は、ホスト装置１０１を操作するためのキーボードあるいはマウス等から構成されている。表示装置１０１６は、入力装置１０１３から入力した情報を確認するための表示、或いはスキャナドライバ、アプリケーションのユーザインタフェース、メッセージなどの表示を行う。インターフェース部１０１１は、スキャナ１０２とのデータの送受信を行う。
【００１８】
＜スキャナドライバの構成＞
図２は、スキャナドライバの内部構成を表す図である。スキャナドライバ２１０は設定記憶部２１１、画像処理部２１２、読取制御部２１３、ＵＩ制御部２１４を備えている。なお、前述のように、これらの各部は、ＣＰＵ１０１４がスキャナドライバ２１０を実行することにより実現される。
【００１９】
ＵＩ制御部２１４は、スキャナ１０２に対して画像読取操作を実行させるためのユーザインターフェース画面（以下、ドライバＵＩ）の表示・制御を行う。ユーザはＵＩ制御部２１４により表示装置１０１６に表示されるドライバＵＩを介して、画像読取時の各種設定（例えば読取解像度、読取範囲、読取モード、補正処理など）を指定する。
【００２０】
なお、ドライバＵＩには、原稿台に載置された複数の原稿を同時にスキャンするマルチクロップスキャンを行うボタンが配置されている。さらに、原稿台に載置された複数の原稿が同一サイズであることを指定する「同サイズ原稿マルチクロップ」モードの設定項目（チェックボックスなど）が設けられている。これは、マルチクロップスキャン時には名刺・写真・はがきなど、同じサイズの原稿を複数読み取るケースにユーザにより指定される。「同サイズ原稿マルチクロップ」モードをＯＮにしてマルチクロップスキャンを行うことで、後述するクロップ失敗原稿の判定からクロップ調整の処理を実施する。ＵＩ制御部２１４はこれらの設定情報を設定記憶部２１１に記憶する。
【００２１】
設定記憶部２１１は、また、クロップ画像の検出に用いるパラメータセットを複数（Ｐ０、Ｐ１、・・・Ｐｎ）記憶している。なお１つのパラメータセットには、二値化の閾値やコントラストなどのパラメータが含まれる。
【００２２】
読取制御部２１３は、ドライバＵＩを介して読取実行が指示されると、設定記憶部２１１に記憶されている設定に従って読み取りを実行するための命令をスキャナ１０２に送信する機能部である。また、送信した命令に基づきスキャナ１０２から送信されるスキャン画像などのデータの取得も行う。
【００２３】
画像処理部２１２は、設定記憶部２１１に記憶されている設定と取得したスキャン画像に基づき、後述のマルチクロップ処理などを行う機能部である。
【００２４】
＜スキャン実行時の処理フロー＞
図３は、第１実施形態に係る画像読み取り／切り出し動作のフローチャートである。なお、前述の通り、以下の各ステップは、ＣＰＵ１０１４がスキャナドライバ２１０を実行することにより実現される。
【００２５】
ステップＳ３０１では、読取制御部２１３は、設定記憶部２１１に記憶されている読取設定に従い読取部１０２４によるスキャンを実行する。これは、スキャナドライバ２１０のＵＩ制御部２１４により表示されたドライバＵＩを介してユーザから受け付けた読み取り指示に従い実行される。なお、ドライバＵＩ上でなされた設定の内容は設定記憶部２１１に記憶される。スキャナ１０２の読取部１０２４によるスキャンが完了すると、ホスト装置１０１はスキャナ１０２からスキャンデータを取得する。
【００２６】
図４は、スキャナにより読み取られ生成されたスキャンデータの画像を例示的に示す図である。図４において、４００はスキャン画像全体を示しており、４０１〜４０３は原稿台に載置された３枚の原稿それぞれに対応する画像領域を示している。
【００２７】
ステップＳ３０２では、マルチクロップスキャンが指定されていたか否かを設定記憶部２１１に記憶されている設定に基づいて判定する。マルチクロップスキャンが指定されていれば、ステップＳ３０３に進む。一方、マルチクロップスキャンが指定されていなければ、取得したスキャンデータを保存またはアプリケーションに送出してフローを終了する。
【００２８】
ステップＳ３０３では、ステップＳ３０１で取得したスキャンデータに対して、原稿の位置を検出し切り出し（クロップ）処理を行う。なお、本ステップでの原稿の位置検出は、設定記憶部２１１に記憶されているクロップパラメータセットＰ０を用いて実行されるとする。
【００２９】
図５は、スキャンデータに対してクロップ処理を実施しクロップ画像が検出された状態を例示的に示す図である。４００はスキャン画像全体を示しており、５０１〜５０３はそれぞれ画像領域４０１〜４０３に対応するクロップ画像を示している。つまり、ここでは、画像領域４０２に対して、画像領域より小さい誤ったクロップ画像５０２が検出された状態を示している。
【００３０】
ステップＳ３０４では、「同サイズ原稿マルチクロップ」モードが指定されていたか否かを設定記憶部２１１に記憶されている設定に基づいて判定する。「同サイズ原稿マルチクロップ」モードが指定されていれば、ステップＳ３０５に進む。一方、「同サイズ原稿マルチクロップ」モードが指定されていなければ、ステップＳ３０３で切り出したクロップ画像５０１〜５０３に対して、ステップＳ３１４に進む。
【００３１】
ステップＳ３１４では、クロップ画像５０１〜５０３のクロップ処理の結果を表示部１０２７に表示する。つまり、ユーザにクロップ処理の結果の確認を促すのである。そして、ステップＳ３１５では、入力装置１０１３などにより、クロップ処理の結果の正否の判定をユーザから受け付ける。正しいと判定された場合はステップＳ３１７に進み、調整が必要な場合にはステップＳ３１６に進む。ステップＳ３１６では、クロップ領域の指定を受け付ける画面表示を行い、入力装置１０１３などにより、ユーザから正しいクロップ領域の指定を受け付ける。そして、ステップＳ３１７では、クロップ領域を決定し、クロップ画像５０１〜５０３を保存またはアプリケーションに送出してフローを終了する。
【００３２】
ステップＳ３０５では、ステップＳ３０３のクロップ処理で取得した複数のクロップ画像５０１〜５０３のサイズに基づいて「基準領域サイズ」を決定する。ここでは、「基準領域サイズ」の幅をＷｂ，高さをＬｂとする。なお、「基準領域サイズ」は複数のクロップ画像５０１〜５０３のサイズに基づいて、以下のいずれかの方法で決定する。
・最大のクロップ画像のサイズ
・最大のクロップ画像と比較して所定量以上小さいサイズのクロップ画像を除いた、残りのクロップ画像の平均サイズ
・最大のクロップ画像と比較して所定量以上小さいサイズのクロップ画像を除いた、残りのクロップ画像の平均サイズに最も近い定型サイズ
・予めユーザが指定したサイズ（設定記憶部２１１に記憶されている設定）
これらの決定方法は、あらかじめひとつを選択して実装しても良いし、ユーザが指定して切替可能な構成としても良い。
【００３３】
以下の、ステップＳ３０６〜ステップＳ３１３では、複数のクロップ画像５０１〜５０３と基準領域サイズとをそれぞれ比較して、基準領域サイズよりあらかじめ決められた一定量以上小さい画像を判定する。そして、小さいと判定されたクロップ画像ではクロップ処理に問題があったとみなし、「クロップ調整処理」を行う。
【００３４】
ステップＳ３０６では、ステップＳ３０３のクロップ処理で取得した複数のクロップ画像５０１〜５０３の１つを選択する。以下の説明では、クロップ画像５０１〜５０３に対応するインデックスｉをそれぞれ１〜３とする。ここでは、ｉ＝１を設定する。
【００３５】
ステップＳ３０７では、Ｗｍ＝Ｗｂ−Ｗｉ、および、Ｌｍ＝Ｌｂ−Ｌｉ  を算出することにより、基準領域サイズとｉ番目のクロップ画像との幅および高さの差をそれぞれＷｍ、Ｌｍとして算出する。ここで、ＷｉおよびＬｉは、インデックスｉのクロップ画像の幅、高さを意味する。
【００３６】
ステップＳ３０８では、Ｗｍをあらかじめ指定された閾値Ｗｔｈと比較する。Ｗｍ＞Ｗｔｈであれば、ステップＳ３１０に進み、Ｗｍ＜＝Ｗｔｈであれば、ステップＳ３０９に進む。
【００３７】
ステップＳ３０９では、Ｌｍをあらかじめ指定された閾値Ｌｔｈと比較する。Ｌｍ＞Ｌｔｈであれば、ステップＳ３１０に進み、Ｌｍ＜＝Ｌｔｈであれば、ステップＳ３１２に進む。
【００３８】
図６は、ステップＳ３０７〜ステップＳ３０９の処理の概念図である。図６（ａ）〜（ｃ）は、それぞれクロップ画像５０１〜５０３を、Ｗｂ×Ｌｂの基準領域サイズ６００と比較している様子を表す。この例では、クロップ画像５０２が基準領域サイズ６００より幅、高さとも、あらかじめ指定された量より以上小さいと判断される。すなわち、ステップＳ３０７〜ステップＳ３０９において、基準領域サイズ６００の幅Ｗｂ、高さＬｂとクロップ画像５０２の幅Ｗｉ、高さＬｉの差であるＷｍおよびＬｍが、それぞれＷｔｈ、Ｌｔｈより大きいと判断される。それによりクロップ画像５０２について、ステップＳ３１０以降の処理がなされることになる。
【００３９】
ステップＳ３１０では、インデックスｉのクロップ画像を含む領域を「クロップ調整対象領域」として決定する。ここで、「クロップ調整対象領域」は、スキャンデータ４００の、インデックスｉのクロップ画像の領域を中心に、その領域を広げて基準領域サイズの画像を得ることができるような領域である。例えば、インデックスｉのクロップ画像の領域から、画像の上方向と下方向にＷｍずつ、右方向と左方向にＬｍずつ広げた領域を、クロップ調整対象領域とする。このとき、クロップ調整対象領域の幅をＷａ、高さをＬａとすると、それぞれ式（１）および式（２）によって算出される。
【００４０】
Ｗａ＝Ｗｉ＋Ｗｍ×２  …  式（１）
Ｌａ＝Ｌｉ＋Ｌｍ×２  …  式（２）
図７は、クロップ画像５０２に対して、上下方向に２×Ｌｍ、左右方向に２×Ｗｍ広げたクロップ調整対象領域７０２を例示的に示す図である。また、図８は、スキャンデータ４００におけるクロップ画像５０２の位置とクロップ調整対象領域７０２の位置を例示的に示す図である。
【００４１】
ステップＳ３１１では、スキャンデータ４００のクロップ調整対象領域７０２に対して、「クロップ調整処理」を行う。クロップ調整処理の処理については後述する。
【００４２】
ステップＳ３１２では、ステップＳ３０７〜ステップＳ３０９の処理を行っていないクロップ画像が残っているかを判断する。残っている場合は、ステップＳ３１３で、ｉをインクリメント（ｉ＝ｉ＋１）して次のクロップ画像を着目画像とする。一方、もうクロップ画像が残っていないと判断された場合は、全てのクロップ画像を保存またはアプリケーションに送出してフローを終了する。
【００４３】
ここで保存またはアプリケーションに送出するクロップ画像とは、ステップＳ３０３にて切り出されたクロップ画像または、該クロップ画像に対してステップＳ３１１にてクロップ調整処理を行った後のクロップ画像である。
【００４４】
＜クロップ調整処理の詳細＞
図１０は、クロップ調整処理（ステップＳ３１１）の動作のフローチャートである。
【００４５】
ステップＳ１００１では、設定記憶部２１１からＰ０とは異なるパラメータセットＰｊを読み出す。なおここで、ｊは再クロップ回数を示すインデックスである。ここでは、ｊ＝１を設定する。
【００４６】
ステップＳ１００２では、ステップＳ３１０で決定したクロップ調整対象領域に対して、パラメータセットＰｊを用いてクロップ処理を再度実行する。その結果取得されたクロップ画像の幅をＷｉ’、高さをＬｉ’とする。
【００４７】
ステップＳ１００３では、Ｗｍ’＝Ｗｂ−Ｗｉ’、および、Ｌｍ’＝Ｌｂ−Ｌｉ’  を算出することにより、基準領域サイズと注目クロップ画像との幅および高さの差をそれぞれＷｍ’、Ｌｍ’として算出する。ここで、Ｗｉ’およびＬｉ’は、注目クロップ画像（インデックスｉ）の幅、高さを意味する。
【００４８】
ステップＳ１００４では、Ｗｍ’をあらかじめ指定された閾値Ｗｔｈ’と比較する。Ｗｍ’＞Ｗｔｈ’であれば、ステップＳ１００６に進み、Ｗｍ’＜＝Ｗｔｈ’であれば、ステップＳ１００５に進む。
【００４９】
ステップＳ１００５では、Ｌｍ’をあらかじめ指定された閾値Ｌｔｈ’と比較する。Ｌｍ’＞Ｌｔｈ’であれば、ステップＳ１００６に進み、Ｌｍ’＜＝Ｌｔｈ’であればフローを終了する（ステップＳ３１２に進む）。
【００５０】
なお、Ｗｔｈ’およびＬｔｈ’は、前述のＷｔｈおよびＬｔｈと同じ値としてもよいし、異なる値を用いてもよい。
【００５１】
ステップＳ１００６では、再クロップ回数ｊが予め指定された回数ｎだけ実行されたか否かを判定する。ｎ回に満たない場合は、ステップＳ１００９において、インデックスｊをインクリメント（ｊ＝ｊ＋１）して、他のクロップパラメータセットを読み込み、ステップＳ１００２に戻る。つまり、ｎは、パラメータＰｊを変えて再クロップを最大何回やり直すかを決めておくもので、１以上の整数である。一方、ｎ回の再クロップ処理が実行されたと判定されたら、ステップＳ１００７に進む。
【００５２】
ステップＳ１００７では、ユーザからクロップ領域の指定を受け付ける画面表示を行い、正しいクロップ領域の指定を受け付ける。図９は、クロップ領域の指定を受け付ける画面表示の一例を示す図である。スキャンデータ４００におけるクロップ画像、基準領域サイズ６００、クロップ調整対象領域７０２を示している。ユーザは基準領域サイズ６００の枠を移動することで、正しいクロップ領域を指定する。なお、ここで表示するクロップ調整対象領域７０２は、ステップＳ１００２にて再クロップ処理をやり直す対象領域と同じである。
【００５３】
ステップＳ１００８では、ステップＳ１００７でユーザから指定された領域をスキャンデータ４００から切り出してクロップ画像とする。
【００５４】
なお、上述の説明においては、スキャナドライバ２１０による再クロップ（ステップＳ１００２）を所定の回数（ｎ回）実施した。それにもかかわらず、クロップ画像が基準領域サイズより一定以上小さい場合に、ＵＩ上でユーザにクロップ領域を直接指定させる（ステップＳ１００７）例について説明を行った。しかし、例えば、パラメータセットを変更し再クロップを実行する処理（ステップＳ１００２）を所定回数繰り返すのみでもよい。つまり、ユーザからのクロップ領域の指定処理（ステップＳ１００７）は行わないよう構成しても良い。また、パラメータセットを変更してクロップをやり直す処理（ステップＳ１００２）は行わくてもよい。つまり、ユーザからのクロップ領域の指定処理（ステップＳ１００７）のみを行うよう構成しても良い。
【００５５】
以上説明してように、第１実施形態の画像読取システムによれば、より精度の高いマルチクロップスキャンを実現可能とすることが出来る。つまり、マルチクロップスキャンによりクロップされた複数のクロップ画像のサイズ又はオペレータの設定に基づき基準領域サイズを決定する。そして、基準領域サイズより一定量以上小さい画像をクロップ失敗と判定することで、ユーザの操作無しに自動的にクロップ失敗を検出することができる。また、クロップ失敗と判定された原稿領域に対してのみ、クロップパラメータを変え、原稿の切り出し処理を最適化するクロップ調整処理を行う。そのため、さまざまな材質の原稿が混在した際のマルチクロップ処理の精度を向上させることができる。さらに、スキャンデータに対する画像切り出し処理のみをやり直すことで、スキャン処理を再度実行することなくクロップ処理の精度を向上させることができる。
【００５６】
なお、本実施形態では、スキャン実行時に、プレビュー画像を取得するために低解像度でスキャンを実行する所謂プレスキャンを行わない場合の例で説明した。しかし、プレスキャンを行ってからから本スキャンを実施する読取方法であっても構わない。また、本実施形態では、クロップ処理に用いるパラメータセットＰ０，Ｐ１・・・Ｐｎについて、設定記憶部２１１にあらかじめ記憶されているものとした。しかし、設定記憶部に記憶されているパラメータセットに対して、スキャン時の設定情報に基づき変更を加えた値をパラメータセットとして用いてもよい。
【００５７】
また、本実施形態では、ホスト装置１０１内のスキャナドライバ２１０を実行することによりクロップ処理、クロップ調整処理などを実行する例で説明した。しかし、スキャナ１０２内に記憶されたソフトウェアを実行することによってこれらの処理を実行し、複数のクロップ画像をスキャナ１０２からホスト装置１０１のスキャナドライバ２１０に転送する方法であっても構わない。
【００５８】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００５９】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【００６０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６１】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭなどがある。
【００６２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００６３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００６４】
【図１】第１実施形態に係る画像読取システムの構成を示す図である。
【図２】スキャナドライバの内部構成を表す図である。
【図３】第１実施形態に係る画像読み取り／切り出し動作のフローチャートである。
【図４】スキャナにより読み取られ生成されたスキャンデータの画像を例示的に示す図である。
【図５】スキャンデータに対してクロップ処理を実施しクロップ画像が検出された状態を例示的に示す図である。
【図６】ステップＳ３０７〜ステップＳ３０９の処理の概念図である。
【図７】クロップ画像に対して、上下、左右に領域を広げたクロップ調整対象領域を例示的に示す図である。
【図８】スキャンデータにおけるクロップ画像およびクロップ調整対象領域の位置を例示的に示す図である。
【図９】クロップ領域の指定を受け付ける画面表示の一例を示す図である。
【図１０】クロップ調整処理の動作のフローチャートである。
【図１】
2008113075.tif 000003
【図２】
2008113075.tif 000004
【図３】
2008113075.tif 000005
【図４】
2008113075.tif 000006
【図５】
2008113075.tif 000007
【図６】
2008113075.tif 000008
【図７】
2008113075.tif 000009
【図８】
2008113075.tif 000010
【図９】
2008113075.tif 000011
【図１０】
2008113075.tif 000012