(57)【要約】【課題】マルチクロップ処理の実行時、ユーザに煩雑な作業を強いたり、不快感を与えたりすることなく、原稿をスキャンして得られた画像から原稿に対応する画像領域を高精度で切り出すことができるようにする。【解決手段】原稿を含む領域をスキャンして得られた画像データに対し前記原稿の領域のクロップ処理を行う画像処理装置であって、原稿をスキャンして得られた第１の画像におけるエッジ成分を検出して前記原稿の位置情報を取得する検出手段と、取得された前記位置情報に基づいて、前記原稿をスキャンして得られた第２の画像から前記原稿に対応する画像領域を切り出すクロッピング手段と、を備え、前記第１の画像は、前記第２の画像よりも暗い画像である、ことを特徴とする。【選択図】図８
2019205110.tif 000002
【特許請求の範囲】
【請求項１】
原稿を含む領域をスキャンして得られた画像データに対し前記原稿の領域のクロップ処理を行う画像処理装置であって、
原稿をスキャンして得られた第１の画像におけるエッジ成分を検出して前記原稿の位置情報を取得する検出手段と、
取得された前記位置情報に基づいて、前記原稿をスキャンして得られた第２の画像から前記原稿に対応する画像領域を切り出すクロッピング手段と、
を備え、
前記第１の画像は、前記第２の画像よりも暗い画像である、
ことを特徴とする画像処理装置。
【請求項２】
前記原稿を載置するための原稿台と、
前記原稿台に載置された原稿をスキャンするスキャナと、
前記スキャナを制御する制御手段と、
をさらに備え、
前記制御手段は、前記スキャナを制御して前記原稿台に載置された原稿をスキャンし、前記第１及び第２の画像を生成する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御手段は、前記スキャンを行って得た画像に対し、異なるパラメータを適用した輝度値のゲイン調整を行って、前記第１及び第２の画像を生成することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記制御手段は、前記第１の画像を生成するためのスキャンと、前記第２の画像を生成するためのスキャンとを、別に行なうことを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記制御手段は、前記第２の画像を生成するためのスキャンと比べ、前記第１の画像を生成するためのスキャンを行う際の光源の明るさを低減させることで、前記第１及び第２の画像を生成することを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記制御手段は、前記スキャンを行って得た画像に対し低解像度化処理を行って、前記第２の画像よりも解像度が低い前記第１の画像を生成することを特徴とする請求項２乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記制御手段は、前記スキャンを行って得た画像に対しグレー化変換処理を行って、前記第２の画像よりもチャンネル数が少ない前記第１の画像を生成することを特徴とする請求項２乃至５のいずれか１項に記載の画像処理装置。
【請求項８】
前記制御手段は、前記第１の画像と前記第２の画像との間にある位置ずれが解消するように、前記位置情報を補正する補正手段をさらに備え、
前記クロッピング手段は、補正された位置情報に基づいて、前記原稿に対応する画像領域を切り出す
ことを特徴とする請求項２乃至５のいずれか１項に記載の画像処理装置。
【請求項９】
前記検出手段は、前記原稿の形状が矩形である場合、当該矩形の４頂点座標を前記位置情報として取得することを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記検出手段は、前記原稿の形状が矩形以外の形状である場合、当該原稿の最小外接矩形を求め、その４頂点座標を前記位置情報として取得することを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１１】
原稿を含む領域をスキャンして得られた画像データに対する前記原稿の領域のクロップ処理を行う方法であって、
前記原稿をスキャンして得られた第１の画像におけるエッジ成分を検出して前記原稿の位置情報を取得するステップと、
取得された前記位置情報に基づいて、前記原稿をスキャンして得られた第２の画像から前記原稿に対応する画像領域を切り出すステップと、
を含み、
前記第１の画像は、前記第２の画像よりも暗い画像である、
ことを特徴とする方法。
【請求項１２】
コンピュータを、請求項１乃至１０のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿のスキャン技術に関する。
【背景技術】
【０００２】
従来から、スキャナ機能を備える複合機等を用いて、原稿をスキャンして得られた画像のデータを、内部ストレージに保存したり（ＢＯＸ保存機能）、サーバへ送信したり（ＳＥＮＤ機能）して、管理することが行われている。そして、ＭＦＰによっては、領収書や名刺といったサイズが小さい原稿を複数枚同時にスキャンし、得られたスキャン画像から原稿単位の画像を生成する機能（マルチクロップ機能）を有するものも存在する。このマルチクロップ機能を利用することで、１度のスキャンで複数の原稿の画像を生成することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３３８９２０号公報
【特許文献２】特開２０１７−１０３５９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記マルチクロップ機能では、原稿をスキャンして得られた画像から各原稿の端部を抽出し、各原稿に対応した画像領域を切り出すことで、原稿単位の画像を生成する。ここで、Ａ４やＡ３など通常の定型サイズの原稿を対象にスキャンを行う際には、ユーザは、原稿台（圧板）に原稿を載置し、白色の原稿台カバーを閉じ、スキャンの実行開始の指示ボタンを押下する、という手順で作業を行う。こうして得られたスキャン画像においては、所定の白色よりも明るい白色の箇所は、全て同一信号値の白で置き換えられてしまう。つまり、原稿台カバーの白色と原稿の白色とがまったく同じ濃度値で表現されることになり、その結果、原稿の端部が抽出されにくいという問題がある。この点、例えば特許文献１には、原稿を載置した後に黒シートで原稿台を覆ってスキャンを行うことで、各原稿の端部を抽出しやすくする技術が開示されている。また、特許文献２には、原稿台カバーを開けた状態でスキャンを実行し、原稿が載置されている領域以外の領域を黒く出力することで原稿の端部を抽出しやすくする技術が開示されている。
【０００５】
しかしながら、特許文献１の手法の場合、ユーザは通常時とは異なる手順での作業を強いられることになる。そして、特許文献２の手法の場合は、原稿台カバーが開けたままになることからスキャン時の光がユーザの目に入り、それが不快感を与えていた。また、領収書などは折り目がついていたり湾曲したりしていることも多く、原稿台カバーで押さえないと適切にスキャンできないという問題もある。
【０００６】
そこで、本発明では、ユーザに煩雑な作業を強いたり、不快感を与えたりすることなく、原稿をスキャンして得られた画像から原稿に対応する画像領域を高精度で切り出すことを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る画像処理装置は、原稿を含む領域をスキャンして得られた画像データに対し前記原稿の領域のクロップ処理を行う画像処理装置であって、原稿をスキャンして得られた第１の画像におけるエッジ成分を検出して前記原稿の位置情報を取得する検出手段と、取得された前記位置情報に基づいて、前記原稿をスキャンして得られた第２の画像から前記原稿に対応する画像領域を切り出すクロッピング手段と、を備え、前記第１の画像は、前記第２の画像よりも暗い画像である、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザに煩雑な作業を強いたり、不快感を与えたりすることなく、原稿をスキャンして得られた画像から原稿に対応する画像領域を高精度で切り出すことができる。
【図面の簡単な説明】
【０００９】
【図１】画像処理システムの全体構成を示す図
【図２】ＭＦＰのハードウェア構成を示すブロック図
【図３】マルチクロップ機能を利用したユースケースのシーケンス図
【図４】（ａ）〜（ｄ）はＵＩ画面の一例を示す図
【図５】（ａ）は通常スキャン時における輝度ゲイン調整を説明する図、（ｂ）は暗読みスキャン時における輝度ゲイン調整を説明する図
【図６】マルチクロップによるスキャン処理の流れを示すフローチャート
【図７】原稿台に複数の原稿が載置されている状態を示す図
【図８】暗読みスキャン時の輝度ゲイン調整の結果を示す図
【図９】通常スキャン時の輝度ゲイン調整の結果を示す図
【図１０】クロップ座標検出処理の詳細を示すフローチャート
【図１１】（ａ）は直線連結処理を施した後のエッジ画像を示す図、（ｂ）はエッジ画像から検出された各原稿の４頂点座標を示す図
【図１２】クロッピング処理の詳細を示すフローチャート
【図１３】スキャン画像から切り出された各原稿の画像領域がタッチパネル上に表示されている様子を示す図
【発明を実施するための形態】
【００１０】
以下、図面を用いて本発明に係る実施形態を詳細に説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらに限定する趣旨のものではない。
【００１１】
（実施形態１）
＜システム構成＞
図１は、本実施形態に係る、画像処理システム１００の全体構成を示す図である。画像処理システム１００は、スキャン機能を有するＭＦＰ（Multi Function Peripheral）１１０、ＰＣ１２０、携帯端末１３０、ストレージサーバ１４０で構成されている。そして、各装置はＬＡＮ又は公衆無線通信網に接続され、さらにＬＡＮと公衆無線通信網はインターネットに接続されている。このようなネットワークによって、各装置は相互に通信可能となっている。
【００１２】
ＭＦＰ１１０は、いわゆる複合機と呼ばれる、スキャナ機構とプリンタ機構を備えた画像処理装置である。本実施形態のＭＦＰ１１０は、一般的な文書よりも小さなサイズの原稿（例えば、名刺、免許証、ハガキ、領収書など）のスキャン端末として利用される。そのために、ＭＦＰ１１０は、１枚以上の原稿をスキャンして読み取った画像（スキャン画像）から原稿に対応する画像領域を切り出して原稿単位の画像を生成するマルチクロップ機能を有している。このマルチクロップ機能を利用することで、ユーザは複数の名刺や領収書等を画像データ化したい場合、１枚ずつ原稿台に載置してスキャンをしなくても、原稿毎の画像を取得することができる。なお、以下では、マルチクロップ機能によって生成された原稿単位の画像を「クロップ画像」と呼ぶこととする。ＭＦＰ１１０は、スキャン画像やクロップ画像のデータを、内部ストレージに保存したり（ＢＯＸ保存機能）、ＰＣ１２０や携帯端末１３０及びストレージサーバ１４０へ送信したり（ＳＥＮＤ機能）することができる。
【００１３】
ＰＣ１２０及び携帯端末１３０は、ＭＦＰ１１０から受信したスキャン画像やクロップ画像の表示を行う画像処理装置である。また、ＰＣ１２０及び携帯端末１３０では、所定のアプリケーションを用いて、ＭＦＰ１００が生成したスキャン画像やクロップ画像の保存・管理や、当該保存した画像に対するＯＣＲ処理などが可能である。なお、ＰＣ１２０や携帯端末１３０に上述のマルチクロップ機能を実現するためのアプリケーションをインストールし、これらの装置にてＭＦＰ１１０から受け取ったスキャン画像に対しマルチクロップ処理を実施してクロップ画像を得るようにしてもよい。
【００１４】
上記システム構成はあくまで例示であり、本実施形態に実施にすべての構成要素が必要というものではない。
【００１５】
＜ＭＦＰのハードウェア構成＞
図２は、ＭＦＰ１１０のハードウェア構成を示すブロック図である。ＭＦＰ１１０は、制御部２１０、操作部２２０、プリンタ部２３０及びスキャナ部２４０で構成される。制御部２１０は、さらに以下の各部２１１〜２１８で構成され、ＭＦＰ１１０全体の動作を制御する。ＣＰＵ２１１は、ＲＯＭ２１２に記憶された制御プログラムを読み出して、上述のマルチクロップ機能を含む各種機能を実行・制御する。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２１４は、画像データや各種プログラムを記憶する大容量記憶部である。操作部Ｉ／Ｆ２１５は、操作部２２０と制御部２１０とを接続するインタフェースである。操作部２２０は、タッチパネルやハードキーを備えており、ユーザによる操作／入力／指示を受け付ける。プリンタＩ／Ｆ２１６は、プリンタ部２３０と制御部２１０とを接続するインタフェースである。印刷用の画像データはプリンタＩ／Ｆ２１６を介して制御部２１０からプリンタ部２３０へ転送され、紙等の記録媒体上に印刷される。スキャナＩ／Ｆ２１７は、スキャナ部２４０と制御部２１０とを接続するインタフェースである。スキャナ部２４０は、不図示の原稿台やＡＤＦ（Auto Document Feeder）にセットされた原稿をスキャンして得られた画像を、スキャナＩ／Ｆ２１７を介して制御部２１０に入力する。スキャナ部２４０で生成されたスキャン画像或いは上述のクロップ画像は、プリンタ部２３０で印刷したり（コピー出力）、ＨＤＤ２１４に保存したり、ＬＡＮを介して外部装置に送信したりすることができる。ネットワークＩ／Ｆ２１８は、制御部２１０（ＭＦＰ１１０）をＬＡＮに接続するインタフェースである。ＭＦＰ２１０は、ネットワークＩ／Ｆ２１８を用いて、ＰＣ１２０、携帯端末１３０及びストレージサーバ１４０に画像データを送信したり、各種情報を受信したりする。以上説明したＭＦＰ１１０のハードウェア構成は一例であり、必要に応じてその他の構成を備えるものであってもよいし、一部の構成を有していなくてもよい。
【００１６】
＜クロップ画像の生成・保存＞
次に、画像処理システム１００において、ユーザが、ＭＦＰ１１０のマルチクロップ機能を利用して得たクロップ画像をストレージサーバ１４０に送信して保存するというユースケースを例に、その一連の流れを図３のシーケンス図を参照しつつ説明する。なお、以下の説明において記号「Ｓ」はステップを表す。
【００１７】
まず、ユーザが、ＭＦＰ１１０の操作部２２０を介して、「スキャンして送信」機能を選択する（Ｓ３００）。「スキャンして送信」機能とは、スキャナ部２４０で原稿をスキャンして得た画像のデータを、所定の画像処理やフォーマット変換を行った上で外部装置に送信する機能のことである。図４（ａ）は、操作部２２０の外観を示す図であり、左側にはＵＩ画面の表示を行なうタッチパネル４００、右側にはテンキーやスタートなどのボタンで構成されるハードキー４１０が存在している。いま、タッチパネル４００には、メインメニュー画面が表示されており、この状態で、ユーザは「スキャンして送信」ボタン４０１をタップ操作する。
【００１８】
上記タップ操作に応答して、ＭＦＰ１００は、「スキャンして送信」機能を実行するための各種設定を行うためのＵＩ画面を、タッチパネル４００に表示する（Ｓ３０１）。図４（ｂ）は、タッチパネル４００上に「スキャンして送信」の基本設定用のＵＩ画面が表示された状態を示している。図４（ｂ）に示すＵＩ画面には、送信先設定欄４０２とスキャン／送信設定欄４０３が存在する。送信先設定欄４０２には、スキャン画像の送信先となる外部装置（ここでは、ストレージサーバ１４０）のＩＰアドレス等が表示される。スキャン／送信設定欄４０３には、スキャン時のカラーモードの選択や画像フォーマットの選択、原稿の種類の選択などを行うボタンの他、マルチクロップを含む特殊用途の設定を行うための「その他の機能」ボタン４０４が存在する。ユーザが「その他の機能」ボタン４０４をタップ操作して選択すると、図４（ｃ）に示す特殊用途設定用のＵＩ画面に遷移する。図４（ｃ）に示すＵＩ画面において、特殊用途に対応する複数のボタンの中に「マルチクロップ」ボタン４０５が存在している。この「マルチクロップ」ボタン４０５が選択されると、図４（ｄ）に示すマルチクロップの詳細設定用のＵＩ画面がタッチパネル４００上に表示される。ユーザは、これらのＵＩ画面を用いて、「スキャンして送信」機能を実行する際の様々な動作条件の設定指示を行う（Ｓ３０２）。本実施形態においては、この際の設定指示の中にマルチクロップの選択が含まれることになる。
【００１９】
マルチクロップの選択を含む動作条件の設定指示を受けて、ＭＦＰ１１０は、「スキャンして送信」機能の実行に際して必要な動作条件をＲＡＭ１１８に設定値として記憶する（Ｓ３０３）。そして、ユーザが、ハードキー４１０内のスタートボタンを押下してスキャンの実行を指示すると（Ｓ３０４）、当該指示に応答してＭＦＰ１１０は、マルチクロップ機能によるスキャン処理の実行を開始する（Ｓ３０５）。そして、マルチクロップ機能によるスキャン処理が完了すると、ＭＦＰ１１０は、その結果をタッチパネル４００に表示する（Ｓ３０６）。マルチクロップによって得られた原稿単位の画像（クロップ画像）を確認したユーザは、スタートボタンを再び押下するなどの操作を行って、各クロップ画像のデータを所定の送信先（ここではストレージサーバ１４０）に送信する指示を行う（Ｓ３０７）。ＭＦＰ１１０は、ユーザの送信指示を受けて、クロップ画像のデータをストレージサーバ１４０に送信する（Ｓ３０８）。そして、ストレージサーバ１４０は、ＭＦＰ１１０から受け取ったクロップ画像のデータを保存する（Ｓ３０９）。この際、例えば、各クロップ画像に対してＯＣＲ処理を行って、得られた文字認識結果を付加情報として各クロップ画像と紐付けて保存してもよい。これによりユーザは、任意の文字列を用いて所望の原稿に対応する画像を検索したりすることができる。こうしてストレージサーバ１４０に保存された画像データは、ユーザからの閲覧指示に応じて、ＰＣ１２０や携帯端末１３０等に出力される。
【００２０】
以上が、ＭＦＰ１１０において、マルチクロップ機能を利用して得たクロップ画像をストレージサーバ１４０に送信して保存するまでの一連の流れである。
【００２１】
＜本実施形態におけるマルチクロップの考え方＞
本実施形態では、マルチクロップ機能がオンに設定されている場合、原稿エッジ検出用のスキャン画像を、送信・保存用のスキャン画像よりも暗い画像となるように輝度ゲインを調整する。その理由について説明する。
【００２２】
通常スキャン（＝マルチクロップ機能がオフに設定）で取得されるスキャン画像においては、原稿台カバーの白板や原稿の紙白部といった白い被写体は、輝度ゲイン調整によってその信号値がすべて同じ値になってしまう。ここで、輝度ゲイン調整とは、スキャン画像の輝度成分を表す信号値（輝度値）を、白色基準値を基に正規化して、画像の明るさを調整する処理である。図５（ａ）は、通常スキャン時における、輝度ゲイン調整を説明する図である。図５（ａ）において、左側が正規化前の輝度値、右側が正規化後の輝度値を表している。いま、ＭＦＰ１１０に設けられた白色基準板をスキャンしたときの輝度値が“２５５”、原稿の紙白部をスキャンしたときの輝度値が“２６０”、原稿の最も明るい箇所をスキャンしたときの最高輝度値が“２６５”であったとする。このとき、ゲイン調整パラメータ（白色基準値のターゲットとなるゲイン）は“２５５”に設定される。この場合、白色基準値よりも高輝度の信号値はすべて“２５５”となる。つまり、ゲイン調整の結果、“２５５”以上の輝度値を有するハイライト箇所は全て、その輝度値が“２５５”に変換される。そのため、白色基準板をスキャンした箇所、原稿の紙白部の箇所、原稿の最も明るい箇所は、いずれも輝度値＝２５５となる。その結果、原稿台カバーの白板と原稿の紙白部との境界が分からなくなる（原稿のエッジが検出できなくなる）。そこで本実施形態では、原稿端部を検出する際には、通常スキャンのときよりも上述のゲイン調整パラメータを高い値に設定して、ハイライト箇所の信号値が潰れずに残るようにした全体的に暗い画像を用いることとする。これにより、原稿台カバーの白板と原稿の紙白部との境界がはっきりし、原稿の端部が抽出しやすくなって、各原稿に対応する画像領域を適切に切り出すことが可能になる。
【００２３】
＜マルチクロップ機能使用時のスキャン処理＞
続いて、本実施形態に係る、マルチクロップ機能によるスキャン処理（Ｓ３０５）について説明する。本実施形態の場合、スキャン処理をライン単位で行い、そのスキャン結果に対して輝度ゲイン調整を含む画像処理が、原稿エッジ検出用と保存／送信用とで別々に実行される。つまり、ライン単位のスキャン処理とそのスキャン結果に対する輝度ゲイン調整を含む画像処理が、全体に暗い画像を得るためと、通常の明るさの画像を得るための２回別々に実行される。原稿エッジ検出用の暗い画像を取得するためのスキャンのことを、以後「暗読みスキャン」と呼ぶこととする。図５（ｂ）は、暗読みスキャン時の輝度ゲイン調整を説明する図である。この例では、ゲイン調整パラメータを、通常スキャン時の“２５５”に１０をプラスした“２６５”に設定している。これにより、白色基準板と原稿の最も明るい箇所の輝度値“２６５”は共に“２５５”に、原稿の紙白部の輝度値“２６０”は“２５０．２”にそれぞれ変換され、エッジ検出にとって有意な差分がハイライト領域において得られることが分かる。
【００２４】
図６は、本実施形態に係るマルチクロップによるスキャン処理の流れを示すフローチャートである。本フローは、ＣＰＵ２１１がＲＯＭ２１２或いはＨＤＤ２１４に記憶されたプログラムをＲＡＭ２１３に展開してこれを実行することによって実現されるものとする。
【００２５】
Ｓ６０１では、１回目のスキャンである暗読みスキャン用のゲイン調整パラメータが設定される。具体的には、暗読みスキャン用に予め決められた値（上述の例では“２６５”）がＨＤＤ１１９等から読み出され、暗読みスキャン時のゲイン調整パラメータとして、ＲＡＭ２１３に設定される。
【００２６】
Ｓ６０２では、スキャナ部２４０にて、原稿台に載置された１枚以上の原稿を読み取る暗読みスキャンがライン単位で実行される。この場合において、スキャン対象のラインを「注目ライン」と呼ぶこととする。図７は、原稿台に複数の原稿が載置されている状態を示す図である。いま、原稿台のガラス面上には、定形（Ａ４）の納品書が１枚と非定形の領収書が２枚の計３枚の原稿が載置されている。この状態で暗読みスキャンがライン単位で実行される。
【００２７】
Ｓ６０３では、Ｓ６０２の暗読みスキャンで取得した１ライン分の画像に対して、前述の輝度ゲイン調整を含む所定の画像処理が実行される。輝度ゲイン調整以外の画像処理としては、ビットマップ形式の画像への変換、変換後の画像に対するシェーディング補正などが含まれる。そして、輝度ゲイン調整は、シェーディング補正を行った画像に対して実行される。輝度ゲイン調整では、まず、Ｓ６０１で設定されたゲイン調整パラメータを用いて、１ライン分のスキャン画像の各画素の輝度値ｄが修正される。いま、８ビットで表される修正後の輝度値ｄ’は、例えば以下の式（１）で求められる。
【００２８】
【数１】
2019205110.tif 000003
【００２９】
上記式（１）において、修正前の輝度値ｄは、スキャン画像における各画素のＲＧＢ値から以下の式（２）によって求められる。
ｄ＝0.299×Ｒ値＋0.587×Ｇ値＋0.114×Ｂ値        ・・・式（２）
【００３０】
そして、上記のようにして求めた修正後の輝度値に対しては、必要に応じて所定の輝度値と入れ替える処理を行って、所定のレンジ内に収まるように変換される。具体的には、修正後の輝度値が“０”以下の場合には“０”に、修正後の輝度値が“２５５”以上の場合には“２５５”に変換される。こうして得られた値が、ゲイン調整後の輝度値となる。このようにして、高輝度側の信号値が維持された、標準状態よりも暗い１ライン分のスキャン画像が取得される。さらに、輝度ゲイン調整後の画像に対し、カラーバランスの調整、下地除去、シャープネス、コントラストの調整等の画質調整処理が必要に応じて行われる。
【００３１】
Ｓ６０４では、全ラインの暗読みスキャンが完了したかどうかが判定される。未処理のラインがあればＳ６０２に戻って次の注目ラインに対する処理が続行される。一方、全ラインの暗読みスキャンが完了していれば、Ｓ６０５に進む。図８は、図７で示す３枚の原稿についての、暗読みスキャン用の輝度ゲイン調整を行って得られた結果を示している。図９は、その比較として、通常スキャン用の輝度ゲイン調整を行って得られた結果を示している。図８の処理結果では、図９の処理結果と比べ、全体的に暗い画像となっており、各原稿の画像領域と背景とのコントラストが明確になっているのが分かる。こうして得られた輝度ゲイン調整後のスキャン画像のデータは、ＲＡＭ２１３或いはＨＤＤ２１４に一時的に格納される。
【００３２】
Ｓ６０５では、クロップ座標を検出する処理が実行される。ここで、クロップ座標とは、スキャン画像内に存在する各原稿に対応する画像領域の４つの頂点座標であり、原稿の位置情報としての役割を果たす。クロップ座標検出処理の詳細については後述する。
【００３３】
Ｓ６０６では、２回目のスキャンである保存／送信用のスキャンのためのゲイン調整パラメータが設定される。具体的には、通常スキャン用に予め決められた値（上述の例では“２５５”）がＨＤＤ２１４等からが読み出され、ゲイン調整パラメータとしてＲＡＭ２１３に設定される。そして、Ｓ６０７では、スキャナ部２４０にて、原稿台に載置された１枚以上の原稿を読み取る通常スキャンがライン単位で実行される。つまり、暗読みスキャンを行った状態のままで２回目のスキャンが実行される。そして、Ｓ６０８では、Ｓ６０３と同様の輝度ゲイン調整を含む所定の画像処理が、通常スキャンで取得した１ライン分のスキャン画像に対して実行される。
【００３４】
Ｓ６０９では、全ラインの通常スキャンが完了したかどうかが判定される。未処理のラインがあればＳ６０７に戻って次の注目ラインに対する処理が続行される。一方、全ラインの通常スキャンが完了していれば、Ｓ６１０に進む。得られた輝度ゲイン調整後のスキャン画像のデータは、ＲＡＭ２１３或いはＨＤＤ２１４に一時的に格納される。
【００３５】
Ｓ６１０では、通常スキャン用の輝度ゲイン調整が施されたスキャン画像から、原稿台に載置された各原稿に対応する画像領域を切り出す処理（画像クロッピング処理）が実行される。この際、Ｓ６０５で検出されたクロップ座標（各原稿の４頂点座標）に従って、各原稿に対応する画像領域が切り出される。クロッピング処理の詳細は後述する。
【００３６】
以上が、本実施形態に係る、マルチクロップによるスキャン処理の内容である。そして、保存／送信用のスキャン画像から切り出された各原稿のクロップ画像のデータは、ＲＡＭ２１３或いはＨＤＤ２１４に適宜圧縮処理などを施して格納され、その後のユーザ指示に基づいて、ストレージサーバ１４０等に送信されることになる。
【００３７】
＜クロップ座標検出処理＞
次に、クロップ座標検出処理（Ｓ６０５）について詳しく説明する。図１０は、クロップ座標検出処理の詳細を示すフローチャートである。以下、図１０のフローに沿って説明する。
【００３８】
Ｓ１００１では、処理対象画像として、暗読みスキャンで取得され（Ｓ６０２）その後に輝度ゲイン調整が施された（Ｓ６０３）、全体的に暗いスキャン画像のデータが、ＲＡＭ２１３或いはＨＤＤ２１４から読み出して取得される。このとき、ＪＰＥＧ形式等に圧縮されている場合は元の画像サイズに展開されて取得される。ここでは、前述の図８に示すスキャン画像が取得されたものとして説明を進める。
【００３９】
Ｓ１００２では、Ｓ１００１で取得したスキャン画像に対し、Ｓ１００３以降の各処理に適した画像に変換する前処理が実行される。前処理の中身としては、例えば、ＲＧＢの３チャンネルで構成されている画像をグレーの１チャンネルの画像に変換してチャンネル数を減らすグレー化変換処理や、６００ｄｐｉの画像を１５０ｄｐｉの画像に解像度を下げる低解像度化処理が挙げられる。この前処理によって、画像データサイズを小さくして後続の各ステップの処理負荷が減り、処理の高速化が実現できる。なお、この前処理は処理負荷を軽減させることが目的の処理なので、画像処理リソースに十分な余裕があれば省略してもよい。
【００４０】
Ｓ１００３では、前処理が施されたスキャン画像からエッジ成分が抽出される。このエッジ成分の抽出には公知の手法、例えば、画像の輝度の勾配を見積もるＳｏｂｅｌ法、Ｐｒｅｗｉｔｔ法、Ｒｏｂｅｒｔｓ  ｃｒｏｓｓ法、その連続性を考慮したＣａｎｎｙ法などを適用すればよい。さらに、複数の手法を用いて得られた結果を論理積演算（ＡＮＤ演算）してもよい。こうしたエッジ抽出処理で得られた結果（以下、「エッジ画像」と呼ぶ）は、ＲＡＭ２１３に保持される。
【００４１】
Ｓ１００４では、エッジ画像に対し、孤立点を取り除く処理（孤立点除去処理）が実行される。エッジ画像には原稿台上のごみや傷に相当するエッジ成分も含まれ得るところ、この孤立点除去処理によって、原稿の端部以外のエッジ成分である孤立点（所定の大きさよりも小さな黒画素の塊）が除去される。
【００４２】
Ｓ１００５では、孤立点が除去されたエッジ画像に対して、直線連結処理が実行される。直線連結処理は、孤立点除去後のエッジ画像においてエッジを構成する画素（エッジ画素）が途切れてしまっている部分を補って繋げる処理である。たとえば、輝度の勾配が不均一な画像においてエッジ抽出処理を行った場合、抽出されたエッジの線が途切れてしまうことがある。そこで、ハフ変換等の公知の手法により途切れてしまったエッジの線分を連結する。これにより、各原稿の端部が途切れのない線分で表されたエッジ画像が得られる。図１１（ａ）は、直線連結処理を施した後のエッジ画像を示している。
【００４３】
Ｓ１００６では、直線連結処理が施されたエッジ画像に対し、輪郭を検出する処理が実行される。この輪郭検出処理によって、エッジ画像に含まれるエッジ画素を連結した輪郭線の変曲点の座標が求められる。
【００４４】
Ｓ１００７では、輪郭検出処理により取得された変曲点の座標を用いて、エッジ画像から矩形を検出する処理が実行される。具体的には４つ以上の変曲点で囲まれる領域の外接矩形を検出して、輪郭線によって囲まれている矩形オブジェクトが抽出される。
【００４５】
Ｓ１００８では、矩形検出処理で検出された各矩形に対し、その内側に内包される矩形の有無を判定する処理（内包判定処理）が実行される。具体的には、検出された矩形の中から注目する矩形を選択し、当該注目する矩形の内側に内包される別の矩形があるか否かが判定される。そして、最も外側にある矩形が、原稿の端部に対応する有効な矩形であると特定される。この内包判定処理によって、各原稿の紙片を表す有効な矩形と、原稿内にある図表などを表す無効な矩形とに選り分けられる。
【００４６】
Ｓ１００９では、内包判定処理によって有効矩形と特定された矩形の４頂点の座標がクロップ座標として出力される。この際、上述の前処理（Ｓ１００２）において画像サイズの縮小処理を行っていた場合には、元の画像サイズにおける座標値に変換する処理が併せて実行される。図１１（ｂ）は、図１１（ａ）に示すエッジ画像から検出された、各原稿の４頂点座標を示している。各原稿に対応する画像領域は、スキャン画像の左上を原点（ｘ，ｙ）＝（０，０）とする４頂点座標で特定され、それぞれ幅Ｘピクセル、高さＹピクセルの面積を有する。図１１（ｂ）の例では、納品書に対応する原稿Ａ、領収書に対応する原稿Ｂ及び原稿Ｃのそれぞれについて、４頂点座標（｛ｘi，ｙi｝〜｛ｘi，ｙi｝、ｉ＝１〜４）が得られることになる。出力された４頂点座標（クロップ座標）のデータは、ＲＡＭ２１３或いはＨＤＤ２１４に格納される。
【００４７】
以上が、クロップ座標検出処理の内容である。なお、ここでは、クロップ座標検出処理の中でグレー化変換や低解像度化の処理を行っているが、これに限定されない。例えば、暗読みスキャンにおいて、最初から１チャンネルや低解像度のスキャン画像が得られるようにスキャン条件を変更してもよい。これにより、前述の前処理（Ｓ１００２）が不要となり、またスキャン速度の高速化や、マルチクロップ座標検出処理における画像データの展開の高速化、使用するメモリ量の低減などの付随的な効果を得ることができる。さらに、ここでは原稿の形状が矩形であることを前提に説明を行ったが、矩形以外の形状を有する原稿も考えられる。このような場合は、当該原稿の最小外接矩形を求め、その４頂点座標をクロップ座標として検出すればよい。この際、最小外接矩形内には原稿以外の背景部分が含まれることになるが、切り出されたクロップ画像における当該背景部分については紙白部と同じ色にするなどすればよい。
【００４８】
＜クロッピング処理＞
次に、「スキャンして送信」機能を実行時のクロッピング処理（Ｓ６１０）について詳しく説明する。図１２は、クロッピング処理の詳細を示すフローチャートである。以下、図１２のフローに沿って説明する。
【００４９】
Ｓ１２０１では、処理対象画像として、通常スキャンで取得され輝度ゲイン調整が施されたスキャン画像のデータが、ＲＡＭ２１３或いはＨＤＤ２１４から読み出して取得される。このとき、ＪＰＥＧ形式等に圧縮されている場合は元の画像サイズに展開されて取得される。ここでは、前述の図９に示すスキャン画像が取得されたものとして説明を進める。
【００５０】
Ｓ１２０２では、前述のクロップ座標検出処理（Ｓ６０５）で検出された、有効矩形の４頂点座標のデータが、ＲＡＭ２１３或いはＨＤＤ２１４から読み出して取得される。
【００５１】
Ｓ１２０３では、Ｓ１２０２で取得した４頂点座標に基づいて、Ｓ１２０１で取得したスキャン画像から、各原稿に対応する画像領域が切り出される。スキャン画像から各原稿の画像領域を切り出す方法は特に限定されず、公知の手法を用いればよい。例えば、４頂点座標で特定される矩形が傾斜していない場合は、４つの頂点座標を結んで得られる画像領域をスキャン画像からそのまま切り出す。また、４頂点座標で特定される矩形が傾斜している場合は、アフィン変換により回転を考慮した画像領域を切り出せばよい。さらに、４頂点座標で特定される矩形に歪みがある場合は、台形補正や歪み補正を考慮したホモグラフィ行列を用いた射影変換により切り出しを行ってもよい。
【００５２】
Ｓ１２０４では、原稿台に載置された１枚以上の原稿についての原稿単位の画像（クロップ画像）が出力される。具体的には、まず、Ｓ１２０３で切り出された各原稿の画像領域がタッチパネル４００上に表示される。図１３は、図９のスキャン画像から切り出された結果がタッチパネル４００上に表示されている様子を示している。これによりユーザは、原稿台に載置した３枚の原稿に対応する各画像が得られたことを把握する。そして、ユーザが、ハードキー４１０内の「スタート」ボタンを押下すると、送信先設定欄４０２で指定されたＩＰアドレス等に、各原稿に対応する画像のデータが送信される。
【００５３】
以上が、「スキャンして送信」機能を実行時のクロッピング処理の内容である。なお、「スキャンして送信」機能を実行した場合を例に説明を行ったが、その適用範囲はこれに限定されない。例えば、マルチクロップに特化した処理でもよいし、スキャンした画像をＨＤＤ２１４に保存する「スキャンして保存」機能等、スキャン処理を利用する機能であれば広く適用可能である。
【００５４】
また、ＭＦＰ１１０でスキャンを行って得られたスキャン画像のデータをＰＣ１２０等に送信し、ＰＣ１２０等でクロップ座標検出処理やクロッピング処理を実施するような態様であってもよい。
【００５５】
＜変形例＞
上述の例では、ライン単位で取得したスキャン画像に対し輝度ゲイン調整を含む画像処理を順次行って、原稿エッジ検出用と保存／送信用の２種類のスキャン画像を取得するようにしていたがこれに限定されない。例えば、全ライン分のスキャンをまとめて行い、得られた全ライン分のスキャン結果に対して、異なるゲイン調整パラメータを用いた輝度ゲイン調整処理を別々に行なって、原稿エッジ検出用と保存／送信用の２種類のスキャン画像を取得するようにしてもよい。
【００５６】
また、輝度ゲイン調整に用いるパラメータを変化させるのに代えて、原稿エッジ検出用のスキャン時に光源の明るさを低減させることで、原稿端部の検出に適した全体的に暗い画像を、保存等に適した画像とは別に生成するようにしてもよい。このような手法によっても、高輝度側の信号値が維持された原稿エッジ検出用の画像を取得することができる。具体的には、１回目のスキャンでは光源からの発光量を低減させてスキャンを行ってエッジ検出用の画像を生成し、当該生成された画像からクロップ座標を検出する。この際の低減させる程度は例えば３〜５％であり、光源自体の明るさや走査速度に応じて最適な低減率を決めればよい。そして、２回目のスキャンでは光源の発光量を通常の明るさに戻して保存／送信用の画像を生成し、当該生成された画像からクロップ画像を抽出する。この方法によっても、同様の効果を得ることができる。
【００５７】
以上のとおり本実施形態によれば、マルチクロップ機能において、原稿の端部を検出しやすい全体的に暗い画像と、保存等に適した全体的に明るい画像とを別々に生成する。そして、全体的に暗い画像から検出された精度の高いエッジ情報を用いて、各原稿に対応する画像領域を保存等に適した画質の画像から切り出す。これにより、マルチクロップ機能の利用時に、原稿を載置した後に黒シートで原稿台を覆う煩わしさや、原稿台カバーを開けたままスキャンすることによる眩しさなどの不快感をユーザに与えることなく、高画質のクロップ画像を得ることができる。
【００５８】
（実施形態２）
原稿エッジ検出用の画像と保存／送信用の画像とを別々のスキャン処理で取得する場合、１回目のスキャンで得られた画像と２回目のスキャンで得られた画像との間で位置ずれが起こる可能性がある。そこで、両画像間の位置ずれを補正する態様を実施形態２として説明する。なお、以下では、実施形態１の図６のフローを前提とし、共通する内容については説明を省略し、差異点である位置ずれ補正について説明を行うものとする。
【００５９】
本実施形態では、クロッピング処理（Ｓ６１０）に先立って、その対象となる２回目のスキャン画像を基準として、クロップ座標検出処理（Ｓ６０５）の対象となる１回目のスキャン画像との間のずれの有無・程度を判定する処理が実行される。そして、判定結果を基に、クロップ座標検出処理で検出した各原稿の４頂点座標を補正し、補正後の４頂点座標を用いて、クロッピング処理を行う。
【００６０】
まず、位置ずれ判定では、例えば、１回目のスキャンで取得した画像と、２回目のスキャンで取得した画像との間の水平方向の位置ずれ量を推定する処理が実行される。この際、平行移動だけを考慮した推定でもよいし、さらに回転を考慮した推定を行ってもよい。基準となる画像からのずれ量を推定する手法の１つに、画像内の画素をシフトさせながらそれぞれ類似度を算出し、最も類似度が高くなる場合のシフト量から位置ずれ量を推定する手法がある。さらにこの手法においても様々な種類がある。例えばＳＳＤ（Sum of Squared  Difference）法は、同じ位置の画素の輝度値の差の２乗の合計を用いる。以下の式（３）を用いて得られた値が小さいほど類似度が高いことを意味する。
【００６１】
【数２】
2019205110.tif 000004
【００６２】
上記式（３）において、Ｍ（ｉ，ｊ）は基準となる画像の輝度値を示し、Ｓ（ｉ，ｊ）はずれ量を推定する画像の輝度値を示す。また、（ｉ，ｊ）は、画像のＸ軸（横）方向をｍ画素、Ｙ軸（縦）方向をｎ画素としたときの画素位置（座標）を示す。
【００６３】
この他にも、同じ位置の画素の輝度値の差の絶対値の合計を用いるＳＡＤ（Sum of Absolute Difference）法やＮＣＣ（Normalized Cross-Correlation）法がある。
【００６４】
ＳＡＤ法では、以下の式（４）を用い、得られた値が小さいほど類似度が高いことを意味する。
【００６５】
【数３】
2019205110.tif 000005
【００６６】
ＮＣＣ法では、以下の式（５）を用い、得られた値が１に近いほど類似度が高いことを意味する。
【００６７】
【数４】
2019205110.tif 000006
【００６８】
そして、上記のようにして得られた画素単位のずれ量に基づいて、クロップ座標検出処理で検出した各原稿の４頂点座標を、位置ずれが解消するように補正する。これによって、別々のスキャンで得られた２枚の画像間で位置ずれが生じていた場合でも、正確にクロップ画像を切り出すことができる。
【００６９】
（その他の実施例）  
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2019205110.tif 000007
【図２】
2019205110.tif 000008
【図３】
2019205110.tif 000009
【図４】
2019205110.tif 000010
【図５】
2019205110.tif 000011
【図６】
2019205110.tif 000012
【図７】
2019205110.tif 000013
【図８】
2019205110.tif 000014
【図９】
2019205110.tif 000015
【図１０】
2019205110.tif 000016
【図１１】
2019205110.tif 000017
【図１２】
2019205110.tif 000018
【図１３】
2019205110.tif 000019