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