(57)【要約】【課題】読取画像において原稿に対応する原稿領域の候補を適切に決定する画像処理装置を提供する。【解決手段】１または複数の原稿を読取装置が読み取ることで得られた、当該１または複数の原稿のそれぞれに対応する原稿領域を含む読取画像を取得し、取得された読取画像のうちの所定の輝度値より小さい輝度値に対応する画素群に基づいて、読取画像において、原稿の内容に対応するオブジェクトを特定する。複数のオブジェクトが特定された場合、複数のオブジェクトが１つの原稿領域に含まれるかを判定することにより、１または複数の原稿領域それぞれに対応する候補領域を決定する。【選択図】図４
2015173418.tif 000002
【特許請求の範囲】
【請求項１】
１または複数の原稿を読取装置が読み取ることで得られた、当該１または複数の原稿のそれぞれに対応する原稿領域を含む読取画像を取得する取得手段と、
前記取得手段により取得された読取画像のうちの所定の輝度値より小さい輝度値に対応する画素群に基づいて、当該読取画像において、前記原稿の内容に対応するオブジェクトを特定する特定手段と、
前記特定手段により複数のオブジェクトが特定された場合に、当該複数のオブジェクトが１つの原稿領域に含まれるかを判定することにより、前記１または複数の原稿領域それぞれに対応する候補領域を決定する決定手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記所定の輝度値より小さい輝度値に対応する画素群に対してラベリング処理を行うラベリング手段、をさらに備え、
前記決定手段は、前記ラベリング手段によりラベリング処理が行われた画素群に基づいて、前記１または複数の候補領域を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記決定手段は、前記複数のオブジェクトそれぞれの前記読取画像に対する傾きの差分が所定の範囲である場合、当該複数のオブジェクトが１つの原稿領域に含まれると判定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記決定手段は、前記複数のオブジェクトの前記読取画像における距離が所定の範囲である場合、当該複数のオブジェクトが１つの原稿領域に含まれると判定することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記特定手段は、前記読取画像の画素に対応する輝度値または濃度値に基づいて、前記オブジェクトを特定することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記読取画像から、前記決定手段により決定された１または複数の候補領域の切出処理を行う切出手段、をさらに備えることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記切出手段により切り出された前記１または複数の候補領域の画像を表示装置に表示させる表示制御手段をさらに備えることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記切出手段により切り出された前記１または複数の候補領域の画像を印刷装置に印刷させる印刷制御手段をさらに備えることを特徴とする請求項６に記載の画像処理装置。
【請求項９】
前記読取装置を、原稿を読み取るための読取部としてさらに備えることを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
１または複数の原稿を読取装置が読み取ることで得られた、当該１または複数の原稿のそれぞれに対応する原稿領域を含む読取画像を取得する取得工程と、
前記取得工程において取得された読取画像のうちの所定の輝度値より小さい輝度値に対応する画素群に基づいて、当該読取画像において、前記原稿の内容に対応するオブジェクトを特定する特定工程と、
前記特定工程において複数のオブジェクトが特定された場合に、当該複数のオブジェクトが１つの原稿領域に含まれるか判定することにより、前記１または複数の原稿領域それぞれに対応する候補領域を決定する決定工程と、
を有することを特徴とする画像処理方法。
【請求項１１】
請求項１乃至９のいずれか１項に記載の画像処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿が読み取られることで得られた読取画像において当該原稿に対応する原稿領域の候補を決定する画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、画像読取装置に置載された原稿に対応する原稿領域を検出する方法として、読み取った原稿を二値化し、ラベリングや射影により分割して切り出す方法が行われていた。特許文献１には、読取画像において原稿のエッジを検出することで、上記原稿領域を検出することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−０３５１６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の原稿切り出し方法では、原稿と原稿を押さえる圧着シートとのコントラスト差を検出するので、一定のコントラスト差が得られなければ原稿領域を特定できない場合がある。例えば、レシート用紙などの薄く白い紙に印刷された原稿では、原稿と圧着シートとの境界が不明確なことがあるので原稿領域を特定できない場合がある。
【０００５】
本発明の目的は、このような従来の問題点を解決することにある。上記の点に鑑み、本発明は、読取画像において原稿に対応する原稿領域の候補を適切に決定する画像処理装置、画像処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係る画像処理装置は、１または複数の原稿を読取装置が読み取ることで得られた、当該１または複数の原稿のそれぞれに対応する原稿領域を含む読取画像を取得する取得手段と、前記取得手段により取得された読取画像のうちの所定の輝度値より小さい輝度値に対応する画素群に基づいて、当該読取画像において、前記原稿の内容に対応するオブジェクトを特定する特定手段と、前記特定手段により複数のオブジェクトが特定された場合に、当該複数のオブジェクトが１つの原稿領域に含まれるかを判定することにより、前記１または複数の原稿領域それぞれに対応する候補領域を決定する決定手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によると、読取画像において原稿に対応する原稿領域の候補を適切に決定することができる。
【図面の簡単な説明】
【０００８】
【図１】システム構成を示す図である。
【図２】ホストＰＣの概略構成を示す図である。
【図３】画像読取の処理の手順を示すフローチャートである。
【図４】Ｓ３０８の処理の手順を示すフローチャートである。
【図５】ラベルの統合化を説明するための図である。
【図６】ラベルの角度の決定を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本発明の好適な実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１０】
図１は、本実施形態におけるシステム構成を示す図である。本システムは、画像読取装置１００とホストＰＣ１５０とを含む。画像読取装置１００は、原稿台に置かれた原稿用紙である原稿１０１を光学的に読み取って画像データを生成する。光源ランプ１１１は、光源点灯回路１１０からの信号により、不図示の原稿台上の原稿１０１に対して読取用の光を照射する。照射された光は原稿１０１で反射し、その反射光は、結像レンズ１０２を介して、固体撮像素子１０３上に結像される。固体撮像素子１０３は、ＣＣＤセンサ等のラインイメージセンサ（ラインセンサ）である。以下、固体撮像素子１０３をＣＣＤ１０３ともいう。画像読取装置１００の原稿台上には、原稿の読取領域を覆うようにカバー（蓋部）が設けられており、そのカバーは、読取領域と対面となる位置に白色領域が設けられている。光源からの光は、原稿１０１、および原稿１０１の背景となる白色領域に反射し、ラインイメージセンサにより受光される。
【００１１】
また、画像読取装置１００の原稿台上の読取領域の上方に、原稿給紙装置が搭載されていても良い。その場合には、ラインイメージセンサが搭載されたキャリッジを所定の読取位置に固定的に位置させ、その上方を複数枚の原稿を通過させつつ原稿画像を読み取ることができる。キャリッジの固定位置に対応する読取位置の上方には、白色基準を得るための白色基準板若しくは白色ローラがラインイメージセンサのライン方向に設けられている。
【００１２】
増幅器１０４は、ＣＣＤ１０３から出力された読取画像に対応するアナログ信号を増幅して後段に出力する。Ａ／Ｄ変換器１０５は、増幅器１０４から出力されたアナログ信号をデジタル信号に変換する。画像処理回路１０６は、Ａ／Ｄ変換器１０５から出力されたデジタル信号の画像データに対して各種画像処理を行う。画像処理回路１０６は、例えば、オフセット補正、シェーディング補正、デジタルゲイン調整、カラーバランス調整、カラーマスキング変換、主走査方向及び副走査方向の解像度変換を行う。また、後述する、基準となる輝度値に対する二値化処理や、ラベリング処理、ラベル統合処理、切出処理等も画像処理回路１０６で行われる。
【００１３】
バッファメモリ１０７は、例えばＲＡＭであり、画像処理回路１０６の画像処理後の画像データを一時的に記憶する。圧縮回路１２０は、バッファメモリ１０７に記憶された画像データを圧縮する。バッファメモリ１２１も、例えばＲＡＭであり、圧縮回路１２０の圧縮後の画像データを一時的に記憶する。バッファメモリ１２１は、画像読取装置１００からホストＰＣ１５０への転送を待機するためのメモリとして用いられる。インタフェース回路１０８は、ホストＰＣ１５０との間で各種コマンドやデータ等を送受信する。インタフェース回路１０８として、ＳＣＳＩ、パラレル、ＵＳＢ、ＩＥＥＥ１３９４、ＬＡＮ、無線ＬＡＮ等が用いられる。
【００１４】
作業用メモリ１１４は、画像処理回路１０６が画像処理を行う際の一時的なワーキングメモリである。例えば、作業用メモリ１１４は、ラインイメージセンサ１０３上に所定のオフセットで平行に配置されて配置されているＲＧＢ用の各ラインセンサからの画像信号に生じるＲＧＢライン間オフセットを補正するために用いられる。さらに、作業用メモリ１１４は、シェーディング補正等において各種データを一時的に記憶するためにも用いられる。ガンマＲＡＭ１１５は、濃度ガンマ変換ルックアップテーブル（ＬＵＴ）を記憶しており、ガンマ補正のために用いられる。
【００１５】
コントローラ１０９は、ＣＰＵやＭＰＵ等を含み、ホストＰＣ１５０から送信された命令コマンドに従って、図１の各部を含む画像読取装置１００全体を統括的に制御する。操作パネル１１６は、ディスプレイやハードキー等であり、例えば、ユーザは、ディスプレイ上に表示された設定画面により、各種読取設定を設定することができる。操作パネル１１６が受け付けたユーザからの操作情報（ボタン押下等）は、コントローラ１０９に出力される。また、その操作情報は、インタフェース回路１０８を介して、ホストＰＣ１５０に送信されることもできる。
【００１６】
モータ駆動回路１１２は、光源ランプ１１１、ＣＣＤ１０３、結像レンズ１０２等が搭載された読取用のキャリッジ（不図示）を駆動させるモータ１１３を制御する。モータ１１３は例えばステッピングモータであり、モータ駆動回路１１２は、コントローラ１０９からの制御信号によりモータ１１３に励磁信号を出力する。キャリッジは、ベルトやガイドシャフト等の駆動機構に設けられており、原稿台に対して相対的に移動することができる。また、画像読取装置１００は、上述のように、キャリッジを所定の読取位置に固定的に位置させ、その上方を複数枚の原稿を通過させつつ原稿画像を読み取ることもできる。
【００１７】
画像読取装置１００は、ＲＧＢの３色を読み取るための３ラインＣＣＤセンサ１０３と白色光源１１１の構成により、原稿の読取りを行う。しかしながら、単色の１ラインイメージセンサと、選択的に点灯可能なＲＧＢ３色の光源の構成により、原稿の読み取りを行うようにしても良い。その場合には、コントローラ１０９は、光源点灯回路１１０により３色の光源ＬＥＤの１色を点灯し、その光源により照射された光の反射光をイメージセンサにより受光する。そして、点灯するＬＥＤを順次切り替えながら原稿を読み取ることにより、原稿画像を光源の発色光により色分解して読み取ることができる。
【００１８】
ホストＰＣ１５０は、モニタディスプレイ１５１と接続されており、画像読取装置１００を動作させるための各種設定画面等を表示することができる。
【００１９】
図２は、ホストＰＣ１５０の概略構成を示す図である。ホストＰＣ１５０は、例えば汎用的なＰＣであり、図１に示す構成においては、画像読取装置１００を制御するために用いられる。ホストＰＣ１５０は、中央処理装置（ＣＰＵやＭＰＵ等）５１と、ＲＯＭ５２と、ＲＡＭ５３と、ディスク装置５４と、バス５５と、Ｉ／Ｆ５６、５７と、外部記憶装置５８とを含む。ＲＯＭ５２は、本実施形態の動作を実現するためのプログラムを記憶する。ＲＡＭ５３は、そのプログラムを実行するために必要な記憶領域とワークエリアとして用いられる。中央処理装置５１は、ＲＯＭ５２に記憶されているプログラムをＲＡＭ５３に展開して実行する。
【００２０】
バス５５は、上記の各ブロックをデータの送受信が可能なように接続する。インタフェース（Ｉ／Ｆ）５６は、画像読取装置１００と通信を行うためのインタフェースである。画像読取装置１００のインタフェース回路１０８と同様に、ＵＳＢ、ＩＥＥＥ１３９４等、各種のインタフェースの態様で実現される。Ｉ／Ｆ５７は、ポインティングデバイスやキーボード等の入力部６１と接続されている。また、外部記憶装置５８は、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭ等の外部記憶媒体を駆動する。ＲＯＭ５２にプログラムを記憶しておく代わりに、Ｉ／Ｆ５７により外部記憶媒体に記憶されている各種プログラムを読み出してダウンロードするようにしても良い。また、不図示のネットワークコネクタを介して、ネットワーク経由でプログラムをダウンロードするようにしても良い。
【００２１】
本実施形態の動作は、上記のように、ホストＰＣ１５０で実現されても良いし、画像読取装置１００のコントローラ１０９により実現されても良いし、両装置により実現されても良い。両装置で実現される場合には、画像読取装置１００が読取部として機能する。
【００２２】
図３及び図４は、ホストＰＣ１５０から指示された画像読取を、画像読取装置１００で行う処理の手順を示すフローチャートである。まず、Ｓ３０１では、ユーザは、原稿を画像読取装置１００の原稿台に置載し、操作パネル１１６上で読取動作（スキャン）の開始を指示する。すると、画像読取装置１００のコントローラ１０９による制御によって、原稿が読み取られ、当該原稿に対応する原稿領域を含む読取画像が、作業用メモリ１１４に生成される。
【００２３】
本実施形態においては、図５（ｂ）に示すような複数の白色のレシート用紙を原稿として原稿台に置くこととする。また、その際に、コントローラ１０９は、原稿の置載方法として原稿同士が接触しないよう、例えば１０ｍｍ以上間隔を以って置載するように通知する通知画面を操作パネル１１６に表示する。また、ユーザに通知する方法は、ユーザに対する各種媒体のアナウンス情報など他の方法で実現されても良い。
【００２４】
Ｓ３０２では、光源ランプ１１１及びＣＣＤ１０３により原稿を読み取って、画像データを取得する。そして、取得した画像データを二値化する。図５（ａ）は、二値化された結果を示す図である。二値化処理は、例えば、読み取られた輝度値が所定の閾値に対して閾値以上であるか否かを判定することにより行われても良い。図５（ａ）に示す点線は、説明のために付記したものである。実際には、白色のレシート用紙の薄い境界を検出することはできず、そのため、二値化処理されたデータには現れない。
【００２５】
図５（ｂ）は、実際の原稿領域を示すものである。図５（ｂ）に示すように、Ｓ３０１でユーザは、２枚のレシート用紙５０２及び５０３を原稿台における任意の位置に、任意の傾きで置載している。Ｓ３０３では、二値化処理されたデータに対してラベリング処理を実行する。ラベリング処理は、図５（ａ）に示すような二値化された各画素について、互いに隣接する同じ値（例えば輝度値）の画素をグループ化し、その画素群を原稿に含まれているオブジェクトとして特定するために行われる。具体的には、二値化された読取画像において「黒：輝度値０」と判定された画素群のうち、連続する画素群を特定する。さらに、そのように特定された複数の画素群のうち、距離が近い（例えば距離が閾値Ｃ未満）の画素群を、同一文字に含まれる画素群としてグループ化する。
【００２６】
１つのグループ内の画素群には、同じラベル値が付与される。また、ラベリング処理において、他のグループ化された画素群を発見した場合には、それまでの付与に用いられたラベル値のうち最大のものをインクリメントした値を付与する。その結果、ラベリング処理終了時には、グループ間では互いに異なるラベル値が付与され、かつ、画像データ内で最大のラベル値がラベル総数を表すことになる。図５（ｃ）は、ラベリング結果を示す図であり、矩形５０４で囲まれた領域が同じラベル値が付与された領域を表しており、文字ごとの領域におおよそ対応している。
【００２７】
Ｓ３０４では、以降のループ処理に用いられる、ラベル値を表す変数の初期化が行われる。ここでは、ラベルｉ及びｊと、ラベル総数Ｌが設定され初期化される。ラベル総数Ｌは、Ｓ３０３の処理により取得されるラベルの総数である。また、ｉ＝１、ｊ＝ｉ＋１として初期化が行われる。また、Ｓ３０５〜Ｓ３０７のループ処理は、例えば、ラベル１とラベル２、ラベル２とラベル３、といったように、ラベル間の組み合わせで順次行われる。
【００２８】
Ｓ３０５では、ラベルｉとラベルｊの間の距離が閾値Ａより小さいか否かを判定する。最初のループ処理の場合には、ラベル１とラベル２の間の距離について判定される。ここで、ラベル間の距離として、例えば、各ラベル領域の重心間の距離が用いられても良い。また、各ラベル領域を内包する矩形の各頂点同士の最短の長さが用いられても良い。本実施形態では、閾値は、Ｓ３０１でユーザに通知した値に対応する１０ｍｍであるが、他の値が用いられても良い。またこの閾値は距離に限らず、例えば読取画像における画素数であってもよい。即ちＳ３０５では、ラベル間の画素数が所定の画素数を越えるか否かを判定してもよい。また、距離に対応する画素数は、読み取り解像度に応じて異なる。そこで、当該読取における読み取り解像度に応じた閾値（画素数）を動的に算出し、算出された閾値（画素数）を用いてもよい。この場合、例えば読み取り解像度に関わらず実際の距離が一定となるように、閾値（画素数）を決定してもよい。
【００２９】
さらに、上記Ｓ３０５では、Ｓ３０３における処理により、距離が閾値Ｃ未満の画素群が１文字に含まれる画素群として既にグループ化されている。そのため、距離Ａを距離Ｃより大きな値として設定してもよい。
【００３０】
Ｓ３０５でラベルｉとラベルｊの間の距離が閾値Ａより小さいと判定された場合、Ｓ３０６に進み、ラベルｊに含まれる画素群のラベル値を全てラベルｉの値とする。Ｓ３０６の処理により、１０ｍｍより近いラベルｉとラベルｊは、同じラベルとすることができる。その場合、ラベル総数Ｌを１減少する。一方、ラベルｉとラベルｊの間の距離が閾値Ａより小さくないと判定された場合には、Ｓ３０６の処理は行わずにＳ３０７に進む。Ｓ３０７では、全てのラベル同士の組み合わせについてＳ３０５〜Ｓ３０６の処理が行われたかを判定し、全てのラベル同士の組み合わせについて行われたと判定されるまで、Ｓ３０５〜Ｓ３０６の処理を繰り返す。全てのラベル同士の組み合わせについて行われたと判定された場合にはＳ３０８に進む。図５（ｄ）は、Ｓ３０５〜Ｓ３０６のループ処理が全て終了した結果を示す図である。図５（ｄ）に示すように、距離が閾値Ａより小さい、即ち、所定の距離内のラベル同士は、同じラベル値とされる。
【００３１】
Ｓ３０８では、ラベルごとの傾きが求められる。Ｓ３０８の処理については図４を参照しながら後述する。
【００３２】
Ｓ３０９では、以降のＳ３１０〜Ｓ３１２のループ処理のために、ラベル値を表す変数を再度、初期化する。Ｓ３１０では、ラベルｉとラベルｊの傾きが等しく、かつ、ラベルｉとラベルｊの間の距離が閾値Ｂより小さいか否かを判定する。ここで、ラベル間の距離として、例えば、各ラベル領域の重心間の距離が用いられても良い。また、各ラベル領域を内包する矩形の各頂点同士の最短の長さが用いられても良い。閾値Ｂは、予め設定可能な値でも良いし、Ｓ３０３で取得されたラベリング領域の大きさを文字のポイント数として、そのポイント数に比例するような値でも良い。
【００３３】
なお、本フローチャートでは、Ｓ３０５、Ｓ３０６において、距離が閾値Ａよりも小さなラベルが、共通のラベルとして既に決定されている。そのため、Ｓ３１０における閾値Ｂは、閾値Ａよりも大きい値を用いてもよい。
【００３４】
Ｓ３１０でラベルｉとラベルｊの傾きが等しく、かつ、ラベルｉとラベルｊの間の距離が閾値Ｂより小さいと判定された場合、Ｓ３１１に進み、ラベルｊに含まれる画素群のラベル値を全てラベルｉの値とする。なお、Ｓ３１０において傾きが等しいとの判定は、所定の誤差を考慮してもよい。例えば傾きの差が所定の角度以内であれば、傾きが等しいものとして判定してもよい。
【００３５】
Ｓ３１１の処理により、閾値Ｂより近いラベルｉとラベルｊは、同じラベルとすることができる。その場合、ラベル総数Ｌを１減少する。一方、ラベルｉとラベルｊの傾きが等しくないか、ラベルｉとラベルｊの間の距離が閾値Ｂより小さくないと判定された場合には、Ｓ３１１の処理は行わずにＳ３１２に進む。Ｓ３１２では、全てのラベル同士の組み合わせについてＳ３１０〜Ｓ３１１の処理が行われたかを判定し、全てのラベル同士の組み合わせについて行われたと判定されるまで、Ｓ３１０〜Ｓ３１１の処理を繰り返す。全てのラベル同士の組み合わせについて行われたと判定された場合にはＳ３１３に進む。
【００３６】
Ｓ３１３では、各ラベルのラベリング領域を内包し、Ｓ３０８で求められた傾きとなるような矩形領域を作成する。Ｓ３１３で作成された矩形領域（が、ユーザにより原稿台に置かれた原稿に対応する原稿領域の候補として決定される。この矩形領域の縦横の長さが異なる場合には長方形の領域となるが、両者の長さが等しい場合には、正方形の領域が決定される。
【００３７】
図５の例ではユーザが置いたレシート用紙の大きさに対応する切出領域となる。図５（ｅ）は、Ｓ３１３で矩形領域が作成された結果を示す図である。図５（ｅ）に示すように、各ラベルを内包するように、矩形領域５０６及び５０７（切出領域）が作成されている。
【００３８】
図５（ｄ）（ｅ）に示した例では、矩形領域５０６、５０７に含まれているラベルは、ある程度距離が離れており、またその傾きも異なる。そのため、Ｓ３１０において、同一のラベルとするための、距離に関する条件（距離が閾値Ｂ以上）と傾きに関する条件のいずれかに該当しないため、別のラベル（別の原稿領域）として決定される。
【００３９】
以上のように、本実施形態では、同一の原稿（レシート用紙）内に存在する文字等の傾きは等しいことが多いことを利用して各ラベルの統合を複数回繰返していき、その結果、同一の原稿（一枚のレシート用紙）内に印刷されている情報を一括して切り出すことができる。図５（ｅ）に示す矩形領域は、Ｓ３０３で検出されたラベルを内接する矩形であるため、図５（ｂ）に示す実際のレシート用紙の大きさとは正確には異なる場合がある。ただし、家計簿ソフトウェア等、各種アプリケーション上で管理する分には十分な切り出し精度となる。
【００４０】
以上の処理により原稿領域の候補である候補領域が決定された後に、Ｓ３０１で取得された読取画像から、当該原稿領域の画像を切り出す。そして、切り出した領域を操作パネル１１６やディスプレイ１５１に表示する表示制御処理を実行するようにしても良い。或いは、例えばホストＰＣ１５０もしくは画像読取装置１００が、当該候補領域の画像を不図示の印刷装置に印刷させる印刷制御処理を実行する場合であってもよい。また、切り出し領域として、画像の見栄えを考慮して、１０ｍｍ等の一定量分拡張した領域を使用するようにしてもよい。
【００４１】
図４は、Ｓ３０８の処理の手順を示すフローチャートである。まず、Ｓ４０１では、Ｓ３０８の処理対象となるラベル（オブジェクト）を特定する。例えば、図３のラベリング処理の結果が格納されているメモリと同容量の領域をＲＡＭ等に確保して、処理対象となるラベルをその領域にコピーしても良い。
【００４２】
Ｓ４０２では、ラベルの角度を表すパラメータθを用意し、初期値（０度）に設定する。Ｓ４０３では、角度θの傾きを有する２つの直線Ｌ１及びＬ２を処理対象のラベルに対して設定する。図６（ａ）は、Ｓ４０３の処理結果を示す図である。図６（ａ）の「商品Ａ  ￥１００  商品Ｂ  ￥２００」で示されるコンテンツ６０１は、Ｓ４０１で特定されたラベルであり、直線６０２及び６０３は、直線Ｌ１及びＬ２に対応する。Ｓ４０３の処理の際には、図６（ａ）に示すように、処理対象のラベルの中心を通るように、直線６０２及び６０３が設定される。また、このときには、直線６０２と直線６０３は、互いに重なるように設定される。
【００４３】
Ｓ４０４では、直線６０２を角度θ＋９０度の方向に所定の微小単位分、平行移動する。所定の微小単位とは、例えば１画素である。Ｓ４０５では、直線６０２上に処理対象のラベルが存在するか否かを判定する。ここで、存在すると判定された場合、Ｓ４０４からの処理を繰り返す。一方、存在しないと判定された場合には、Ｓ４０６に進む。図６（ｂ）は、平行移動の結果、直線６０２上に処理対象のラベルが存在しないと判定されてＳ４０６に進む際の状態を示す図である。
【００４４】
Ｓ４０６では、直線６０３を角度θ−９０度の方向に所定の微小単位分、平行移動する。所定の微小単位とは、例えば１画素である。Ｓ４０７では、直線６０３上に処理対象のラベルが存在するか否かを判定する。ここで、存在すると判定された場合、Ｓ４０６からの処理を繰り返す。一方、存在しないと判定された場合には、Ｓ４０８に進む。図６（ｃ）は、平行移動の結果、直線６０３上に処理対象のラベルが存在しないと判定されてＳ４０８に進む際の状態を示す図である。
【００４５】
Ｓ４０８では、直線６０２と直線６０３の間の距離６０４を求め、その値をＲＡＭ等の記憶領域に保存する。次に、Ｓ４０９では、現在の角度θに所定の微小単位分の角度を加算する。微小単位分の角度は、画像読取装置１００の計算精度に応じて決定されるようにしても良い。本実施形態では、現在の角度θから、０．５度〜１．０度の範囲内の所望の角度分ずつ加算していく。
【００４６】
Ｓ４１０では、Ｓ４０９の処理後の角度θが９０度より大きいか否かが判定される。ここで、９０度より大きいと判定された場合には、Ｓ４１１に進む。一方、９０度より大きくないと判定された場合、Ｓ４０３からの処理を繰り返す。
【００４７】
Ｓ４１１では、Ｓ４０８で求められた各角度に対応する距離６０４のうち最小の距離６０４を特定する。そして、その最小の距離６０４に対応する角度θを、本処理対象のラベルの角度として決定する。図６（ｄ）は、角度θ＝１０度とした場合の距離６０５を示し、図６（ｅ）は、角度θ＝２０度とした場合の距離６０６を示す。本実施形態では、距離６０５が最小の距離として特定され、距離６０５に対応する角度θ＝１０度がコンテンツ（ラベル）６０１の角度として決定される。
【００４８】
以上の図４の処理により、当該ラベル（図６の例ではコンテンツ６０１）の読取画像に対する傾きを求めることができる。
【００４９】
以上の実施形態によれば、原稿が置かれた原稿台の全面を読取装置が読み取ることで得られた読取画像において、処理対象のラベル（オブジェクト）を特定することができる。そして、複数のオブジェクトが特定された場合に、そのオブジェクト間の距離や、オブジェクト間の傾きの差分に応じて、当該複数のオブジェクトが同一の原稿に対応するものか、別々の原稿に対応するものであるか判定する。これにより、例えばレシートのように、原稿のエッジを判定しにくい原稿が読み取られた場合であっても、原稿領域を適切に決定することができる。
【００５０】
なお、以上の実施形態では、ラベリングを行うことにより読取画像における文字を判定する例について説明したが、これに限らない。例えば画像読取装置１００もしくはホストＰＣ１５０が不図示のＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）を備え、文字認識を行う場合であってもよい。また、上記のように、本実施形態の処理は、画像読取装置１００において実行されてもよいし、ホストＰＣ１５０により実行されてもよい。また、その両方で処理を分担して実行されてもよい。
【００５１】
ホストＰＣ１５０において処理が実行される場合、図３のＳ３０１では、画像読取装置１００が原稿を読み取ることで得られた読取画像を、画像読取装置１００から取得する。このとき、ホストＰＣ１５０に対してユーザが原稿読取指示を行う所謂プルスキャンであってもよいし、画像読取装置１００に対してユーザが原稿読取指示を行う所謂プッシュスキャンであってもよい。
【００５２】
また、画像読取装置１００とホストＰＣ１５０とで処理を分担する場合、その分担は種々の方法を用いることができる。例えば、ホストＰＣ１５０に対してユーザが原稿読取指示を行う。そして、Ｓ３０３におけるラベリング処理までを画像読取装置１００で実行し、それ以降の処理をホストＰＣで実行することができる。
【００５３】
また、ユーザが読取指示とともに、原稿領域のクロップを行うか指示する場合であってもよい。この指示は、ホストＰＣ１５０、画像読取装置１００のいずれに対して行う場合であってもよい。この場合、図３のＳ３０２以降の処理は、ユーザがクロップを指示した場合に実行され、クロップを指示しなかった場合、Ｓ３０２以降の処理は実行されなくてもよい。
【００５４】
さらに、以上の実施形態では、レシート等のエッジを検知し難い原稿を読取画像が読み取ったケースを想定していた。そのため、図３においては、Ｓ３０３において読取画像に対してラベリングを行った後、Ｓ３０５以降の処理を実行していた。しかし、例えば読取画像において原稿のエッジ（例えば４辺）を検知できた場合、Ｓ３０２以降の処理を行わなくてもよい。そして、原稿のエッジが検知できなかった場合に、Ｓ３０２以降の処理が行われてもよい。また、Ｓ３０３におけるラベリングの結果、ラベル（オブジェクト）が１つのみ検出された場合、Ｓ３０４以降の処理を行わず、その１つのオブジェクトを原稿領域として決定してもよい。
【００５５】
また、以上の実施形態では、読取画像として、各画素が輝度値を表す画像に対して処理を行っていた。しかし輝度に限らず、他の成分値（例えばＣＭＹＫ等の濃度値）を表わす画像に対して処理を行う場合であってもよい。濃度値の場合、濃度値が所定の濃度値より大きな画素群を、原稿の内容に対応するオブジェクトとして特定することができる。
【００５６】
さらに、以上の実施形態では、原稿に対応する原稿領域の候補として決定した候補領域を、読取画像から切り出す例について説明した。しかしこれに限らず、例えば当該候補領域に、色変換等の所定の画像処理を実行する場合であってもよい。
【００５７】
上記実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体をシステム又は装置に供給し、そのシステム又は装置のコンピュータ（ＣＰＵ、ＭＰＵ）が記録媒体に格納されたプログラムコードを読出して実行することでも達成される。その場合、記憶媒体から読み出されたプログラムコード自体が上記実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体が本発明を構成する。
【００５８】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００５９】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現されるだけではない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【００６０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる場合もある。その場合に、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上記実施形態の機能が実現される場合も含まれる。
【図１】
2015173418.tif 000003
【図２】
2015173418.tif 000004
【図３】
2015173418.tif 000005
【図４】
2015173418.tif 000006
【図５】
2015173418.tif 000007
【図６】
2015173418.tif 000008