(57)【要約】      （修正有）【課題】原稿の影が検出できなかったときにサイズ検知処理と傾き検知処理の誤動作を回避する機能を有する画像読取装置を提供する。【解決手段】画像読取装置では、原稿の長さと読取画像の長さを比較してサイズ検知、及び傾き補正を行うか行わないかを切り替える。原稿に形成された画像を読取ユニットで読取り、原稿の長さよりも読取画像の長さが長い場合、読取ユニットで読取った読取画像を副走査方向に走査して、読取画像の全画素のうち選択された画素の位置における該読取画像の副走査方向に関する微分情報を取得する。微分情報から各画素の２値化情報を取得し、２値化情報から読取画像中の背景部分と原稿画像の部分との境界座標値を取得する。該境界座標値からサイズ検知を行い、傾き補正処理時の回転角度を取得する。【選択図】図２５
2010016539.tif 000002
【特許請求の範囲】
【請求項１】
原稿に形成された画像を読取る画像読取手段と、
原稿の先端と後端を検出する原稿前後端検出手段と、
前記画像読取手段で読取った読取画像中の原稿画像と背景画像との境界に基づいて原稿サイズ検知処理を行う原稿サイズ検知手段と、
前記読取画像の長さと前記原稿前後端検出手段で検出した検出結果に基づいて、前記原稿サイズ検知処理の実行の可否を判断する判断手段と、
を備えることを特徴とする画像読取装置。
【請求項２】
前記読取画像を副走査方向に走査して副走査方向に関する画素値の微分情報を取得する微分情報取得手段と、前記微分情報に基づいて前記読取画像中の原稿画像と背景画像との境界座標情報を取得する境界座標情報取得手段とをさらに有し、
前記原稿サイズ検知手段は、前記境界座標情報取得手段で取得した境界座標情報に基づいて原稿サイズを検知することを特徴とする請求項１に記載の画像読取装置。
【請求項３】
前記境界座標情報取得手段で取得した境界座標情報に基づいて、前記読取画像中の前記原稿画像の傾きを補正する傾き補正手段を更に備え、
前記傾き補正手段は、前記画像読取手段で読取った読取画像長と前記原稿前後端検出手段で検出した結果に基づいて、傾き補正処理を行うか行わないかを判断することを特徴とする請求項２に記載の画像読取装置。
【請求項４】
前記傾き補正手段は、境界座標情報に基づいて、前記読取画像中の前記原稿画像の傾斜角を検出する原稿傾斜角検出手段を備えることを特徴とする請求項３に記載の画像読取装置。
【請求項５】
前記傾き補正手段は、境界座標情報及び傾斜角に基づいて、前記読取画像中の前記原稿画像に外接する長方形を算出する外接長方形算出手段を備えることを特徴とする請求項３に記載の画像読取装置。
【請求項６】
前記サイズ検知処理を行わなかった場合、または、前記傾き補正処理を行わなかった場合、前記読取画像を表示し、エラーを通知するエラー通知手段を備えていることを特徴とする請求項１〜５記載の画像読取装置。
【請求項７】
原稿に形成された画像を読取る画像読取手段と、原稿の先端と後端を検出する原稿前後端検出手段とを備える画像読取装置が原稿の画像を読み取るときの画像読取方法であって、
前記画像読取手段で読取った読取画像中の原稿画像と背景画像との境界に基づいて原稿サイズ検知処理を行う原稿サイズ検知工程と、
前記読取画像の長さと前記原稿前後端検出手段で検出した検出結果に基づいて、前記原稿サイズ検知工程の実行の可否を判断する判断工程と、
を含むことを特徴とする画像読取方法。
【請求項８】
原稿に形成された画像を読取る画像読取手段と、原稿の先端と後端を検出する原稿前後端検出手段とを備える画像読取装置が原稿の画像を読み取る画像読取方法をコンピュータに実行させるコンピュータプログラムであって、
前記画像読取手段で読取った読取画像中の原稿画像と背景画像との境界に基づいて原稿サイズ検知処理を行う原稿サイズ検知工程と、
前記読取画像の長さと前記原稿前後端検出手段で検出した検出結果に基づいて、前記原稿サイズ検知工程の実行の可否を判断する判断工程と、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿の画像情報を読取る画像読取装置、画像読取方法及び該方法を実行するためのプログラムに関する。
【背景技術】
【０００２】
一般に、画像読取装置は、光源により原稿を照明して原稿画像をラインイメージセンサ等により読取るが、光源の光量むらやラインイメージセンサの感度むらがあるため、白色の色基準部材を読取って補正しなければならない。この際、原稿を照射する光源の発光量を適正化する光量調整と、ラインイメージセンサの出力信号を増幅する回路の増幅率を最適化するゲイン調整とを行ったうえで、光源の光量むらやラインイメージセンサの感度むらをラインイメージセンサの光電変換素子ごとに補正するシェーディング補正を行うのが一般的である。なお、後述する本発明の実施の形態では、上述の「光量調整」及び「ゲイン調整」等を含み、ラインイメージセンサが原稿の画像情報を一様に読取るための補正を「シェーディング補正」と称することとする。
【０００３】
また、一般的に、原稿読取時は、原稿と背景の境界の検知、原稿の傾きの検知、原稿の裏面画像の透け防止等の目的で、ラインイメージセンサの対向部材の色を白以外の色（例えば、黒色）にすることが多い。
【０００４】
図１９は、従来の画像読取装置を説明する図であり、図１９ａは、ラインイメージセンサの第１の移動位置を示し、図１９ｂは第２の移動位置を示す。
【０００５】
図１９に示すように、画像読取装置７０１は、原稿７２３を搬送しながらラインイメージセンサ７１１によって原稿７２３を読み取って読取画像を取得する。画像を読み取るタイミングとしては、レジストセンサ７２１の設置位置を原稿の先端が通過した後に画像読取を開始し、レジストセンサ７２１の設置位置を原稿が通過し終わった後に画像読取を終了する。なお、原稿検知センサ７２１とラインイメージセンサ７１１は離れているため、原稿の読取は、原稿の先端がレジストセンサ７２１上を通過してから一定時間経過後に開始される。また、原稿の読取は、原稿の後端がレジストセンサ７２１上を通過してから一定時間経過後に終了される。このようにして読取画像の先端レジストと後端レジストが調整される。
【０００６】
画像読取装置７０１はまず、原稿７２３の読取を行う前に、図中矢印Ｓ方向にラインイメージセンサ７１１を移動させ、色基準部材７１７を読取る。これにより、ラインイメージセンサ７１１の出力をもとに生成する画像データをシェーディング補正するための補正用データを生成し画素毎に記憶する。
【０００７】
なお、画像読取装置７０１は、ラインイメージセンサ７１１が色基準部材７１７を読取る位置に移動したことを位置検知センサ７２０で検知することができる。
【０００８】
その後、画像読取装置７０１は、ラインイメージセンサ７１１を元の位置に戻し（図１９ｂ参照）、原稿７２３を搬送しながら原稿７２３を読取る。ここで、原稿７２３の読取時においては、事前に記憶した補正用データを参照して、ラインイメージセンサ７１１の出力をもとに生成した画像データをシェーディング補正する。
【０００９】
この様に、ラインイメージセンサ７１１がシェーディング補正用の補正データ取得を行うために色基準部材を読み取る位置(図１９ａ参照)と原稿の読取を行う位置（図１９ｂ参照）とを移動する構成を有する画像読取装置では、原稿の画像情報読取りを行う位置がずれると、原稿読取のレジストレーションずれを引き起こしてしまう。このレジストレーションずれを防止するため、ラインイメージセンサの位置を検知するための位置検知センサ７２０を設けて、ラインイメージセンサの位置決めをするのが一般的である。
【００１０】
また従来は、読取画像中の原稿画像のサイズ検出や原稿画像の傾きの検出は、ラインイメージセンサの対向部材の色を黒にして、読取画像中の背景画像の部分と原稿画像の部分の境界位置を検出することにより行われている。
【００１１】
しかしながら、縁が黒で塗られた原稿や、明度の低い余白部をもつ原稿のように光の反射率が低い原稿を読み取る場合、背景画像（一般的には黒）と原稿部分の境界位置が検出しにくい。この問題を解消するために、特許文献１に開示された画像読取装置では、対向部材の色を反射率の高い色（一般的には白）にしている。また別の装置では、さらに、原稿の後端に影ができる構成にし、読取画像内の原稿後端の影を利用して境界位置を検出しているものがある。
【特許文献１】特開２００５−５７８１３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、原稿の端部を含まないよう領域指定して読取った場合や、読取可能長さが実際の原稿長より短かった場合には、原稿の後端部分の影が読取れないため、原稿の後端部分の影を利用する画像読取装置では原稿境界位置を誤検知することがある。例えば、図２０aのように１本黒い横線２００１が描かれた原稿の点線で囲まれた領域２０００を読取るとする。この場合、読取られた読取画像（図２０ｂ）内に現れる黒い横線２００２を影と誤認識してしまい、正しい境界位置を検知できないため、原稿境界位置検知処理を行うと図２０ｃのような小さい画像にしてしまう場合がある。
【００１３】
本発明の目的は、原稿境界位置検知処理の誤動作を回避できる画像読取装置を提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明の画像読取装置は、原稿に形成された画像を読取る画像読取手段と、原稿の先端と後端を検出する原稿前後端検出手段と、前記画像読取手段で読取った読取画像中の原稿画像と背景画像との境界に基づいて原稿サイズ検知処理を行う原稿サイズ検知手段と、前記読取画像の長さと前記原稿前後端検出手段で検出した検出結果に基づいて、前記原稿サイズ検知処理の実行の可否を判断する判断手段と、を備えることを特徴とする。
【００１５】
また、本発明の画像読取方法は、原稿に形成された画像を読取る画像読取手段と、原稿の先端と後端を検出する原稿前後端検出手段とを備える画像読取装置が原稿の画像を読み取るときの画像読取方法であって、前記画像読取手段で読取った読取画像中の原稿画像と背景画像との境界に基づいて原稿サイズ検知処理を行う原稿サイズ検知工程と、前記読取画像の長さと前記原稿前後端検出手段で検出した検出結果に基づいて、前記原稿サイズ検知工程の実行の可否を判断する判断工程と、を含むことを特徴とする画像読取方法。
【００１６】
また、本発明のコンピュータプログラムは、原稿に形成された画像を読取る画像読取手段と、原稿の先端と後端を検出する原稿前後端検出手段とを備える画像読取装置が原稿の画像を読み取る画像読取方法をコンピュータに実行させるコンピュータプログラムであって、前記画像読取手段で読取った読取画像中の原稿画像と背景画像との境界に基づいて原稿サイズ検知処理を行う原稿サイズ検知工程と、前記読取画像の長さと前記原稿前後端検出手段で検出した検出結果に基づいて、前記原稿サイズ検知工程の実行の可否を判断する判断工程とを、コンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の効果】
【００１７】
本発明によれば、原稿端の影等を利用した原稿境界位置検知処理において、原稿の端部よりも内側の領域が指定された状態で読取った場合や、原稿長さが読取可能長さと同等以上であった場合等における、原稿境界位置検知処理の誤動作を回避できる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図面を参照しながら説明する。
【実施例１】
【００１９】
図１は、本発明の実施の形態に係る画像読取装置の構成を示す断面図である。尚、図１に示す画像読取装置の構成は概略的であり、本構成に限るものではない。
【００２０】
図１に示すように、画像読取装置１００は、上部フレーム１８１及び下部フレーム１８２から構成される。上部フレーム１８１は回動軸１８１ａを中心に回動可能であり、搬送された原稿の紙詰まり等が発生した際に画像読取装置１００内に滞留した原稿を取り除くため、手動での上部フレーム１８１の開閉が可能な構成となっている。
【００２１】
また、画像読取装置１００は、原稿１２３をピックアップするピックアップローラ１０２と、ピックアップローラ１０２によりピックアップされた原稿束１２３を装置内に給送する給送ローラ１０３と、ピックアップされた原稿束１２３を１枚ずつ分離する分離ローラ１０４と、原稿束１２３から分離された原稿（シート）の上面の画像情報を読取る読取ユニット１０８と、読取ユニット１０８の上流側に配置され原稿を搬送するべく対になって設けられたレジストローラ対１０５と、読取ユニット１０８の下流側に配置され原稿を搬送するべく対になって設けられた搬送ローラ対１０７と、レジストローラ対１０５の下流側近傍に配置され、搬送される原稿を検知するレジストセンサ１１０とを備える。
【００２２】
上部フレーム１８１には読取ユニット１０８（画像読取手段）が固定されている。読取ユニット１０８は、原稿や後述する対向部材の画像を読取るラインイメージセンサ１２０と、搬送される原稿等に光を照射する光源１２１とを備える。下部フレーム１８２には、読取ユニット１０８に対向する位置に配置される対向部材１０９と、対向部材１０９と読取ユニット１０８との間に配置される板状のガラス１０６とが設けられている。対向部材１０９の色は白色であり、この対向部材を利用してシェーディング補正が行われる。上述のように、対向部材１０９は白色であるため、前述した従来例とは異なりシェーディング補正に用いる補正データ取得時と画像読み取り時で、読取ユニット１０８を移動させる動作が必要なく、画像読取機構が単純化されている。
【００２３】
次に、原稿に形成された画像を画像読取装置１００が読取るときの動作を説明する。まず、読取ユニット１０８は、白色の対向部材１０９をラインイメージセンサ１２０により読取り、シェーディング補正用の補正データを生成して画素毎に記憶する。
【００２４】
その後、原稿束１２３をピックアップローラ１０２と給送ローラ１０３によって画像読取装置１００内に取り込み、分離ローラ１０４によって１枚ずつに分離する。分離された原稿は、レジストローラ対１０５及び搬送ローラ対１０７により挟持されながら副走査方向に搬送されつつ、その上面（表側）に形成されている画像が読取ユニット１０８によって主走査方向（原稿搬送方向と直交する方向）に沿って読み取られる。また、前述した補正用のデータを参照して、ラインイメージセンサ１２０の出力信号から生成した画像データをシェーディング補正する。画像が読み取られた後、原稿は搬送ローラ対１０７によって挟持されながら搬送され、装置外部へ排出される。
【００２５】
図２は、図１の画像読取装置１００の電気回路の概略構成を示すブロック図である。図２において、１２０は読み取りユニット１０８内のラインイメージセンサ、１２１は光源である。４００は、ラインイメージセンサ１２０の出力信号を、増幅や黒レベルクランプなどのアナログ処理を施した後、デジタルデータに変換するＡ／Ｄ変換部である。
【００２６】
４０１はラインイメージセンサ１２０や光源１２１、Ａ／Ｄ変換部４００などの制御と、ラインイメージセンサ１２０の出力信号をデジタル化して生成した画像データに各種の画像処理（シェーディング補正等）を行う画像処理部である。
【００２７】
４０２は、画像データを記憶する画像記憶部となる画像メモリである。４０３は外部ホスト装置とのインターフェース部であり、信号ケーブル４０９によりＰＣ等の外部ホスト装置と接続されている。４０４は本画像読取装置の制御を司る制御部となるＣＰＵである。４０５はＣＰＵ４０４が動作するために使用する記憶部となるワークメモリである。画像処理部４０１、ＣＰＵ４０４及びワークメモリ４０５は、バス４０８を介して接続されている。ＣＰＵ４０４は画像処理部４０１を介して画像メモリ４０２にアクセスすることができるように構成されている。４１２は原稿の搬送を行う駆動手段（搬送モータ）であり、ＣＰＵ４０４からの指示を受けたモータドライバ４０７が励磁電流を流すことにより動作する。
【００２８】
図３は、読取ユニット１０８及びその近傍を示す図であり、図３ａは、読取ユニット１０８を示し、図３ｂは、読取ユニット１０８により原稿１２３の後端が読み取られている状態を示す。
【００２９】
図３ａ及び図３ｂにおいて、ラインイメージセンサ１２０と対向部材１０９の間には、ガラス１０６が配置されている。このガラス１０６は、対向部材１０９に傷や汚れが付かないようにする役割を果たす。また、原稿１２３と対向部材１０９の間にガラス１０６の厚みと同等若しくはそれ以上の隙間を持たせる役割がある。光源１２１は、ラインイメージセンサ１２０の片方の側面に沿って設けられており、上方から光を原稿１２３に対して片側から斜めに照射することにより、原稿の影１２４が現れる。このような片側照射は、両側照射の場合と比べると読取画像に影が現れやすくなっている。なお、両側照射とは、ラインイメージセンサに関して対称な位置に配置される一対の光源を設けて、該一対の光源を用いて原稿に光を当てる方式をいう。このとき、ラインイメージセンサ及び一対の光源は、図２４のように副走査方向に関して光源、ラインイメージセンサ、光源、の順番で配置される。このように両側照射では図３の影１２４ができなくなることがわかる。一方、本実施例のように片側照射とし、さらにガラス１０６を隔てて対向部材を設けたことで、原稿端の影を強調することができ、原稿画像の境界の検出が容易となっている。
【００３０】
次に、読取ユニット１０８で読取った読取画像中の原稿画像に基づいて原稿画像のサイズや傾き及び原稿画像に外接する長方形を求める処理並びに傾き補正について説明する。  本実施例では、サイズ検出、傾き検出及び原稿画像に外接する長方形の検出は、前述の原稿読取処理で原稿を読み取った後、画像メモリ４０２に一時記憶された読取画像に対して前述のシェーディング補正処理を行う前に行い、傾き補正はシェーディング補正処理の後に行うこととする。しかし、上記の処理の順序に限定するものではない。
【００３１】
まず、本発明で利用される微分情報を取得するための微分情報生成処理について図４を用いて説明する。この微分情報生成処理は画像処理手段４０１及びＣＰＵ４０４により実行される。
【００３２】
図４は、読み取った読取画像の左上端を原点としたｘｙ座標系を示す図である。本実施の形態では、ｘｙ座標系における各画素の濃度値（画素値）をｆ(ｘ,ｙ)とし、濃度値ｆ(ｘ,ｙ)は、明るい程大きい値とする。尚、本実施の形態では、ｙ軸方向が副走査方向である。また、原稿の読取画像を副走査方向に微分を行った値の絶対値を微分情報値としている。また、実際に画像読取装置で読取った画像では、背景部分と原稿部分の境界には影ができるが、図４を用いた説明では、説明を簡単にするため、背景と原稿の境界部分の影を省略する。
【００３３】
まず、各画素の位置における読取画像の微分情報値Δ（ｘ,ｙ）は、以下の（１）式で表される。尚、この（１）式の微分情報値の求め方は一例である。
【００３４】
Δ（ｘ,ｙ）＝abs(ｆ（ｘ,ｙ＋ｍ）−ｆ（ｘ,ｙ）)          ……（１）
ｆ（ｘ,ｙ）    ：各座標の画素の濃度値
ｆ（ｘ,ｙ＋ｍ）：各座標からｍライン先の画素の濃度値
（本実施例では、ｍ＝１とする）
【００３５】
ここで、図４中に示されている語句は、夫々以下のように定義される。
・Width       ：画像の幅（例えば（ｘ座標が０から２３までの画像の幅）＝２４）
・Height      ：画像の長さ（例えば（ｙ座標が０から２５までの画像の長さ）＝２６）
・ｎライン    ：注目ライン
・ｎ＋ｍライン：注目ラインからｍライン離れた先のライン
【００３６】
まず、図４の画像の左上端(ｘ,ｙ)=（０,０）から(Width−１,０)までの各画素の濃度値を（１）式に当てはめる処理を行う。(Width−１,０)まで処理が進んだら、次のラインに移動し、左端（ｘ,ｙ）＝（０,１）から(Width−１,１)まで処理を行う。同様にラインを移動し続け、上記と同様の処理を（Width−１,Height−１−ｍ）まで行う。これにより、副走査方向に関する各画素の位置における画像の微分情報値が得られる（図５）。また、図５のｙ＝Height−１のラインは、計算できないので空欄となっている。また、本実施の形態ではｘを１ずつ増やしながら走査し、１ラインずつずらしているが、ｘを１以上ずつ増やしながら、数ラインずつずらし、選択された画素の位置で微分情報を取得してもよい。
【００３７】
次に、微分情報２値化処理について説明する。尚、微分情報２値化処理は画像処理手段４０１及びＣＰＵ４０４により実行される。
【００３８】
この微分情報２値化処理は、前述した微分情報値Δ(ｘ,ｙ)をある閾値ｓで２値化する。
本実施の形態では、微分情報値が閾値ｓ（＝５０）を超えた場合１、それ以外を０とする。２値化情報Ｔ(ｘ,ｙ)は以下の（２）式で取得する。尚、ｓを５０とするのは一例である。
Ｔ(ｘ,ｙ)＝１  (Δ(ｘ,ｙ)>ｓ )                        ……（２）
０  (Δ（ｘ,ｙ）≦ｓ )  （ｓ＝５０）
【００３９】
次に、境界座標情報取得手段について図６を用いて説明する。尚、座標情報取得処理は画像処理手段４０１及びＣＰＵ４０４により実行される。
【００４０】
図６は、微分情報２値化処理で取得した２値化情報Ｔ(ｘ,ｙ)を示す図である。
【００４１】
図６において、６０４は２値化情報の全体図であり、６０１は、各横ラインにおいてＴ(ｘ,ｙ)＝１となる画素のうち１番小さいｘ座標値を有する画素のｘ座標値を格納するバッファである。６０２は、各横ラインにおいてＴ(ｘ,ｙ)=１となる画素のうち１番大きいｘ座標値を有する画素のｘ座標値を格納するバッファである。６０３は、各縦ラインにおいてＴ(ｘ,ｙ)＝１となる画素のうち１番大きいｙ座標値を有する画素のｙ座標値を格納するバッファである。６０５は、各縦ラインにおいてＴ(ｘ,ｙ)＝１となる画素のうち１番小さいｙ座標値を有する画素のｙ座標値を格納するバッファである。各横ラインまたは各縦ラインにＴ(ｘ,ｙ)＝１となる画素が見つからなかった場合は、各バッファに−１を設定する。尚、バッファ６０１，６０２の最後の列（ｙ＝２５に対応する値）には−１が設定される。これは、前記（１）式の計算をHeight−１−mラインまでしか行っていないからである。
【００４２】
次に、実際に画像読取装置で原稿を読み取った読取画像の、本実施例に関係ある特性について説明する。これから説明する読取画像においては、その原稿部分と背景部分の境界には影が存在する。
【００４３】
図７は、ラインイメージセンサ１２０と、画像読取装置１００内に搬送される原稿と、該原稿の読取画像との対応関係を示す図である。
【００４４】
図７において、矢印１１０９は原稿の搬送方向を示しており、１１０２は画像読取装置１００内に搬送される原稿であり、１１０４は副走査方向に搬送される原稿１１０２をラインイメージセンサ１２０で読取ることにより得られる読取画像であり、１１０３は読取画像１１０４において原稿１１０２に対応する原稿画像であり、１１０５は読取画像１１０４における背景画像であり、１１０６は、原稿画像１１０３の後端において原稿画像と背景画像との境界に形成される影部である。
【００４５】
図８は、図７のラインイメージセンサ１２０で原稿１１０２を読み取ったときの副走査方向の濃度変化を示すグラフであり、図８ａは、ラインイメージセンサ１２０の読取位置１１０７で読み取った縦ラインの濃度変化を示し、図８ｂは、ラインイメージセンサ１２０の読取位置１１０８で読み取った縦ラインの濃度変化を示し、図８ｃは、読取位置１１０７における濃度変化の微分値を示し、図８ｄは、読取位置１１０８における濃度変化の微分値を示す。尚、原稿画像１１０３の余白の濃度は、背景画像１１０５の濃度にほぼ等しいものとして例示する。
【００４６】
図８ａに示すように、ラインイメージセンサ１２０の読取位置１１０７は原稿１１０２が通過しない場所を読取るため、読取画像の濃度はほぼ一定値（例えば２００）となる。一方、図８ｂに示すように、ラインイメージセンサ１２０の読取位置１１０８は原稿１１０２が通過する位置を読取る。このとき、原稿画像の後端部と背景画像１１０５との境界に影部１１０６が形成されるため、読取画像の濃度は影部１１０６の位置で急激に変化する。濃度が急激に変化する位置では、副走査方向（図８の縦方向）に微分した値の絶対値が大きくなる（図８ｄ）。本実施の形態では、縦方向、すなわち副走査方向の微分を求めることにより、原稿画像と背景画像の境界にできる影部１１０６、または、原稿先端において、原稿画像と背景画像との境界における濃度変化を検知している。したがって、バッファ６０１，６０２，６０３に格納する値は、原稿画像の境界の位置を示す境界座標値（座標データ）を示すことになる。
【００４７】
ここで、ラインイメージセンサ１２０及び対向部材１０９に付着したゴミについて説明する。図２２に示すように、ラインイメージセンサ１２０やラインイメージセンサ１２０の対向面（例えば、ガラス１０６の上面）にゴミが付着した場合、原稿画像には縦スジ（黒線）２２０４が発生する。しかし、本発明の微分処理を実行した場合、ゴミの影響で発生した副走査方向の縦スジに対して微分をとっても、副走査方向には急激な濃度変化がないため、その微分値は、図８ｃのグラフに示すように低い値となる。そのため、原稿１１０２の後端の影部１１０６を検知する処理は、ゴミによる縦スジの発生に影響されない。また、読取位置１１０８にゴミがついた場合、ゴミによって発生する縦スジのライン上では原稿と背景の位置を微分値から特定できないが、ゴミが付着していない隣接したラインのデータを使用することにより、後述するサイズ検知や傾き検知を行うことが可能である。
【００４８】
次に、原稿画像と背景画像の境界座標値をバッファ６０１〜６０３に格納する処理を説明する。
【００４９】
図９は、バッファ６０１に境界座標値を格納する処理を示すフローチャートである。ここでは、バッファ６０１用の配列変数をbuff[ｙ]とし、注目画素の座標を（ｘ,ｙ）とする。
【００５０】
図９において、まず、図６に示す２値化情報の全体図６０４の左上端Ａをスタート地点(ｘ＝０,ｙ＝０)とし（ステップＳ９１，Ｓ９１ａ）、注目画素をｘ軸と平行な方向にｘ座標値の小さい画素から順にずらしながら走査を行う。次に、注目画素の２値化情報Ｔ(ｘ,ｙ)が１であるか否かを判別し（ステップＳ９２）、注目画素の２値化情報Ｔ(ｘ,ｙ)が１でない場合は、ｘをインクリメントして（ｘ＝ｘ＋１）（ステップＳ９３）、ステップＳ９５に進む。注目画素の２値化情報Ｔ(ｘ,ｙ)が１である場合は、バッファ６０１に注目画素のｘ座標値を格納して(buff[ｙ]＝ｘ)（ステップＳ９４）、ステップＳ９８に進む。ステップＳ９５では、注目画素が読取画像の右端を越えているか否かを判別する(ｘ≧Width？)。注目画素が右端を越えていない場合はステップＳ９２に戻り、注目画素が右端を越えている場合は、バッファに−１を格納し(buff[ｙ]=−１)（ステップＳ９７）、注目画素を含む横ラインが最終ラインであるか否かを判別する(ｙ≧Height−１？)（ステップＳ９８）。注目画素を含む横ラインが最終ラインでない場合は、次の横ラインへ移動するためにｙをインクリメントして(ｙ＝ｙ＋１)（ステップＳ９９）、ステップＳ９１ａに戻り、最終ラインである場合は、本処理を終了する。
【００５１】
図１０は、バッファ６０２に境界座標値を格納する処理を示すフローチャートである。尚、図１０の処理は、図６に示す２値化情報の全体図６０４の右上端Ｂを注目画素のスタート地点とし、ｘ軸と平行な方向にｘ座標値の大きい画素から順に走査を行うこと以外は、図９のデータ格納処理と基本的に同じであるので、その説明を省略する。
【００５２】
図１１は、バッファ６０３に境界座標値を格納する処理を示すフローチャートである。図１１の処理は、図６に示す２値化情報の全体図６０４の左下端Ｃを注目画素のスタート地点とし、ｙ軸と平行な方向にｙ座標値の大きい画素から順に走査を行い、バッファ６０３用の配列変数（すなわち、buff[ｙ]に相当）をbuff[ｘ]とすること以外は、図９のデー
タ格納処理と基本的に同じであるので、その説明を省略する。上記境界座標値格納処理によれば、原稿画像と背景画像の境界座標値をバッファ６０１〜６０３、６０５に格納し、原稿画像と背景画像の境界座標値を取得することができる。
【００５３】
図２３は、バッファ６０５に境界座標値を格納する処理を示すフローチャートである。図２３の処理は、図６に示す２値化情報の全体図６０４の左上端Ａを注目画素のスタート地点とし、ｙ軸と平行な方向にｙ座標値の小さい画素から順に走査を行い、バッファ６０５用の配列変数（すなわち、buff[ｙ]に相当）をbuff[ｘ]とすること以外は、図９のデータ格納処理と基本的に同じであるので、その説明を省略する。
【００５４】
上記境界座標値格納処理によれば、原稿画像と背景画像の境界座標値をバッファ６０１〜６０３、６０５に格納し、原稿画像と背景画像の境界座標値を取得することができる。
【００５５】
次に原稿前後端検出手段について説明する。原稿前後端検出手段は、図1のレジストセンサ１１０及びその出力信号の変化を認識して原稿の前後端を検知するＣＰＵ４０４のことである。不図示のハードウエア回路を検知に用いてもよい。ＣＰＵ４０４は原稿の先端がこのレジストセンサ１１０を通過してから原稿の後端が通過するまでの時間を計測する。また、原稿を搬送するスピードはあらかじめ解像度等によって決まっておりメモリ上に記録されている。原稿搬送スピードと原稿がレジストセンサ１１０を通過し始めてから通過し終わるまでの時間から原稿の長さを取得している。
【００５６】
上述したように、本実施の形態によれば、原稿に形成された画像を読取ユニット１０８で読み取り、読取ユニット１０８で読み取った読取画像を副走査方向に走査して、読取画像の全画素のうち選択された画素の位置における該読取画像の副走査方向に関する微分情報を取得し（微分情報生成処理）、微分情報から各画素の２値化情報を取得し（微分情報２値化処理）、２値化情報から読取画像中の原稿画像と背景画像との境界座標値を取得するので（座標情報取得処理）、読取ユニット１０８や対向部材１０９に付着したゴミにより読取画像に副走査方向に延びる縦スジが発生した場合であっても、原稿画像と背景画像の境界位置を正確に検出することができる。また、ラインイメージセンサ１２０の対向部材１０９を白色にすることで、シェーディング補正時と画像読み取り時で、ラインイメージセンサ１２０を移動させる必要がなくなるので、ラインイメージセンサを移動する移動手段等の構成を省くことができ、読取ユニットの構成を単純化することができる。
【００５７】
次に、原稿サイズ検知処理について説明する。図１２は、原稿サイズ検知処理を説明する図である。原稿サイズ検知処理では、上記の座標情報取得処理によって得られた境界座標値が用いられる。尚、原稿サイズ検知処理は、画像処理手段４０１及びＣＰＵ４０４により実行される。
【００５８】
図１２に示すように、原稿サイズ検知処理で検知するサイズとは、読取画像１３０３のうち、原稿画像の全ての部分を含む最小四角形のサイズである。１３０１は読取画像１３０３内の原稿画像であり、１３０２はサイズ検知結果として得られる最小四角形である。また、境界線１３０４〜１３０７は、バッファ６０１〜６０３に格納した境界データから夫々導いたものである。具体的には、まず、座標値ｘ１を求めるために、バッファ６０１を利用する。座標値ｘｌは、バッファ６０１に格納した境界データの中で１番小さい値に設定される（但し、−１は除く）。同様にして、座標値ｘｒはバッファ６０２に格納した境界データの中で１番大きい値に設定され、座標値ｙｔは、バッファ６０３に格納した境界データの中で一番大きい値に設定される。また、ラインイメージセンサが読み始める位置は原稿の先端の位置と同じであるため、座標値ｙｂは常に０に設定される。
【００５９】
次に、傾き補正処理について、説明する。傾き補正処理は、後述する原稿傾斜角検出処理と外接長方形算出処理と回転処理で構成されている。
【００６０】
まず、原稿傾斜角検出処理を説明する。原稿傾斜角検出処理では、バッファ６０３に格納された境界座標値が用いられる。尚、この原稿傾斜角検出処理はＣＰＵ４０４により実行される。
【００６１】
図１３は、バッファ６０３の境界座標値から得られる線分を示す図である。図１３において、ｘ軸方向の区間Ａは、濃度変化がなかったために境界座標値が−１に設定されている部分である。区間Ｂには、配列にｙ座標が格納されている。バッファ６０３に格納されている値は、原稿下側の影の位置に相当する。まず、バッファ６０３の境界座標値から最大値（Ｐ２）、左端（Ｐ１）及び右端（Ｐ３）を求める。次に、線分Ｐ１―Ｐ２
と線分Ｐ２―Ｐ３とを分け、線分Ｐ１―Ｐ２及び線分Ｐ２―Ｐ３の傾斜角を検出する。
【００６２】
図１４は、線分Ｐ１―Ｐ２及び線分Ｐ２―Ｐ３の傾斜角の検出を説明する図であり、図１４ａは、線分Ｐ１―Ｐ２を示し、図１４ｂは、線分Ｐ２―Ｐ３を示す。
【００６３】
図１４ａに示すように、線分Ｐ１―Ｐ２に関して、Ｐ１からＰ2に向かって一定間隔ａ
で配列を進めていき（ｐ１ｎ；ｎは自然数）、Ｐ２を超えるまでｙ座標の差分値ｂ１〜ｂｎを求め、差分値ｂ１〜ｂｎの合計値sum１（sum１は図示の例では正の値）を算出する。同様に、線分Ｐ２―Ｐ３に関して、Ｐ２からＰ３に向かって一定間隔ａで配列を進めていき（ｐ２ｍ；ｍは自然数）、Ｐ３を超えるまでｙ座標の差分値ｃ１〜ｃｍを求め、差分値ｃ１〜ｃｍの合計値sum２（sum２は図示の例では負の値）を算出する（図１４ｂ）。
【００６４】
次に、上記自然数ｎと自然数ｍのうち大きい方を採用し（区間Ｃ及び区間Ｄのうち長い方の区間を採用）、以下の（３）式を用いて傾きベクトル(ｇ,ｈ)を求め、この傾きベクトルにより原稿画像の傾斜角を検出する。
【００６５】
（g, h）＝（a, sum１／ｎ）   ｎ≧ｍ              ……（３）
(a, sum２／ｍ)   ｎ＜ｍ
本原稿傾斜角検出処理によれば、バッファ６０３に格納された境界座標値を用いて読取画像中の原稿画像の傾斜角を検出することができる。
【００６６】
次に、外接長方形算出処理を説明する。この外接長方形算出処理では、前記傾斜角検出処理で得られた傾きベクトル(ｇ,ｈ)と前記境界座標値（バッファ６０１及びバッファ６０２に格納された値）とが用いられる。尚、この外接長方形算出処理は画像処理手段４０１及びＣＰＵ４０４により実行される。
【００６７】
図１５は、読取画像１６０１内の傾いた原稿画像１６０２を示す図である。図１５において、１６０４及び１６０５は、バッファ６０１に格納された境界座標値から得られる境界線である。１６０６及び１６０７は、バッファ６０２に格納された境界座標値から得られる境界線である。１６１２ａ，１６１４ａは、ｎ≧ｍの場合、傾きｈ／ｇを有する直線を示し、１６１３ａ，１６１５ａは、傾き−ｇ／ｈを有する直線を示す。１６１２〜１６１５は、夫々、１６１２ａ〜１６１５ａのうち上記境界線１６０４〜１６０７に接する直線である。点１６０８〜１６１１は、夫々、直線１６１２〜１６１５のうち互いに垂直に交わる２直線の交点を示す。
【００６８】
まず、境界線１６０５に接する傾きｈ／ｇの直線１６１２の方程式を求める方法を説明する。ここではｎ≧ｍであって（g, h）＝（a, sum１／ｎ）とした場合を例にとって説明する。まず、ｙ＝（ｈ／ｇ）ｘ＋ｂを変形して、
ｂ＝−（ｈ／ｇ）ｘ＋y      ……（４）
とする。そして、バッファ６０１に格納された境界座標値を上記式（４）のｘ,ｙに代入し、ｂを求める。上記（４）式にバッファ６０１の全ての境界座標値を代入することにより求められるｙ切片ｂの中で最も大きい値を選択し、この最大値により境界線１６０５に接する直線を求める。
【００６９】
同様に、境界線１６０７に接する直線１６１４の方程式を求める場合は、
ｃ＝−（ｈ／ｇ）ｘ＋ｙ      ……（５ａ）
の式にバッファ６０２の全ての境界座標値を代入することにより求められるｙ切片ｃの中で最も小さい値を選択する。
【００７０】
境界線１６０４に接する直線１６１５の方程式を求める場合は、
ｅ＝（ｇ／ｈ）ｘ＋ｙ        ……（５ｂ）
の式にバッファ６０１の全ての境界座標値を代入することにより求められるｙ切片ｅの中で最も小さい値を選択する。
【００７１】
同様に、境界線１６０６に接する直線１６１３の方程式を求める場合は、
ｄ＝（ｇ／ｈ）ｘ＋ｙ        ……（５ｃ）
の式にバッファ６０２の全ての境界座標値を代入することにより求められるｙ切片ｄの中で最も大きい値を選択する。
【００７２】
次に、前記手順で求めた４直線１６１２〜１６１５の交点１６０８〜１６１１の座標を求める。交点１６０８〜１６１１の各座標は、互いに垂直に交わる２直線の連立方程式を解くことによって求められる。尚、ｎ＜ｍの場合の算出法は省略する。
【００７３】
本外接長方形算出処理によれば、読取画像中の原稿画像に外接する長方形を検出することができる。
【００７４】
次に、傾き補正処理で行われる画像の回転処理について説明する。この傾き補正処理では、前記傾斜角検出処理で得られた傾きベクトル（ｇ,ｈ）と前記外接長方形算出処理で検出された原稿の４頂点の交点１６０８〜１６１１の座標が用いられる。
【００７５】
図１６は、傾きベクトル（ｇ,ｈ）の値と原稿の傾き方向の関係を示す図であり、図１６ａは、ｈが正の値であり且つｇ＜ｈの場合を示し、図１６ｂは、ｈが正の値であり且つｇ＞ｈの場合を示し、図１６ｃは、ｈが負の値であり且つｇ＜｜ｈ｜の場合を示し、図１６ｄは、ｈが負の値であり且つｇ＞｜ｈ｜の場合を示す。
【００７６】
図１６ａ〜図１６ｄにおいて、ｈが正の値であり且つｇ＜ｈの場合は、回転軸を原稿画像の左上の頂点として、原稿画像を時計回りに角度θだけ回転させ（図１６ａ）、ｈが正の値であり且つｇ＞ｈの場合は、原稿画像を反時計回りに角度θだけ回転させる（図１６ｂ）。尚、本実施の形態では、ｇ＝ｈの場合は原稿画像を時計周りに回転させることとする。また、ｈが負の値であり且つｇ＜｜ｈ｜の場合は、原稿画像を反時計回りに角度θだけ回転させ（図１６ｃ）、ｈが負の値であり且つｇ＞｜ｈ｜の場合は、時計回りに角度θだけ回転させる（図１６ｄ）。ｇ＝｜ｈ｜の場合は原稿画像を時計周りに回転させることとする。通常は読取られる原稿が大きく傾く頻度は少ないため、図１６ｂ及び図１６ｄのいずれかの回転を行うことが多い。さらに、回転後の原稿画像の左上の頂点をｘｙ座標系の原点に合わせるように補正する。
【００７７】
図１７は、原稿画像の回転方法を説明する図であり、図１７ａは、回転前の画像Ａを示し、図１７ｂは、回転後の画像Ｂを示す。
【００７８】
図１７において、画像Ｂの幅と高さは、以下の（６）式を用いて、前記外接長方形算出処理で算出された原稿の４頂点のうちの３点（ｘ１,ｙ１）,（ｘ２,ｙ２）,（ｘ４,ｙ４）から次式で求められる。
ｗ＝√（（ｘ１−ｘ４）2＋（ｙ１−ｙ４）2）
……（６）
ｈ＝√（（ｘ１−ｘ２）2＋（ｙ１−ｙ２）2）
【００７９】
次に、画像Ｂの各画素の濃度値を決定する方法を説明する。画像Ｂの各画素の濃度値は、以下の（７）式を用いて、画像Ａの各画素の濃度値を参照することで決定される。
【００８０】
ｘ＝Ｘcosθ−Ｙsinθ＋ｘ１            ……（７）
ｙ＝Ｘsinθ＋Ｙcosθ＋ｙ１
（ｘ,ｙ）：回転前の画素位置
（Ｘ,Ｙ）：回転後の画素位置
但し、ここでは、角度θは時計回りに測定される角度としている。
【００８１】
図１８は、傾き補正処理を示すフローチャートである。尚、この傾き補正処理は画像処理手段４０１及びＣＰＵ４０４により実行される。
【００８２】
図１８において、まず、図１７に示す画像Ｂの左上端から右下端へ向かって各画素毎に順に走査を行い（ステップＳ１８１）、上記（７）式を用いて注目画素（Ｘ,Ｙ）の回転前
の座標（ｘ,ｙ）を算出する（ステップＳ１８２）。次に、回転前の座標（ｘ,ｙ）が画像Ａからはみ出ているか否かを判別する（ステップＳ１８３）。回転前の座標（ｘ,ｙ）が画像Ａからはみ出ていた場合、注目画素（Ｘ,Ｙ）の濃度値を白に相当する値とし（ステップＳ１８４）、回転前の座標（ｘ,ｙ）が画像Ａからはみ出ていない場合は、座標（ｘ,ｙ）の画素濃度値を、注目画素（Ｘ,Ｙ）の濃度値にする（ステップＳ１８５）。次に、注目画素（Ｘ,Ｙ）が画像Ｂの右下端に位置しているか否かを調べる（ステップＳ１８６）。注目画素（Ｘ,Ｙ）が画像Ｂの右下端に位置していない場合はステップＳ１８１に戻り、注目画素（Ｘ,Ｙ）が画像Ｂの右下端に位置している場合は、本処理を終了する。本傾き補正処理によれば、回転させた原稿画像の傾きを補正することができる。
【００８３】
次にサイズ検知手段によるサイズ検知処理を行うか否かを判断する処理と、原稿の傾きを補正する処理（以下傾き補正処理）を行うか否かの判断処理について説明する。サイズ検知処理、及び、傾き補正処理を行わないことを選択する条件は、読取った原稿画像の長さ（以下原稿画像長とする）が、前記原稿前後端検出手段で取得した実際の原稿長よりも短いときである。このときは、サイズ検知、または、傾き補正処理は行わないようにする。このとき実際には、サイズ検知処理の工程を実行するのであるが、読取画像の幅と高さと同じ値を出力するようになっている。また、このとき傾き補正処理の工程を実行するのであるが、前述した傾斜角検出処理が検出した傾斜角が０度であるとして補正処理の工程を行う。その結果として実際には補正が行われないのと同等になる。なお、サイズ検知処理の工程や傾き補正処理の工程をスキップするようにしてもよい。
【００８４】
次に原稿画像長が実際の原稿長よりも短いとき、サイズ検知処理、及び、傾き補正処理を行うことが不適当である理由について説明する。
【００８５】
図２１ｂは読取画像９０４の長さが原稿９０２の長さより短い場合である。図２１ｂは、原稿９０２の中に黒い直線９０３が描かれている。図２１ｂの場合、原稿の後端まで読取られていないため原稿の後端の影がわからない。そのため、サイズ検知処理を行うと原稿内にある黒い直線９０３を原稿の後端と誤認識し、この黒い直線９０３から境界座標情報を取得してしまうことになり不適当である。読取画像の長さが実際の原稿長よりも短かい場合、境界座標情報取得手段で取得した境界座標情報は、原稿の後端から得られたのか、原稿内の絵から得られたのか区別がつかない。また、原稿内の領域を指定して読み込んだときも原稿と背景の境界がわからない。このときも、原稿画像長が実際の原稿長よりも短い。また、領域を指定しないで読取を行った場合でも、実際の原稿が画像読取装置の読取可能長さよりも長いと、原稿の末端を画像読取装置が読み取れていないため原稿画像長が実際の原稿長よりも短くなる。これらの場合でもサイズ検知処理を行うことは不適当である。
【００８６】
図２１ａは読取画像９０５の長さが原稿９０１の長さよりも長い場合である。この場合は、２本の原稿の縁９０７が原稿画像上に全てあるので、この原稿の縁９０７を利用すれば、サイズ検知処理、傾き補正処理が行えることがわかる。
【００８７】
本実施の形態では、微分情報生成処理は、濃度の変化点を見つけるために１次微分を行っているが、２次微分を行ってもよい。また、１次微分及び２次微分の両方を行ってもよい。
【００８８】
本実施の形態では、サイズ検知処理、傾き検出及び原稿に外接する長方形の検出並びに傾き補正処理は、画像処理手段４０１及びＣＰＵ４０４により実行されるが、信号ケーブル４０９に接続されたＰＣ等のホスト装置が備える画像処理手段及びＣＰＵにより実行されてもよい。
【００８９】
また、原稿に外接する長方形の検出処理において、レジストセンサ１１０を用いて原稿の先端と後端が通過するタイミングを検出し、読取画像内の原稿画像の先端位置と後端位置を推測し、その情報を利用して原稿画像の先端の一辺と後端の一辺の検出結果を補正してもよい。具体的には、原稿の先端の一辺はレジストセンサ１１０で検知した原稿先端が通過したタイミングに対応する位置を通る直線となるようにして、原稿の後端の一辺はレジストセンサ１１０で検知した原稿後端が通過したタイミングに対応する位置を通る直線となるようにする。
【００９０】
また、本実施の形態では、原稿画像の後端部に影ができ易い照射方向とし、後端部の影を利用して原稿画像の境界を検知したが、これに限るものではなく、照射方向を変えて原稿画像の先端部にできる影を利用して、検知や補正を行うようにしてもよい。
【実施例２】
【００９１】
次に、サイズ検知処理及び傾き補正処理を行えなかった場合、画像読取を停止し、ユーザーにエラーとして通知する方法について説明する。画像読取装置の構成、画像読取り処理、サイズ検知処理、及び、傾き補正処理の内容は前述したとおりである。
【００９２】
図２５はサイズ検知処理を行えないと判断した場合、エラーとしてＰＣ上にエラーを表示するまでのフローチャートである。まず、画像読取を開始するための初期化等の処理を行い（ステップＳ２００）、次に原稿があるか確認する（ステップＳ２０１）。原稿がなければ読取処理を終了する（ステップＳ２０６）。原稿があった場合、画像読取を行い（ステップＳ２０２）、原稿の長さが読取画像の長さよりも長く、サイズ検知処理を行えるか判断する（ステップＳ２０３）。サイズ検知処理を行えると判断した場合、サイズ検知処理を行い（ステップＳ２０４）、画像を保存した後（ステップＳ２０５）、ステップＳ２０１に戻り処理を継続する。ステップＳ２０３でサイズ検知処理を行えないと判断した場合、画像読取を停止して、エラーが検出された原稿の画像を表示するとともにエラーを表示する（ステップＳ２０７）。エラー表示の仕方の一例としてここでは、ＰＣ上にエラーダイアログを表示して、ユーザーにエラーであることを通知する。その後、ユーザーに画像読取処理を継続するかどうかを選択させる（ステップＳ２０８）。選択の手段としては、ＰＣ上に、継続しますか？という内容の文字列を表示したＹｅｓボタン・Ｎｏボタンを備えるダイアログを表示する。ステップＳ２０８でＹｅｓボタンを押して、継続することを選択した場合、ステップＳ２０１に戻り処理を継続する。また、Ｎｏボタンを押して処理を中断することを選択した場合、画像読取処理を終了する（ステップＳ２０９）。図２５のエラー表示のフローチャートは、サイズ検知処理に関する判断を行う場合を例示したものであるが、傾き補正処理に関する判断を行う場合は図２５のフローチャートの、サイズ検知処理を行えるか否かの判断を行うステップＳ２０３とサイズ検知処理を行うステップＳ２０４を、傾き補正処理を行えるか否かの判断及び傾き補正処理を行うステップに置き換えればよい。
【００９３】
本実施の形態では、ＰＣ上にエラーダイアログを表示するものであるが、ＰＣ上にエラーダイアログを表示しないで、ファイルにログとしてエラーを記録してもよい。
【００９４】
また、エラーダイアログを表示するだけではなく、原稿の傾き情報をユーザーに入力させる入力手段を設け、入力された傾き情報を利用して、傾き補正処理を行ってもよい。
【００９５】
また、本発明の目的は、上述した実施の形態の機能を実現するソフトウェアのプログラムを記憶した記憶媒体を画像処読取装置に供給し、その画像処理装置のコンピュータ（又はＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読出して実行することによっても、達成される。
【００９６】
この場合、記憶媒体から読出されたプログラムコード自体が上述した実施の形態の機能を実現することとなり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成する。
【００９７】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等の光ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００９８】
コンピュータから読出されたプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動するＯＳ（オペレーティングシステム）等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【０１００】
【図１】本発明の実施の形態に係る画像読取装置の構成を示す断面図
【図２】画像読取装置の電気回路の概略構成を示すブロック図
【図３】読取ユニットの図及び、読取ユニットにより原稿の後端が読み取られている状態を示す図
【図４】読み取った原稿画像の左上端を原点としたｘｙ座標系を示す図
【図５】副走査方向に関する各画素の微分情報値を示す図
【図６】微分情報２値化処理で取得した２値化情報Ｔ（ｘ,ｙ）を示す図
【図７】ラインイメージセンサと、原稿と、読取画像との対応関係を示す図
【図８】読み取った縦ラインの濃度変化を示すグラフ及び、濃度変化の微分値を示すグラフ
【図９】バッファ６０１に境界座標値を格納する処理を示すフローチャート
【図１０】バッファ６０２に境界座標値を格納する処理を示すフローチャート
【図１１】バッファ６０３に境界座標値を格納する処理を示すフローチャート
【図１２】原稿サイズ検知処理を説明する図
【図１３】バッファ６０３の境界座標値から得られる境界線を示す図
【図１４】線分Ｐ１―Ｐ２、線分Ｐ２―Ｐ３の傾斜角の検出を説明する図
【図１５】読取時の斜行により傾斜した原稿画像を示す図
【図１６】傾きベクトル（ｇ,ｈ）と原稿の傾き方向の関係を示す図
【図１７】回転前の画像Ａ、回転後の画像Ｂを示す図
【図１８】傾き補正処理を示すフローチャート
【図１９】従来の画像読取装置を説明する図
【図２０】従来の画像読取装置を用いて領域指定で原稿を読取った場合の図
【図２１】原稿画像長が原稿長よりも長い場合及び、原稿画像長が原稿長よりも短い場合を例示する図
【図２２】ゴミによる縦スジの影響を説明するための図
【図２３】バッファ６０５に境界座標値を格納する処理を示すフローチャート
【図２４】両側照射を説明するための図
【図２５】エラー表示処理を示すフローチャート
【符号の説明】
【０１０１】
１００  画像読取装置
１０６  ガラス
１０９  対向部材
１１０  レジストセンサ
１２０  ラインイメージセンサ
１２１  光源
１２３  原稿
１２４  影
４０１  画像処理部
４０２  画像メモリ
４０３  インターフェース部
４０４  ＣＰＵ
４０５  ワークメモリ
６０１  エッジ位置格納用バッファ
６０２  エッジ位置格納用バッファ
６０３  エッジ位置格納用バッファ
６０４  原稿後端ライン
６０５  エッジ位置格納用バッファ
７０１  画像読取装置
７１１  読取ユニット
７１７  対向部材
７２０  位置検知センサ
７２３  原稿
９０１  原稿
９０２  原稿
９０３  原稿内の黒い直線
９０４  原稿画像
９０５  原稿画像
９０６  原稿の縁
９０７  原稿の縁
１１０２  原稿
１１０３  画像内の原稿
１１０４  読取画像
１１０５  画像内の背景
１１０６  影
１１０７  読取位置
１１０８  読取位置
１１０９  搬送方向
１６０２  原稿画像
１６１２a  外接線分の式
１６１３a  外接線分の式
１６１４a  外接線分の式
１６１５a  外接線分の式
２０００  読取領域
２００１  黒い線
２００２  読取画像内の黒い線
２２０１  読取画像
２２０２  原稿画像
２２０３  背景画像
２２０４  縦スジ
【図１】
2010016539.tif 000003
【図２】
2010016539.tif 000004
【図３】
2010016539.tif 000005
【図４】
2010016539.tif 000006
【図５】
2010016539.tif 000007
【図６】
2010016539.tif 000008
【図７】
2010016539.tif 000009
【図８】
2010016539.tif 000010
【図９】
2010016539.tif 000011
【図１０】
2010016539.tif 000012
【図１１】
2010016539.tif 000013
【図１２】
2010016539.tif 000014
【図１３】
2010016539.tif 000015
【図１４】
2010016539.tif 000016
【図１５】
2010016539.tif 000017
【図１６】
2010016539.tif 000018
【図１７】
2010016539.tif 000019
【図１８】
2010016539.tif 000020
【図１９】
2010016539.tif 000021
【図２０】
2010016539.tif 000022
【図２１】
2010016539.tif 000023
【図２２】
2010016539.tif 000024
【図２３】
2010016539.tif 000025
【図２４】
2010016539.tif 000026
【図２５】
2010016539.tif 000027