(57)【特許請求の範囲】
【請求項１】
原稿領域を含んだ画像データを入力する画像入力部と、
前記原稿領域の辺の境界線を構成する画素の候補となる候補画素を検出する候補画素検出部と、
前記原稿領域の辺毎に、境界線の複数の部位においてそれぞれ検出された前記候補画素の座標を複数の座標グループに分類する分類部と、
前記複数の座標グループ毎に属する座標に基づいて、境界線の複数の近似直線を算出する近似直線算出部と、
前記複数の近似直線のうち、近似直線から所定の距離の範囲にある候補画素数が最も多い近似直線に基づいて、当該近似直線と異なる、前記辺の境界線の仮直線を決定する仮直線決定部と、
前記仮直線に基づいて前記原稿領域の画像を切り出す画像切出部と、
を備える画像処理装置。
【請求項２】
前記仮直線決定部は、前記複数の近似直線のうち、近似直線から所定の距離の範囲にある候補画素数が最も多い近似直線を選択し、選択された近似直線から所定の距離の範囲にある候補画素の座標に基づいて仮直線を決定する請求項１に記載の画像処理装置。
【請求項３】
前記仮直線決定部は、ある座標グループについて算出した近似直線と他の座標グループとの距離を判定することにより、この近似直線から所定の距離の範囲にある候補画素の数を決定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記分類部は、連続して検出される候補画素の座標の連結状態に応じてこれら座標を同じ座標グループに分類するか否かを判断する請求項１〜３のいずれか一項に記載の画像処理装置。
【請求項５】
前記仮直線に基づいて前記複数の近似直線のいずれかを選択する直線選択部を備え、
前記画像切出部は、前記仮直線に基づいて選択された前記近似直線を境界線として前記原稿領域の画像を切り出すことを特徴とする請求項１〜４のいずれか一項に記載の画像処理装置。
【請求項６】
前記直線選択部は、前記仮直線の傾きと前記近似直線との傾きとの差に応じて前記近似直線を選択することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記直線選択部は、前記仮直線の傾きと前記近似直線との傾きとの差に応じて選択された複数の前記近似直線のうち最も外側又は内側の近似直線を、前記原稿領域の外側又は内側を指定する設定に応じて選択することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
画像処理方法であって、
画像処理装置に、
原稿領域を含んだ画像データを取得する画像取得ステップと、
前記原稿領域の辺の境界線を構成する画素の候補となる候補画素を検出する候補画素検出ステップと、
前記原稿領域の辺毎に、境界線の複数の部位においてそれぞれ検出された前記候補画素の座標を複数の座標グループに分類する分類ステップと、
前記複数の座標グループ毎に属する座標に基づいて、境界線の複数の近似直線を算出する近似直線算出ステップと、
前記複数の近似直線のうち、近似直線から所定の距離の範囲にある候補画素数が最も多い近似直線に基づいて、当該近似直線と異なる、前記辺の境界線の仮直線を決定する仮直線決定ステップと、
前記仮直線に基づいて前記原稿領域の画像を切り出す画像切出ステップと、
を実行させることを特徴とする画像処理方法。
【請求項９】
制御部を備えた情報処理装置に実行させるための画像処理プログラムであって、
前記制御部に実行させるための、
原稿領域を含んだ画像データを取得する画像取得ステップと、
前記原稿領域の辺の境界線を構成する画素の候補となる候補画素を検出する候補画素検出ステップと、
前記原稿領域の辺毎に、境界線の複数の部位においてそれぞれ検出された前記候補画素の座標を複数の座標グループに分類する分類ステップと、
前記複数の座標グループ毎に属する座標に基づいて、境界線の複数の近似直線を算出する近似直線算出ステップと、
前記複数の近似直線のうち、近似直線から所定の距離の範囲にある候補画素数が最も多い近似直線に基づいて、当該近似直線と異なる、前記辺の境界線の仮直線を決定する仮直線決定ステップと、
前記仮直線に基づいて前記原稿領域の画像を切り出す画像切出ステップと、
を含むことを特徴とする画像処理プログラム。
【請求項１０】
画像読取装置と、該画像読取装置との間の通信により該画像読取装置が読み込む画像を受信するコンピュータ装置とを有する画像処理システムであって、
前記画像読取装置により読み込まれる画像データに含まれる原稿領域の辺の境界線を構成する画素の候補となる候補画素を検出する候補画素検出部と、
前記原稿領域の辺毎に、境界線の複数の部位においてそれぞれ検出された前記候補画素の座標を複数の座標グループに分類する分類部と、
前記複数の座標グループ毎に属する座標に基づいて、境界線の複数の近似直線を算出する近似直線算出部と、
前記複数の近似直線のうち、近似直線から所定の距離の範囲にある候補画素数が最も多い近似直線に基づいて、当該近似直線と異なる、前記辺の境界線の仮直線を決定する仮直線決定部と、
前記仮直線に基づいて前記原稿領域の画像を切り出す画像切出部と、
を備える画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で論じられる実施態様は、画像処理装置、画像処理方法、画像処理プログラム、及び画像処理システムに関する。
【背景技術】
【０００２】
原稿を読み取って得られる画像データから原稿領域の画像を切り出す画像処理装置が知られている。例えば、画像処理装置は、原稿領域を含む画像を取得し、取得した画像に基づいてエッジ候補画素の座標値を検出し、検出したエッジ候補画素の座標値に基づいて原稿領域の傾きを算出し、検出したエッジ候補画素の座標値に基づいてエッジ端候補画素の座標値を抽出する。そして画像処理装置は、算出した原稿領域の傾きおよび抽出したエッジ端候補画素の座標値に基づいてエッジに対応する直線を算出し、算出したエッジに対応する直線に基づいて原稿領域の傾きを補正すると共に、当該直線に基づいて画像から原稿領域を切り出す。
【０００３】
また、画像データで表示される直線の角度を検出する画像処理方法が知られている。画像処理方法では、注目画素のエッジ強度を算出し、エッジ強度としきい値とを比較し、エッジ方向を算出し、エッジ方向ヒストグラムを作成し、作成したエッジ方向ヒストグラムに基づいてピーク角度を決定し、ピーク角度を中心とする範囲内にあるエッジ画素に基づいてハフ変換により極座標ヒストグラムを作成し、極座標ヒストグラムに基づいて仮直線を決定し、仮直線の最長線分を検出し、最小二乗法に基づく回帰直線から直線の角度を決定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１８９５３号公報
【特許文献２】特開２００５−３２２０４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像処理装置が処理する画像データには、タブを有する原稿を読み取って得られるものがある。図１の（Ａ）は、タブを有する原稿の模式図である。参照符号１０１は、原稿１００の本体部分を示し、参照符号１０２は原稿１００のタブの部分を示す。タブ１０２は、原稿１００のエッジである１辺１０３において、原稿１００とその外側の領域との間の境界線がより外側の境界線１０５とより内側の境界線１０４を持つ場合に、外側の境界線１０５によって辺が形成される部分である。
【０００６】
タブ１０２を有する原稿には、例えばカタログやマニュアル、パンフレットがある。タブ１０２には、見出しなどの一定の情報が記載されている場合がある。また、タブ１０２は色分けされている場合がある。原稿にタブ１０２がある場合に、タブ１０２部分の境界線１０５で検出した境界の候補画素１０６とそれ以外の候補画素１０７に基づき辺１０３の境界線１０８を近似すると誤差が生じることがある。
【０００７】
また、例えば原稿と画像読取装置の裏当て部との明度差が小さい等の場合には、画像データ内の原稿領域と背景領域の明度差が小さくなる場合がある。図１の（Ｂ）は、原稿領域と背景領域の明度差が小さい画像データの模式図である。画像データ２００は、原稿領域２０１と背景領域２０２を含み、原稿領域２０１と背景領域２０２の明度差が比較的小さい。
【０００８】
このため、原稿領域２０１内における明度変化が、原稿領域２０１と背景領域２０２との境界と誤検出されることがある。画素２０３は、原稿領域２０１と背景領域２０２との境界を検出した候補画素であり、画素２０４は、原稿領域２０１内における明度変化を境界と誤検出した候補画素である。これらの候補画素２０３及び２０４に基づいて辺の境界線２０５を近似した場合にも誤差が生じることがある。
【０００９】
開示の装置及び方法は、画像データに含まれる原稿領域の辺の境界線を構成する画素を検出した候補画素に基づいて境界線を算出する精度を向上することを目的とする。
【課題を解決するための手段】
【００１０】
装置の一観点によれば、原稿領域を含んだ画像データを入力する画像入力部と、原稿領域の辺の境界線を構成する画素の候補となる候補画素を検出する候補画素検出部と、原稿領域の辺毎に、境界線の複数の部位においてそれぞれ検出された候補画素の座標を複数の座標グループに分類する分類部と、複数の座標グループ毎に属する座標に基づいて、境界線の複数の近似直線を算出する近似直線算出部と、複数の近似直線のうち、近似直線から所定の距離の範囲にある候補画素数が最も多い近似直線に基づいて、辺の境界線の仮直線を決定する仮直線決定部と、仮直線に基づいて原稿領域の画像を切り出だす画像切出部を備える画像処理装置が与えられる。
【００１１】
装置の他の一観点によれば、画像読取装置と、該画像読取装置との間の通信により該画像読取装置が読み込む画像を受信するコンピュータ装置を有する画像処理システムが与えられる。画像処理システムは、画像読取装置により読み込まれる画像データに含まれる原稿領域の辺の境界線を構成する画素の候補となる候補画素を検出する候補画素検出部と、原稿領域の辺毎に、境界線の複数の部位においてそれぞれ検出された候補画素の座標を複数の座標グループに分類する分類部と、複数の座標グループ毎に属する座標に基づいて、境界線の複数の近似直線を算出する近似直線算出部と、複数の近似直線のうち、近似直線から所定の距離の範囲にある候補画素数が最も多い近似直線に基づいて、辺の境界線の仮直線を決定する仮直線決定部と、仮直線に基づいて原稿領域の画像を切り出だす画像切出部を備える。
【００１２】
方法の一観点によれば、画像処理方法が与えられる。画像処理方法は、画像処理装置に、原稿領域を含んだ画像データを取得する画像取得ステップと、原稿領域の辺の境界線を構成する画素の候補となる候補画素を検出する候補画素検出ステップと、原稿領域の辺毎に、境界線の複数の部位においてそれぞれ検出された候補画素の座標を複数の座標グループに分類する分類ステップと、複数の座標グループ毎に属する座標に基づいて、境界線の複数の近似直線を算出する近似直線算出ステップと、複数の近似直線のうち、近似直線から所定の距離の範囲にある候補画素数が最も多い近似直線に基づいて、辺の境界線の仮直線を決定する仮直線決定ステップと、仮直線に基づいて原稿領域の画像を切り出だす画像切出ステップを実行させる。
【００１３】
コンピュータプログラムの一観点によれば、制御部を備えた情報処理装置に実行させるための画像処理プログラムが与えられる。画像処理プログラムは、この制御部に実行させるための、原稿領域を含んだ画像データを取得する画像取得ステップと、原稿領域の辺の境界線を構成する画素の候補となる候補画素を検出する候補画素検出ステップと、原稿領域の辺毎に、境界線の複数の部位においてそれぞれ検出された候補画素の座標を複数の座標グループに分類する分類ステップと、複数の座標グループ毎に属する座標に基づいて、境界線の複数の近似直線を算出する近似直線算出ステップと、複数の近似直線のうち、近似直線から所定の距離の範囲にある候補画素数が最も多い近似直線に基づいて、辺の境界線の仮直線を決定する仮直線決定ステップと、仮直線に基づいて原稿領域の画像を切り出だす画像切出ステップを含む。
【発明の効果】
【００１４】
本件開示の装置又は方法によれば、画像データに含まれる原稿領域の辺の境界線を構成する画素を検出した候補画素に基づいて境界線を算出する精度を向上することができる。
【図面の簡単な説明】
【００１５】
【図１】（Ａ）はタブを有する原稿の模式図であり、（Ｂ）は原稿領域と背景領域の明度差が小さい画像データの模式図である。
【図２】画像処理システムのハードウエア構成図である。
【図３】画像処理システムの処理の第１例の説明図である。
【図４】（Ａ）〜（Ｃ）は、図３に示す処理の説明図である。
【図５】（Ａ）〜（Ｃ）は、図３に示す処理の説明図である。
【図６】図３に示す処理の説明図である。
【図７】画像処理制御部の構成例の第１例を示す図である。
【図８】（Ａ）及び（Ｂ）は、クロップ設定の設定画面の構成例を示す図である。
【図９】候補画素検出部により検出された候補画素の説明図である。
【図１０】分類部による座標グループ作成処理の第１例の説明図である。
【図１１】（Ａ）及び（Ｂ）は、座標グループ作成処理の説明図である。
【図１２】（Ａ）〜（Ｃ）は、候補画素間を結ぶ直線の傾きθが４５°を超える場合の説明図である。
【図１３】（Ａ）及び（Ｂ）は、イメージスキャナに対して原稿が４５°傾いた状態で読み取られた際の候補画素の状態を示す図である。
【図１４】（Ａ）〜（Ｃ）は、イメージスキャナに対して原稿が４５°傾いた場合の処理の説明図である。
【図１５】直線決定部による直線グループ作成処理の説明図である。
【図１６】（Ａ）及び（Ｂ）は、近似直線と座標グループの距離の算出方法の例示の説明図である。
【図１７】直線グループの説明図である。
【図１８】直線決定部による仮直線決定処理の第１例の説明図である。
【図１９】直線決定部及び直線選択部による境界線決定処理の説明図である。
【図２０】辺にタブが存在する場合の近似直線の説明図である。
【図２１】（Ａ）〜（Ｄ）は、画像処理システムの処理の他の実施例の説明図である。
【図２２】画像処理制御部の構成例の第２例を示す図である。
【図２３】画像処理システムの処理の第２例の説明図である。
【図２４】分類部６３による座標グループ作成処理の第２例の説明図である。
【図２５】直線決定部による仮直線決定処理の第２例の説明図である。
【発明を実施するための形態】
【００１６】
＜１．ハードウエア構成＞
以下、添付する図面を参照して本発明の実施例について説明する。図２は、画像処理システムのハードウエア構成図である。画像処理システム１は、画像読取装置１０及びコンピュータ装置３０を備える。画像読取装置１０は、２次元の原稿を読み取って、この原稿に対応する画像信号を生成する。画像読取装置１０は、例えば、複数の光源で露光された２次元原稿を走査して読み取る画像読取装置であってよい。このような、例えば画像読取装置の例として、例えばフィーダスキャナ、フラットベッドスキャナ、ハンディスキャナ等の各種スキャナ装置が挙げられる。
【００１７】
コンピュータ装置３０は、有線又は無線の通信回線を介して画像読取装置１０との間で通信が可能であり、この通信回線を経由して画像読取装置１０が読み取った原稿の画像信号を画像読取装置１０から受信する。
【００１８】
画像読取装置１０は、ＣＰＵ（Central Processing Unit: 中央処理ユニット）１１、メモリ１２、イメージセンサ１３、ＡＦＥ（Analog Front-End Processor）１４と、シェーディング処理部１５と、ブロックバッファ１６を備える。また、画像読取装置１０は、画像処理制御部１７と、画像メモリ１８と、調停部１９と、入力部２０と、出力部２１と、インタフェース（Ｉ／Ｆ）２２とバス２３を備える。
【００１９】
ＣＰＵ１１は、メモリ１２に格納されたコンピュータプログラムに従い画像読取装置１０の動作を制御する。ある実施例では、ＣＰＵ１１は、画像読取装置１０が読み取る原稿画像の画像処理を行ってもよい。メモリ１２にはこのような画像処理用のコンピュータプログラムが格納されてもよい。メモリ１２には、ＣＰＵ１１により実行されるコンピュータプログラムや、このコンピュータプログラムの実行の際に使用されるデータが格納される。メモリ１２は、プログラムを記憶するための非揮発性記憶装置や、データを一次的に記憶するための揮発性メモリを含んでいてよい。
【００２０】
イメージセンサ１３は、２次元の原稿を撮像して、原稿に対応する画像信号を出力する。イメージセンサ１３は、例えば、１次元又は２次元に配列されたＣＣＤ（Charge Coupled Device）センサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサ等の撮像素子と、この撮像素子に原稿の像を結像する光学系を備える。ＡＦＥ１４は、イメージセンサ１３から出力される画像信号に対して増幅やその他の信号処理を施した後、処理された画像信号をシェーディング処理部１５へ入力する。
【００２１】
シェーディング処理部１５は、ＡＦＥ１４から受信した画像信号を、画像データとしてブロックバッファに収容し、この画像データにシェーディング処理を施した後に、画像処理制御部１７に出力する。画像処理制御部１７は、シェーディング処理が施された後の画像データに所定の画像処理を施し、画像データを画像メモリ１８に格納する。他の実施例においてシェーディング処理部１５は、シェーディング処理が施された後の画像データを画像メモリ１８に格納し、画像処理制御部１７は、画像メモリ１８から画像データを入力してもよい。調停部１９は、画像処理制御部１７が画像処理の際に行うメモリ１２に対するアクセスと、ＣＰＵ１１によるメモリ１２へのアクセスとが競合しないように、これらのアクセスを調停する。
【００２２】
ある実施例では、シェーディング処理部１５、画像処理制御部１７及び調停部１９は、論理回路として画像読取装置１０に実装されてよい。論理回路は、例えば、LSI（large scale integration）やASIC（Application Specific Integrated Circuit）、FPGA（Field-Programming Gate Array）等であってよい。他の実施例では、シェーディング処理部１５、画像処理制御部１７及び調停部１９は、ＣＰＵやＤＳＰ（digital signal processor）等のプロセッサと、このプロセッサが実行するプログラムを格納するメモリを含む電子回路として画像読取装置１０に実装されてよい。
【００２３】
入力部２０は、ユーザによる入力操作を受け付ける入力装置である。入力部２０は、例えば、ボタン、スクロールホイール、キーパッド、キーボード、ポインティングデバイス、タッチパネル等であってよい。出力部２１は、画像読取装置１０から各種情報をユーザに提示するための出力装置である。例えば、出力部２１は、ユーザに提示する情報を利用者に可視的に表示する表示デバイスであってよい。出力部２１は、発光素子や、液晶ディスプレイ、有機エレクトロルミネッセンスディスプレイ等の表示装置であってよい。または、出力部２１は、音声信号を出力するスピーカやその駆動回路であってよい。
【００２４】
Ｉ／Ｆ２２は、画像読取装置１０とコンピュータ装置３０との間の有線及び／又は無線による通信インタフェースである。画像読取装置１０は、読み取った原稿の画像データをＩ／Ｆ２２を介してコンピュータ装置３０へ送信することが可能である。画像読取装置１０は、画像読取装置１０の動作に関する設定情報や指示をＩ／Ｆ２２を介してコンピュータ装置３０から受信する。ある実施例では、画像読取装置１０は、コンピュータ装置３０により処理が施された画像データをＩ／Ｆ２２を介して受信してよい。ＣＰＵ１１、シェーディング処理部１５、画像処理制御部１７、画像メモリ１８、調停部１９、入力部２０、出力部２１及びＩ／Ｆ２２は、バス２３によって電気的に接続されている。
【００２５】
一方、コンピュータ装置３０は、ＣＰＵ３１と、補助記憶装置３２と、メモリ３３と、入力部３４と、出力部３５と、媒体読取部３６と、Ｉ／Ｆ３７とバス３８を備える。ＣＰＵ３１は、補助記憶装置３２に格納されたコンピュータプログラムを実行することにより、コンピュータプログラムに応じた情報処理を実行する。ある実施例では、ＣＰＵ３１は、画像読取装置１０により読み取られた原稿画像の画像処理を行ってもよい。補助記憶装置３２にはこのような画像処理用のコンピュータプログラムが格納されてもよい。補助記憶装置３２は、コンピュータプログラムを記憶するための、不揮発性記憶装置や、読み出し専用メモリ（ROM: Read Only Memory）やハードディスクなどを含んでいてもよい。
【００２６】
メモリ３３には、ＣＰＵ３１が現在実行中のプログラムや、このプログラムによって一時的に使用されるデータが記憶される。メモリ３３は、ランダムアクセスメモリ（RAM: Random Access Memory）を含んでいてよい。入力部３４は、ユーザによる入力操作を受け付ける入力装置である。入力部３４は、例えば、キーパッド、キーボード、ポインティングデバイス、タッチパネル等であってよい。
【００２７】
出力部３５は、コンピュータ装置３０によって処理された信号を出力する出力装置である。例えば、出力部３５は、コンピュータ装置３０によって処理された情報を利用者に可視的に表示する表示デバイスであってよい。出力部３５は、例えば、液晶ディプレイ、ＣＲＴ（Cathode Ray Tube）ディスプレイ、有機エレクトロルミネッセンスディスプレイなどの表示装置であってよい。または、出力部３５は、音声信号を出力するスピーカやその駆動回路であってよい。
【００２８】
媒体読取部３６は、コンピュータに読み取り可能な可搬型記録媒体に記憶されたデータを読み取る入力装置である。媒体読取部３６は、例えばＣＤ−ＲＯＭドライブ装置やＤＶＤ−ＲＯＭドライブ装置、フレキシブルディスクドライブ装置、ＣＤ−Ｒドライブ装置や、ＤＶＤ−Ｒドライブ装置、ＭＯドライブ装置、フラッシュメモリ装置へのアクセス装置であってよい。
【００２９】
Ｉ／Ｆ３７は、画像読取装置１０とコンピュータ装置３０との間の有線及び／又は無線による通信インタフェースである。コンピュータ装置３０は、画像読取装置１０が読み取った原稿の画像データを、Ｉ／Ｆ３７を経由して受信することが可能である。コンピュータ装置３０は、画像読取装置１０の動作に関する設定情報や指示をＩ／Ｆ３７を介して画像読取装置１０へ送信する。ＣＰＵ３１、補助記憶装置３２、メモリ３３、入力部３４、出力部３５、媒体読取部３６及びＩ／Ｆ３７は、バス３８によって電気的に接続されている。
【００３０】
＜２．第１実施例＞
＜２．１．  概要説明＞
続いて、図３を参照して、画像処理システム１により実施される処理の第１例について説明する。ステップＳ１０１において画像処理システム１は、画像データを入力する。図４の（Ａ）は入力される画像データを示す。画像データ５０は、画像読取装置１０により読み取られた原稿に対応する原稿領域５１を含む。ステップＳ１０２において画像処理システム１は、原稿領域の辺のそれぞれについて、各辺での原稿領域とその外側との境界線を構成する画素の候補となる候補画素を検出する。図４の（Ａ）〜図４の（Ｃ）、図５の（Ａ）〜図５の（Ｃ）及び図６において、例として辺５２の境界線５３で検出した候補画素を黒ドットで示す。
【００３１】
ステップＳ１０３において画像処理システム１は、原稿領域の辺のいずれかを選択する。以下のステップＳ１０４〜Ｓ１０７は、原稿領域の辺毎に実行される。
【００３２】
ステップＳ１０４において画像処理システム１は、境界線５３の複数の部位においてそれぞれ検出された候補画素毎に異なるグループに分類することにより、複数の座標グループを生成する。図４の（Ｂ）は、座標グループｃｇ１〜ｃｇ４に分類された候補画素を示す。
【００３３】
ステップＳ１０５において画像処理システム１は、複数の座標グループに属する候補画素の集合により形成される直線グループを決定する。このとき、画像処理システム１は、各座標グループｃｇ１〜ｃｇ４に属する候補画素に基づいて、境界線５３の近似直線をそれぞれ算出する。候補画素の座標から近似直線を算出するために、最小二乗法やハフ変換などの様々な算出法を利用することができる。図４の（Ｃ）において、近似直線ａｌ１〜ａｌ４は、それぞれ各座標グループｃｇ１〜ｃｇ４に属する候補画素に基づいて算出される近似直線である。
【００３４】
次に、画像処理システム１は、近似直線ａｌ１〜ａｌ４のそれぞれについて、各近似直線から所定の距離の範囲にある候補画素の集合を形成し、それぞれの集合を１つの直線グループとして決定する。図５の（Ａ）は、近似直線ａｌ１から所定の距離の範囲にある候補画素の集合により形成される直線グループｌｇ１の説明図である。直線グループｌｇ１には、座標グループｃｇ１、ｃｇ２及びｃｇ４に属する候補画素が含まれる。これら座標グループｃｇ１、ｃｇ２及びｃｇ４に属する候補画素は、近似直線ａｌ１から所定の距離の範囲にある。他の近似直線ａｌ２〜ａｌ４についても同様に直線グループを決定する。
【００３５】
ステップＳ１０６において画像処理システム１は、境界線５３の仮直線を決定する。画像処理システム１は、ステップＳ１０５で生成した直線グループのうち、最も所属する候補画素が多い直線グループを選択する。本例では、最も所属する候補画素が多い直線グループとして、図５の（Ａ）に示す直線グループｌｇ１が選択される。
【００３６】
画像処理システム１は、選択された直線グループに含まれる候補画素に基づいて境界線５３の仮直線を決定する。候補画素の座標から仮直線を決定するために、最小二乗法やハフ変換などの様々な算出法を利用することができる。図５の（Ｂ）に示す例では、画像処理システム１は、座標グループｃｇ１、ｃｇ２及びｃｇ４に属する候補画素に基づいて、境界線５３の仮直線ｔｌを決定する。仮直線ｔｌの傾きの方向を参照符号５４で示す。
【００３７】
ステップＳ１０７において画像処理システム１は、画像データから原稿領域を切り出すための境界線を決定する。画像処理システム１は、仮直線に基づいて図４の（Ｃ）に示す近似直線ａｌ１〜ａｌ４のうちのいずれかを選択する。画像処理システム１は、例えば、仮直線の傾き５４に基づいて近似直線ａｌ１〜ａｌ４のうちのいずれかを選択してよい。このとき傾き５４と近似直線ａｌ１〜ａｌ４の傾きとの間の差分に基づいて、近似直線ａｌ１〜ａｌ４のいずれかを選択してよい。図５の（Ｃ）の例では近似直線ａｌ１及びａｌ３が選択される。
【００３８】
画像処理システム１は、選択された近似直線のうちのいずれか１個を、予め定めた原稿領域の外側又は内側を指定する設定に応じて選択する。以下の説明において、原稿領域の外側又は内側を指定する設定を「クロップ設定」と表記する。図６の例においてクロップ設定が原稿領域の外側を指定する場合には、原稿領域のより外側の直線である近似直線ａｌ３が選択される。クロップ設定が原稿領域の内側を指定する場合には、原稿領域のより内側の直線である近似直線ａｌ１が選択される。画像処理システム１は、クロップ設定によって選択された近似直線を、画像データ５０から原稿領域５１を切り出す境界線として決定する。
【００３９】
ステップＳ１０８において画像処理システム１は、全ての辺において原稿領域を切り出す境界線を決定したか判断する。境界線を決定していない辺が存在する場合（ステップＳ１０８：Ｎ）には、処理はステップＳ１０９へ進む。全ての辺において原稿領域を切り出す境界線を決定した場合（ステップＳ１０８：Ｙ）には、処理はＳ１１０へ進む。ステップＳ１０９において画像処理システム１は、未だ境界線を決定していない辺を選択し、処理をステップＳ１０４に戻す。
【００４０】
ステップＳ１１０において画像処理システム１は、各辺についてステップＳ１０７で決定した境界線の位置で、入力した画像データから原稿領域の画像を切り出す。
【００４１】
＜２．２．  装置構成＞
続いて、画像処理制御部１７の構成について説明する。図７は画像処理制御部１７の構成例の第１例を示す図である。画像処理制御部１７は、画像入力部６０、候補画素検出部６１、分類部６３、直線決定部６４、設定部６５、直線選択部６６、画像切出部６７を備える。なお、図７は、以下の説明に関係する機能を中心として示している。このため、画像処理制御部１７は図示の構成要素以外の他の構成要素を含んでいてよい。候補画素記憶部６２に格納される候補画素は、メモリ１２に格納される。
【００４２】
他の実施例では、画像入力部６０、候補画素検出部６１、分類部６３、直線決定部６４、設定部６５、直線選択部６６、画像切出部６７により行われる処理の一部又は全部を、画像処理制御部１７に代わってＣＰＵ１１が実行してもよい。また他の実施例では、これらの処理の一部又は全部をコンピュータ装置３０のＣＰＵ３１によって実行してもよい。コンピュータ装置３０は、候補画素記憶部６２としてメモリ３３に候補画素を記憶してもよい。
【００４３】
ＣＰＵ３１にこれらの情報処理を実行させるコンピュータプログラムは、機械可読記録媒体に記録されて、媒体読取部３６により読み取られて補助記憶装置３２にインストールされてもよい。また、ＣＰＵ３１にこれらの情報処理を実行させるコンピュータプログラムは、図示しないネットワークインタフェースを介してネットワークからダウンロードされ、補助記憶装置３２にインストールされてもよい。
【００４４】
画像入力部６０は、画像データ５０を入力する。候補画素検出部６１は、原稿領域の辺のそれぞれについて候補画素を検出する。候補画素検出部６１は、検出した画素を候補画素記憶部６２に格納する。分類部６３は、候補画素を異なる複数の座標グループに分類する。
【００４５】
直線決定部６４は、近似直線算出部６８と仮直線決定部６９を備える。近似直線算出部６８は、各座標グループに属する候補画素に基づいて、境界線５３の近似直線をそれぞれ算出する。仮直線決定部６９は、近似直線のそれぞれについて直線グループを生成する。仮直線決定部６９は、生成した直線グループのうち最も所属する候補画素が多い直線グループを選択して、選択した直線グループに基づいて仮直線を決定する。
【００４６】
直線決定部６４は、仮直線決定部６９により決定した仮直線に基づいて、近似直線のうちの１個以上の直線を選択する。なお、処理対象の辺にタブがある場合には、直線決定部６４は、後述の通り、タブ部分の境界線を構成する候補画素の座標グループから求めた近似直線とタブ以外の辺の境界線を構成する候補画素の座標グループから求めた近似直線とをそれぞれ選択する。
【００４７】
設定部６５は、クロップ設定、すなわち原稿領域の外側又は内側の指定に関する設定を直線選択部６６に与える。ある実施例では、クロップ設定は、例えば工場出荷時などに固定的に定めてよい。またある実施例では、設定部６５は、ユーザによるクロップ設定を受け付けて直線選択部６６に与えてもよい。設定部６５は、画像読取装置１０やコンピュータ装置３０の表示装置に表示された設定画面を介してユーザが入力するクロップ設定を受け付けてもよい。設定画面の例を図８の（Ａ）に示す。
【００４８】
設定画面７０は、例えば、第１コンボボックス７１〜第４コンボボックス７４と、設定ボタン７５と、キャンセルボタン７６を備える。第１コンボボックス７１は画像データのカラーモードを指定する。第２コンボボックス７２は両面原稿又は片面原稿の区別を指定する。第３コンボボックス７３は原稿の画質を指定する。第４コンボボックス７４はクロップ設定を指定する。
【００４９】
図８の（Ｂ）は、クロップ設定のための第４コンボボックス７４の構成例を示す。第４コンボボックス７４は、原稿の「内側」及び「外側」をそれぞれ項目に持つメニュー７７を備える。第４コンボボックス７４は、ユーザによる画像読取装置１０の入力部２０やコンピュータ装置３０の入力部３４の操作に応じて、これらの項目のいずれかの選択入力を受け付ける。なお、他の実際例では、図８の（Ｂ）の「内側」に代えて「デフォルト」又は「デフォルト（内側）」を表示してよい。同様に図８の（Ｂ）の「外側」に代えて「タブ」又は「タブ（外側）」を表示してよい。
【００５０】
図７を参照する。直線選択部６６は、設定部６５により指定されるクロップ設定に従って、直線決定部６４が選択した近似直線のうちいずれか１個の直線を、画像データから原稿領域を切り出すための境界線として選択する。クロップ設定が原稿領域の外側を指定する場合には、直線選択部６６は、直線決定部６４が決定した近似直線のうち原稿領域のより外側にある近似直線が選択される。また、クロップ設定が原稿領域の内側を指定する場合には、直線選択部６６は、直線決定部６４が決定した近似直線のうち原稿領域のより内側にある近似直線が選択される。
【００５１】
画像切出部６７は、原稿領域の各辺について直線選択部６６が選択した境界線の位置で、入力した画像データから原稿領域の画像を切り出す。画像切出部６７により切り出された画像は、コンピュータ装置３０に出力される。
【００５２】
＜２．３．  画像処理＞
＜２．３．１．  座標グループ生成処理＞
続いて、画像処理制御部１７の各構成要素により実行される処理について説明する。なお、以下の説明では、原稿領域の左辺の境界線を決定する場合の処理を例として説明するが、右辺についても同様に境界線を決定することができる。また、座標グループを生成する際に候補画素を走査する方向を９０°変えることによって、上辺及び下辺の境界線についても同様に決定することができる。
【００５３】
分類部６３は、候補画素検出部６１により検出された候補画素を異なる複数のグループに分類することによって座標グループを生成する。図９は、候補画素検出部６１により検出された候補画素の説明図である。候補画素検出部６１は、検出ラインＬ１〜Ｌ６、…においてそれぞれ境界線１１０の候補画素Ｐ１〜Ｐ６、…を検出する。検出ラインＬ１〜Ｌ６、…は、画像データの上から下へ向かう方向である走査方向ＳＤに並べて、所定画素数ｄｙ毎に配列される。
【００５４】
なお、以下の説明において画像データの上から下に向かう方向をＹ軸方向と表記し、左から右に向かう方向をＸ軸方向と表記することがある。またＸ軸方向及びＹ軸方向における各点の座標を、それぞれＸ座標、Ｙ座標と表記することがある。
【００５５】
分類部６３は、処理対象として注目する候補画素（以下「注目候補画素」と表記する）を、走査方向ＳＤの方向に向かって、連続する候補画素Ｐ１、Ｐ２、…、Ｐ（ｉ−１）、Ｐｉ、Ｐ（ｉ＋１）、…に順次変化させる。すなわち分類部６３は、走査方向ＳＤの方向に向かって注目候補画素を走査する。分類部６３は、注目候補画素を順次変化させながら、一つ上の検出ラインの候補画素と同じ座標グループに注目候補画素を入れるか否かを判断する。
【００５６】
図１０は、分類部６３による座標グループ作成処理の第１例の説明図である。ステップＳ２０１において分類部６３は、処理を開始する最初の注目候補画素を選択する。例えば分類部６３は、上から２番目以下の候補画素を最初の注目候補画素を選択してよい。これは、後述のステップＳ２０５及びＳ２０６において、注目候補画素と一つ上の検出ラインで検出された候補画素との相対位置関係を判断するためである。
【００５７】
ステップＳ２０２において分類部６３は、第１個目の座標グループｃｇ１を生成する。ステップＳ２０３において分類部６３は、注目候補画素の検出ラインを示す変数「ｉ」にステップＳ２０１で選択した注目候補画素の検出ラインを代入する。分類部６３は、現在形成中の座標グループｃｇｊを参照するインデックス「ｊ」に「１」を代入する。
【００５８】
ステップＳ２０４において分類部６３は、第（ｉ−１）番目の検出ラインの候補画素Ｐ（ｉ−１）から注目候補画素Ｐｉへ向かう方向の傾きθを決定する。図１１の（Ａ）を参照して候補画素Ｐ（ｉ−１）から候補画素Ｐｉへ向かう方向の傾きθを説明する。図１１の（Ａ）及び図１１の（Ｂ）において一点鎖線は検出ラインを示す。
【００５９】
傾きθは、候補画素Ｐ（ｉ−１）と候補画素Ｐｉとを結ぶ直線Ｌと走査方向ＳＤとのなす角として定められる。ここで原稿は、画像読取装置１０のイメージセンサ１３に対して、最大４５°傾いた状態で読み取られることが想定される。このため、１本の境界線上にある候補画素間を結ぶ直線は、最大で４５°傾くことが予定される。もし、候補画素間を結ぶ直線の傾きが４５°以上傾いている場合には、これらの候補画素は１本の境界線上にないと判断できる。
【００６０】
このため、ステップＳ２０５において分類部６３は、傾きθが４５°よりも大きいか否かを判断する。傾きθが４５°以下である場合には、図１１の（Ａ）に示すように、注目候補画素Ｐｉを、１つ上の検出ライン上の候補画素Ｐ（ｉ−１）と同じ座標グループｃｇに含める。一方で、図１１の（Ｂ）に示すように傾きθが４５°を超える場合には、注目候補画素Ｐｉを、１つ上の検出ライン上の候補画素Ｐ（ｉ−１）と同じ座標グループｃｇ１に含めない。なお、検出ライン間のＹ軸方向の間隔は一定値ｄｙであるため、分類部６３は、候補画素間のＸ座標の大きさがｄｙを超えるか否かによって、傾きθが４５°を超えるか否かを判断してもよい。
【００６１】
図１０を参照する。傾きθが４５°よりも大きい場合（ステップＳ２０５：Ｙ）には、処理はオペレーションＳ２０６へ進む。傾きθが４５°以下の場合（ステップＳ２０５：Ｎ）には、処理はオペレーションＳ２０９へ進む。ステップＳ２０６において分類部６３は、現在形成中の座標グループｃｇｊが空であるか否かを判断する。ｃｇｊが空の場合（ステップＳ２０６：Ｙ）には、分類部６３は新たな座標グループを生成せずに、処理はステップＳ２１５へ進む。ｃｇｊが空でない場合（ステップＳ２０６：Ｎ）には、分類部６３は、ステップＳ２０７でインデックスｊを１つ増加させ、ステップＳ２０８で新たな座標グループｃｇｊを生成する。その後、処理はステップＳ２１５へ進む。
【００６２】
なお、本実施例では、ステップＳ２０８で生成した新たな座標グループｃｇｊに、注目候補画素Ｐｉを含めない。このため図１１の（Ｂ）に示すように、傾きθが４５°よりも大きい場合には、注目候補画素Ｐｉは新たな座標グループｃｇ２にも、候補画素Ｐ（ｉ−１）が属する座標グループｃｇ１にも属さない。他の実施例では、分類部６３は、ステップＳ２０８で生成した新たな座標グループｃｇｊに注目候補画素Ｐｉを含めてもよい。
【００６３】
隣接する候補画素間を結ぶ直線の傾きθが４５°を超える場合として、例えば以下の２つの場合が想定される。
【００６４】
（１）ノイズにより候補画素を誤検出した場合である。この場合、誤検出した候補画素の位置は本来の境界線から離れた位置で検出される。図１２の（Ａ）に示す例では、候補画素Ｐ１〜Ｐ６のうち、候補画素Ｐ４が本来の境界線ＢＬから離れた位置で検出される。
【００６５】
このような誤検出が生じやすい場合の例として、原稿領域と画像データの背景領域の明度差が小さい場合がある。図１２の（Ｂ）は、原稿領域と背景領域の明度差が小さい画像データの模式図である。画像データ７８は、原稿領域７９と背景領域８０を含み、原稿領域７９と背景領域８０の明度差が比較的小さい。このような場合には原稿領域７９と背景領域８０との境界における明度変化と、原稿領域７９内における明度変化の違いを峻別しにくくなる。このため、例えば図１２の（Ｂ）に示すように、参照符号８１で示す部分では正常に境界線の位置で候補画素が検出される一方で、参照符号８２で示す部分では境界線から離れた位置で候補画素が誤検出されることが生じることがある。
【００６６】
境界線の近似直線を算出する際に、誤検出した候補画素を使用すると、近似直線の傾きに誤差が生じる原因となる。分類部６３が、誤検出された候補画素を他の候補画素と同じ座標グループに含めないことで、座標グループに属する候補画素に基づいて算出される近似直線の傾きに、誤検出した候補画素による誤差が生じることを防止する。
【００６７】
（２）辺にタブが存在し、タブ部分で候補画素の一方が検出され、タブでない部分で候補画素の他方が検出された場合である。この場合、これらの候補画素は同一直線の境界線上に存在しない。図１２の（Ｃ）は、タブ部分及びタブでない部分で検出される候補画素の模式図である。候補画素Ｐ１〜Ｐ３はタブでない部分の境界線ＢＬ１上で検出される一方で、候補画素Ｐ４〜Ｐ６はタブ部分の境界線ＢＬ２上で検出される。
【００６８】
候補画素Ｐ１〜Ｐ６はそもそも同一直線上で検出された点でないため、これらの候補画素に基づいて境界線の近似直線を算出すると、近似直線の傾きに誤差が生じる原因となる。分類部６３が、タブ部分で検出された候補画素とタブ部分以外の候補画素とを同じ座標グループに含めないことで、これらの候補画素を混ぜて近似直線を算出した場合に生じる傾きの誤差を防止する。
【００６９】
図１０を参照する。ステップＳ２０９において分類部６３は、注目候補画素Ｐｉが境界線の変曲点であるか否かを判断する。すなわち分類部６３は、注目候補画素Ｐｉの前後において境界線が曲折するか否かを判断する。
【００７０】
上述の通り、画像読取装置１０のイメージセンサ１３に対して、原稿が最大４５°傾いた状態で読み取られる場合がある。原稿が最大４５°傾いた状態で読み取られた場合の候補画素の状態を図１３の（Ａ）に示す。点Ｐ１は、原稿のいずれかの辺の境界ＢＬ１上で検出された候補画素である。点Ｐ３は、原稿の他の辺の境界ＢＬ２上で検出された候補画素である。候補画素Ｐ２は、境界ＢＬ１及びＢＬ２が交わるコーナーで検出された候補画素である。
【００７１】
候補画素Ｐ１からＰ２に向かう直線の傾きは４５°である。このため、注目候補画素がＰ２である場合のステップＳ２０５の判断は「いいえ（Ｎ）」となり、分類部６３は、候補画素Ｐ１とＰ２を異なる座標グループに分離しない。また、候補画素Ｐ２からＰ３に向かう直線の傾きも４５°であるため、注目候補画素がＰ３である場合のステップＳ２０５の判断では、分類部６３は、候補画素Ｐ２及びＰ３と異なる座標グループに分類しない。したがって、ステップＳ２０５の判断では、候補画素Ｐ１とＰ３は異なる座標グループに分類されない。
【００７２】
候補画素Ｐ１及びＰ３は同一直線上で検出された点でないため、これらの候補画素に基づいて境界線の近似直線を算出すると、近似直線の傾きに誤差が生じる原因となる。したがって分類部６３は、注目候補画素Ｐｉが境界線の変曲点であるか否かを判断し、変曲点の前後で座標グループを分割する。
【００７３】
図１３の（Ｂ）は、変曲点の検出方法の一例の説明図である。点Ｐｉ、Ｐ（ｉ−１）及びＰ（ｉ＋１）は、それぞれ注目候補画素、注目候補画素よりも１つ上の検出ラインの候補画素、及び注目候補画素よりも１つ下の検出ラインの候補画素である。注目候補画素Ｐｉの座標を（ｘｉ，ｙｉ）とし、候補画素Ｐ（ｉ−１）の座標を（ｘ（ｉ−１），ｙ（ｉ−１））とし、注目候補画素Ｐ（ｉ＋１）の座標を（ｘ（ｉ＋１），ｙ（ｉ＋１））とする。
【００７４】
分類部６３は、次式（１）により、候補画素の軌跡の２回微分値Ａを算出する。
Ａ＝（ｄｘ２／ｄｙ２）−（ｄｘ１／ｄｙ１）                  …（１）
ｄｘ１＝ｘｉ−ｘ（ｉ−１），  ｄｙ１＝ｙｉ−ｙ（ｉ−１）
ｄｘ２＝ｘ（ｉ＋１）−ｘｉ，  ｄｙ２＝ｙ（ｉ＋１）−ｙｉ
【００７５】
注目候補画素が変曲点でない場合、境界線の傾きｄｘ１／ｄｙ１、ｄｘ２／ｄｙ２は一定であるから２回微分値Ａの絶対値｜Ａ｜は比較的小さく、注目候補画素が変曲点の場合には絶対値｜Ａ｜が比較的大きくなる。分類部６３は、絶対値｜Ａ｜が所定閾値よりも大きいか否かを判断することにより注目候補画素が変曲点であるか否かを判断する。
【００７６】
図１０及び図１４の（Ａ）〜図１４の（Ｃ）を参照し、変曲点の前後で座標グループを分割する処理を説明する。注目候補画素Ｐｉが変曲点でない場合（ステップＳ２０９：Ｎ）には、処理はステップＳ２１０へ進む。ステップＳ２１０において分類部６３は、現在形成中の座標グループｃｇ１に注目候補画素Ｐｉを追加する。その後、処理はステップＳ２１５へ進む。
【００７７】
変曲点が検出される前の状態を図１４の（Ａ）に示す。点Ｐ１〜Ｐ４は、原稿のコーナー部で検出された候補画素である。候補画素の座標Ｐ１〜Ｐ４は、それぞれ（ｘ１，ｙ１）、（ｘ２，ｙ２）、（ｘ３，ｙ３）及び（ｘ４，ｙ４）である。いま、注目候補画素Ｐｉは候補画素Ｐ２であり、１つ上の検出ラインの候補画素Ｐ１は、座標グループｃｇｍに所属する。注目候補画素Ｐ２は変曲点でないため、次式にて算出される２回微分の絶対値｜Ａ｜が比較的小さく、変曲点の検出閾値Ｔｈ１を超えない。
｜Ａ｜＝｜（ｘ３−ｘ２）／（ｙ３−ｙ２）−（ｘ２−ｘ１）／（ｙ２−ｙ１）｜
【００７８】
その結果、処理はステップＳ２１０へ進む。ステップＳ２１０において注目候補画素Ｐ２は、座標グループｃｇｍに加えられる。
【００７９】
その後、注目候補画素Ｐｉは候補画素Ｐ２からＰ３に変わる。図１４の（Ｂ）は、注目候補画素Ｐｉが候補画素Ｐ３である場合における２回微分の説明図である。注目候補画素Ｐ３は変曲点であるため、次式にて算出される２回微分の絶対値｜Ａ｜が比較的大きくなり、変曲点の検出閾値Ｔｈ１を超える。
｜Ａ｜＝｜（ｘ４−ｘ３）／（ｙ４−ｙ３）−（ｘ３−ｘ２）／（ｙ３−ｙ２）｜
【００８０】
図１０において、注目候補画素Ｐｉが変曲点である場合（ステップＳ２０９：Ｙ）には、処理はステップＳ２１１に進む。ステップＳ２１１において分類部６３は、現在形成中の座標グループｃｇｊが空であるか否かを判断する。ｃｇｊが空の場合（ステップＳ２１１：Ｙ）には、分類部６３は新たな座標グループを生成せずに、処理はステップＳ２１４へ進む。ｃｇｊが空でない場合（ステップＳ２１１：Ｎ）には、分類部６３は、ステップＳ２１２でインデックスｊを１つ増加させ、ステップＳ２１３で新たな座標グループｃｇｊを生成する。ステップＳ２１４において分類部６３は、変曲点の前後の座標グループｃｇ（ｊ−１）及びｃｇｊの両方に変曲点の候補画素Ｐｉを追加する。その後、処理はステップＳ２１５へ進む。
【００８１】
図１４の（Ｃ）は、変曲点Ｐ３が検出された結果、座標グループｃｇｍに加えて新たな座標グループが生成された状態を示す。座標グループｃｇｍ及びｃｇｍ＋１の両方に、変曲点の候補画素Ｐ３が加えられている。
【００８２】
図１０を参照する。ステップＳ２１５において分類部６３は、注目候補画素Ｐｉの検出ラインが最後の検出ラインであるか否かを判定する。注目候補画素Ｐｉの検出ラインが最後の検出ラインである場合（ステップＳ２１５：Ｙ）には、処理が終了する。注目候補画素Ｐｉの検出ラインが最後の検出ラインでない場合（ステップＳ２１５：Ｎ）には、処理はステップＳ２１６へ進む。ステップＳ２１６において分類部６３は、注目候補画素Ｐｉを次の検出ラインの候補画素に進めて処理をステップＳ２０４に戻す。
【００８３】
＜２．３．２．  直線グループ生成処理＞
続いて、直線決定部６４による直線グループ生成処理について説明する。図１５は、直線決定部６４による直線グループ作成処理の説明図である。ステップＳ３０１において直線決定部６４は、処理対象として注目する座標グループｃｇｊを参照するインデックス「ｊ」に「１」を代入する。以下、画素グループｃｇｊを「注目座標グループｃｇｊ」と表記することがある。ステップＳ３０２において近似直線算出部６８は、注目座標グループｃｇｊに属する候補画素に基づいて、境界線５３の近似直線ａｌｊを算出する。ステップＳ３０３において仮直線決定部６９は、注目座標グループｃｇｊに属する候補画素を含む直線グループｌｇｊを生成する。
【００８４】
ステップＳ３０４において仮直線決定部６９は、座標グループを参照するインデックス「ｋ」に「１」を代入する。ステップＳ３０５において仮直線決定部６９は、座標グループｃｇｋが注目座標グループｃｇｊと等しいか否かを判断する。座標グループｃｇｋが注目座標グループｃｇｊと異なる場合（ステップＳ３０５：Ｙ）には、処理はステップＳ３０６へ進む。座標グループｃｇｋが注目座標グループｃｇｊと同じ場合（ステップＳ３０５：Ｎ）には、ステップＳ３０６〜Ｓ３０８がスキップされて、処理はステップＳ３０９へ進む。
【００８５】
ステップＳ３０６において仮直線決定部６９は、近似直線ａｌｊと座標グループｃｇｋとの間の距離ｄを判定する。距離ｄの算出には様々な算出方法を使用することができる。図１６の（Ａ）は、近似直線ａｌｊと座標グループｃｇｋの距離ｄの算出方法の例示の説明図である。仮直線決定部６９は、座標グループｃｇｋの両端の端点と近似直線ａｌｊとのそれぞれの距離ｄ１及びｄ２の平均を、距離ｄとして算出してよい。仮直線決定部６９は、距離ｄ１及びｄ２のうちいずれか長い方又は短い方を距離ｄとして算出してもよい。仮直線決定部６９は、座標グループｃｇｋに含まれるいずれかの候補画素と近似直線ａｌｊとの距離を、距離ｄとして算出してよい。
【００８６】
図１６の（Ｂ）は、近似直線ａｌｊと座標グループｃｇｋの距離ｄの算出方法の例示の他の説明図である。仮直線決定部６９は、座標グループｃｇｋに基づいて算出される近似直線ａｌｋと近似直線ａｌｊとの間の距離を、距離ｄとして算出してもよい。
【００８７】
ステップＳ３０７において仮直線決定部６９は、距離ｄが所定の閾値Ｔｈ２以下であるか否かを判断する。距離ｄが閾値Ｔｈ２以下である場合（ステップＳ３０７：Ｙ）には、処理はステップＳ３０８へ進む。距離ｄが閾値Ｔｈ２を超える場合（ステップＳ３０７：Ｎ）には、ステップＳ３０８がスキップされて、処理はステップＳ３０９へ進む。ステップＳ３０８において仮直線決定部６９は、座標グループｃｇｋの候補画素を、直線グループｌｇｊに追加する。
【００８８】
ステップＳ３０９において仮直線決定部６９は、インデックスｋの値を１つ増加する。ステップＳ３１０において仮直線決定部６９は、インデックスｋの値が、座標グループの総数ＣＧＮを超えるか否かを判断する。ｋの値がＣＧＮを超える場合（ステップＳ３１０：Ｙ）には、処理はステップＳ３１１へ進む。ｋの値がＣＧＮを超えない場合（ステップＳ３１０：Ｎ）には、処理はステップＳ３０５へ戻る。
【００８９】
ステップＳ３１１において仮直線決定部６９は、注目座標グループｃｇｊのインデックスｊの値を１つ増加する。ステップＳ３１２において仮直線決定部６９は、インデックスｊの値が、座標グループの総数ＣＧＮを超えるか否かを判断する。ｊの値がＣＧＮを超える場合（ステップＳ３１２：Ｙ）には処理は終了する。ｊの値がＣＧＮを超えない場合（ステップＳ３１２：Ｎ）には、処理はステップＳ３０２へ戻る。
【００９０】
上記のステップＳ３０１〜Ｓ３１２により形成される直線グループｌｇｊについて説明する。図１７は、直線グループの説明図である。図１７において点線１２０は原稿領域を示し、黒ドットは候補画素を示す。図１７の例において、複数の座標グループｃｇ１〜ｃｇ４が形成され、近似直線ａｌは座標グループｃｇ１に基づいて算出された原稿領域の境界線の近似直線である。また、直線グループｌｇは、近似直線ａｌｊから所定の距離の範囲にある座標グループｃｇ１、ｃｇ２及びｃｇ４の候補画素の集合である。
【００９１】
直線グループｌｇは、１つの座標グループｃｇ１に属する候補画素だけでなく、この候補画素に基づき算出された境界線の近似直線ａｌから所定の距離の範囲にある他の座標グループｃｇ２及びｃｇ４の候補画素も含む。したがって、仮直線決定部６９は、同一直線上に位置する境界線を検出した候補画素でありながら異なる座標グループに分類された候補画素同士を１つの集合として識別する。
【００９２】
＜２．３．３．  仮直線決定処理＞
続いて、直線決定部６４による仮直線決定処理について説明する。図１８は、直線決定部６４による仮直線決定処理の第１例の説明図である。ステップＳ４０１において直線決定部６４の仮直線決定部６９は、生成された直線グループの中から、最も多い候補画素を含む直線グループを選択する。ステップＳ４０２において仮直線決定部６９は、ステップＳ４０１で選択した直線グループに含まれる候補画素に基づいて、原稿領域の境界線の仮直線を算出する。ステップＳ４０３において仮直線決定部６９は、走査方向ＳＤと仮直線のなす角である仮直線の傾きを、原稿の傾きとして検出する。
【００９３】
上述の通り、図７に示す分類部６３は、同一直線の境界線上で検出されていない候補画素同士が同一の座標グループに含まれないように、候補画素を複数の座標グループに分類する。仮直線決定部６９は、同一直線上に位置する境界線で検出され、異なる座標グループに分類された候補画素同士が同じ直線グループに属するように候補画素を分類する。仮直線決定部６９は、最も多い候補画素を含む直線グループに含まれる候補画素に基づいて、仮直線を決定する。すなわち仮直線決定部６９は、最も多く候補画素が検出された同一直線上にある境界線で検出された候補画素に基づいて境界線の仮直線を決定する。このため仮直線決定部６９は、境界線の傾きすなわち原稿の傾きを高い精度で決定することができる。
【００９４】
＜２．３．４．  境界線決定処理＞
次に、直線決定部６４及び直線選択部６６による境界線決定処理について説明する。図１９は直線決定部６４と直線選択部６６による境界線決定処理の説明図である。ステップＳ５０１において直線決定部６４は、近似直線と仮直線との傾きとの差を比べ、傾きの差が所定範囲内の１つ以上の近似直線を選択する。
【００９５】
ステップＳ５０１において複数の近似直線が選択される場合の一例を説明する。図２０は、辺にタブが存在する原稿領域を示す。原稿領域１３０の辺１３１には、タブ部分とタブ以外の部分が存在し、タブ部分の境界線１３２とタブでない部分の境界線１３３とは、同一直線上にはないが傾きは等しい。
【００９６】
タブ部分で検出された候補画素の座標グループと、タブでない部分で検出された候補画素の座標グループが生成されると、これら座標グループから算出される近似直線の傾きと仮直線の傾きとの差が小さくなる。このため、直線決定部６４は、タブ部分における原稿領域１３０の境界の近似直線と、タブ以外の部分における原稿領域１３０の境界の近似直線とをそれぞれ選択する。
【００９７】
ステップＳ５０２において直線選択部６６は、ステップＳ５０１で選択された近似直線が存在するか否かを判断する。選択された近似直線がある場合（ステップＳ５０２：Ｙ）には処理はステップＳ５０３へ進む。選択された近似直線がない場合（ステップＳ５０２：Ｎ）には処理はステップＳ５０８へ進む。
【００９８】
ステップＳ５０３において直線選択部６６は、選択された近似直線が一本であるか否かを判断する。選択された近似直線が一本である場合（ステップＳ５０３：Ｙ）には、処理はステップＳ５０４へ進む。選択された近似直線が複数である場合（ステップＳ５０３：Ｎ）には、処理はステップＳ５０５へ進む。ステップＳ５０４において直線選択部６６は、選択された近似直線を、原稿領域を切り出す境界線として決定する。その後処理は終了する。
【００９９】
ステップＳ５０５において直線選択部６６は、設定部６５により指定されたクロップ設定が、原稿領域の外側を指定するか否かを判断する。クロップ設定が外側を指定する場合（ステップＳ５０５：Ｙ）には、処理はステップＳ５０６へ進む。クロップ設定が内側を指定する場合（ステップＳ５０５：Ｎ）には、処理はステップＳ５０７へ進む。
【０１００】
ステップＳ５０６において直線選択部６６は、選択された近似直線のうち最も原稿領域の外側に位置する近似直線を、原稿領域を切り出す境界線として決定する。その後処理は終了する。一方、ステップＳ５０７において直線選択部６６は、選択された近似直線のうち最も原稿領域の内側に位置する近似直線を、原稿領域を切り出す境界線として決定する。その後処理は終了する。
【０１０１】
なお、ステップＳ５０６及びＳ５０７において、直線選択部６６は、選択された複数の近似直線の間で、それぞれ近似直線から所定範囲にある候補画素により形成された直線グループに含まれる候補画素数を比較してもよい。そして直線選択部６６は、候補画素数が最も多く含む直線グループを形成する近似直線を、原稿領域を切り出す境界線として決定してもよい。
【０１０２】
ステップＳ５０８において直線選択部６６は、設定部６５により指定されたクロップ設定が、原稿領域の外側を指定するか否かを判断する。クロップ設定が外側を指定する場合（ステップＳ５０８：Ｙ）には、処理はステップＳ５０９へ進む。クロップ設定が内側を指定する場合（ステップＳ５０８：Ｎ）には、処理はステップＳ５１０へ進む。
【０１０３】
ステップＳ５０９において直線選択部６６は、仮直線の傾きと同じ傾きを有し、最も原稿領域の外側にある座標グループのいずれかの候補画素を通過する直線を、原稿領域を切り出す境界線として決定してもよい。その後処理は終了する。ステップＳ５１０において直線選択部６６は、仮直線の傾きと同じ傾きを有し、最も原稿領域の内側にある座標グループのいずれかの候補画素を通過する直線を、原稿領域を切り出す境界線として決定してもよい。
【０１０４】
ステップＳ５０１において直線決定部６４は、座標グループから算出した近似直線の傾きに代えて、直線グループに属する候補画素から算出した境界線の近似直線の傾きと仮直線の傾きとを比較してもよい。そして傾きの差が所定範囲内の直線グループを選択してよい。
【０１０５】
また、ステップＳ５０４、Ｓ５０６及びＳ５０７において直線選択部６６は、座標グループから算出した近似直線の代わりに、直線グループに属する候補画素から算出した境界線の近似直線を原稿領域を切り出す境界線として決定してよい。
【０１０６】
また、仮直線の傾きに代えて、原稿の傾きを他の手段で検出してもよい。原稿の傾きは、例えば、画像読取装置１０が備える所定の原稿傾きセンサ（図示せず）によって検出してもよい。
＜２．４．  実施例の効果＞
【０１０７】
本実施例によれば、原稿領域とその外側との境界線を構成する画素として検出された複数の候補画素の中に、同一直線から離れた位置で検出された候補画素があっても、候補画素に基づいて算出される境界線の近似直線の傾きに生じる誤差が低減される。したがって、原稿領域とその外側との境界線を算出する近似直線の精度を向上することができる。
【０１０８】
例えば、原稿領域と画像データの背景領域の明度差が小さい場合に、境界線から離れた位置で誤検出される候補画素が生じる境界線の近似直線の傾きの誤差が低減される。また原稿領域がタブを含む場合には、タブ部分の境界線とタブ以外の部分の境界線は互いに同一直線上にない。本実施例によれば、これらの異なる複数の境界線で候補画素がそれぞれ検出されても、候補画素に基づいて算出される境界線の近似直線の傾きに生じる誤差が防止される。この結果、画像データから原稿領域の画像を切り出すための境界線に生じる傾きの誤差が低減され、原稿領域の各辺を精度良く検出することができる。
【０１０９】
本実施例によれば、原稿領域がタブを含む場合に、目的に応じてタブ部分を含む原稿画像及びタブ部分を含まない原稿画像のいずれかを任意に選択して画像データから切り出すことができる。
【０１１０】
＜３．第２実施例＞
続いて、画像処理システム１の他の実施例について説明する。図２１の（Ａ）〜図２１の（Ｄ）は、画像処理システム１の処理の他の実施例の説明図である。図２１の（Ａ）〜図２１の（Ｄ）において点線１３０は原稿領域を示し、黒ドットは、辺１３１において検出された候補画素を示す。本実施例では、画像処理システム１は、辺１３１における原稿領域と外側との境界線の複数の近似直線１３２〜１３５を算出する。画像処理システム１は、各候補画素と各近似直線１３２〜１３５との距離を判定する。
【０１１１】
画像処理システム１は、近似直線１３２〜１３５毎に、各近似直線との距離が所定範囲の候補画素を含む座標グループを生成する。図２１の（Ｂ）は、近似直線１３２からの距離が所定範囲内の候補画素で形成される座標グループを示す。図２１の（Ｃ）は、近似直線１３３からの距離が所定範囲内の候補画素で形成される座標グループを示す。図２１の（Ｄ）は、近似直線１３４及び１３５からの距離が所定範囲内の候補画素で形成される座標グループを示す。
【０１１２】
近似直線１３２〜１３５からの距離が所定範囲内の候補画素で形成される４つの座標グループのうち、最も多くの候補画素を含むのは近似直線１３２からの距離が所定範囲内の候補画素で形成される図２１の（Ｂ）の座標グループである。画像処理システム１は、近似直線１３２を、辺１３１の境界線の仮直線として決定する。画像処理システム１は、仮直線の傾きを原稿の傾きとして検出してもよい。
【０１１３】
図２２は、画像処理制御部１７の構成例の第２例を示す図である。図７に示す画像処理制御部１７の第１例の構成要素と同一の構成要素については同一の参照符号を付する。同一の参照符号が付された構成要素の動作は、特に説明しない限り同じである。
【０１１４】
画像処理制御部１７は、近似直線算出部９０を備える。他の実施例では、画像処理制御部１７に代わってＣＰＵ１１が、近似直線算出部９０の処理を実行してもよい。また他の実施例では、近似直線算出部９０の処理をコンピュータ装置３０のＣＰＵ３１によって実行してもよい。
【０１１５】
近似直線算出部９０は、候補画素検出部６１により検出され候補画素記憶部６２に格納された候補画素を選択して、これらの候補画素に基づいて、原稿領域の各辺の境界線毎に複数の近似直線を算出する。候補画素の座標から近似直線を算出するために、最小二乗法やハフ変換などの様々な算出法を利用することができる。
【０１１６】
分類部６３は、近似直線と候補画素記憶部６２に格納された各候補画素との距離を判定する。分類部６３は、近似直線毎に、各近似直線との距離が所定範囲の候補画素を含む座標グループを生成する。仮直線決定部６９は、最も多くの候補画素を含む座標グループを形成した近似直線を辺の仮直線として決定する。仮直線決定部６９は、仮直線の傾きを、原稿の傾きとして検出する。
【０１１７】
直線決定部６４は、仮直線に基づいて、近似直線算出部９０が算出した複数の近似直線のいずれかを選択する。例えば、直線決定部６４は、仮直線との傾きと近似直線の傾きとを比べ、傾きの差が所定範囲内の１つ以上の近似直線を選択する。直線選択部６６は、直線決定部６４が選択した近似直線のうちいずれか１個の直線を原稿領域を切り出すための境界線として選択する。
【０１１８】
図２３は、画像処理システム１の処理の第２例の説明図である。ステップＳ６０１〜ステップＳ６０３の処理は、図３を参照して説明したステップＳ１０１〜Ｓ１０３の処理と同様である。以下のステップＳ６０４〜Ｓ６０６は原稿領域の辺毎に実行される。
【０１１９】
ステップＳ６０４において分類部６３は、候補画素毎に異なるグループに分類することにより、複数の座標グループを生成する。図２４は、分類部６３による座標グループ作成処理の第２例の説明図である。
【０１２０】
ステップＳ７０１において座標グループを参照するインデックス「ｊ」に「１」が代入される。ステップＳ７０２において近似直線算出部９０は、候補画素記憶部６２に格納された複数の候補画素を選択する。ステップＳ７０３において近似直線算出部９０は、選択した候補画素に基づいて、原稿領域の辺の境界線の近似直線ａｌｊを算出する。
【０１２１】
ステップＳ７０４において分類部６３は、近似直線ａｌｊとの距離が所定範囲の候補画素を含む座標グループｃｇｊを生成する。ステップＳ７０５において近似直線算出部９０は、更に座標グループを生成するか否かを判定する。例えば、近似直線算出部９０は、まだいずれの座標グループにも属していない候補画素が存在する場合には、さらなる座標グループを生成すると判断し、全ての候補画素がいずれかの座標グループに属している場合に、さらなる座標グループは不要と判断する。
【０１２２】
更に座標グループを生成する場合（ステップＳ７０５：Ｙ）には、処理はステップＳ７０６に進む。更に座標グループを生成しない場合（ステップＳ７０５：Ｎ）には、処理は終了する。ステップＳ７０６においてインデックスｊの値は１増加する。その後処理はステップＳ７０２へ戻る。
【０１２３】
図２３を参照する。ステップＳ６０５において直線決定部６４は、座標グループ作成処理にて算出した近似直線ａｌｊのいずれかを仮直線として選択する。図２５は、直線決定部６４による仮直線決定処理の第２例の説明図である。
【０１２４】
ステップＳ８０１において直線決定部６４の仮直線決定部６９は、最も多くの候補画素を含む座標グループを形成した近似直線を辺の仮直線として決定する。ステップＳ８０２において仮直線決定部６９は、仮直線の傾きを原稿の傾きとして検出する。
【０１２５】
図２３を参照する。ステップＳ６０６において直線決定部６４及び直線選択部６６は、画像データから原稿領域を切り出すための境界線を決定する。境界線を決定する処理は、図１９を参照して説明した境界線決定処理と同様であってよい。ステップＳ６０７〜Ｓ６０９の処理は、図３を参照して説明したステップＳ１０８〜Ｓ１１０の処理と同様である。
【０１２６】
本実施例によれば、辺の境界線の複数の近似直線を算出して、その中から近似直線との距離が所定範囲内の候補画素が最も多いものを選ぶ。このため、候補画素の中に、同一直線から離れた位置で検出された候補画素があっても、候補画素に基づいて算出される近似直線のうち、傾きの誤差がより少ないものを選択することができる。この結果、画像データから原稿領域の画像を切り出すための境界線に生じる傾きの誤差が低減され、原稿領域の各辺を精度良く検出することができる。
【０１２７】
また、本実施例においても、原稿領域がタブを含む場合に、目的に応じてタブ部分を含む原稿画像及びタブ部分を含まない原稿画像のいずれかを任意に選択して画像データから切り出すことができる。
【符号の説明】
【０１２８】
１    画像処理システム
１０    画像読取装置
３０    コンピュータ装置
６０    画像入力部
６１    候補画素検出部
６３    分類部
６４    直線決定部
６５    設定部
６６    直線選択部
６７    画像切出部
【図２】
0005766073.tif 000002
【図３】
0005766073.tif 000003
【図４】
0005766073.tif 000004
【図５】
0005766073.tif 000005
【図６】
0005766073.tif 000006
【図７】
0005766073.tif 000007
【図８】
0005766073.tif 000008
【図９】
0005766073.tif 000009
【図１０】
0005766073.tif 000010
【図１１】
0005766073.tif 000011
【図１３】
0005766073.tif 000012
【図１４】
0005766073.tif 000013
【図１５】
0005766073.tif 000014
【図１６】
0005766073.tif 000015
【図１７】
0005766073.tif 000016
【図１８】
0005766073.tif 000017
【図１９】
0005766073.tif 000018
【図２０】
0005766073.tif 000019
【図２１】
0005766073.tif 000020
【図２２】
0005766073.tif 000021
【図２３】
0005766073.tif 000022
【図２４】
0005766073.tif 000023
【図２５】
0005766073.tif 000024
【図１】
0005766073.tif 000025
【図１２】
0005766073.tif 000026