JP3670571B2 - Image reading device - Google Patents
Image reading device Download PDFInfo
- Publication number
- JP3670571B2 JP3670571B2 JP2000331916A JP2000331916A JP3670571B2 JP 3670571 B2 JP3670571 B2 JP 3670571B2 JP 2000331916 A JP2000331916 A JP 2000331916A JP 2000331916 A JP2000331916 A JP 2000331916A JP 3670571 B2 JP3670571 B2 JP 3670571B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- image
- reading
- image data
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Optical Systems Of Projection Type Copiers (AREA)
- Image Input (AREA)
- Image Processing (AREA)
- Facsimile Scanning Arrangements (AREA)
- Facsimile Image Signal Circuits (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、搬送されてくる原稿や載置される原稿を読み取る画像読取装置に関し、特に、高精度かつ高速度の原稿読み取りを実現する画像読取装置に関するものである。
【0002】
【従来の技術】
搬送されてくる原稿や載置される原稿を読み取る画像読取装置では、高速の原稿読み取りが要求されることを考慮し、複雑な画像処理を施すことなく原稿を読み取れるようにするために、原稿の姿勢をある決まったものに規制するという方法を用いている。
【0003】
すなわち、複数枚の読取原稿を自動給紙機構にセットして連続的に読み取るような場合には、従来技術では、ユーザに対して、自動給紙機構の用紙ガイドを読取原稿のサイズに合った位置にセットさせることで、原稿の姿勢をある決まったものに規制して読み取るという方法を用いている。
【0004】
また、読取原稿を原稿台に載置させて読み取るような場合には、従来技術では、ユーザに対して、読取原稿を原稿台の上に規定の姿勢で載置させることで、原稿の姿勢をある決まったものに規制して読み取るという方法を用いている。
【0005】
【発明が解決しようとする課題】
しかしながら、このような従来技術に従っていると、原稿の姿勢が規定のものにならない場合には、原稿を正確に読み取れないという問題点がある。
【0006】
すなわち、原稿が傾いてセットされてしまうと、画像読取装置に対して、傾いた形の原稿の画像データが入力されてしまうことで、原稿を正確に読み取れないのである。
【0007】
確かに、最近の画像処理技術の進歩により、パーソナルコンピュータ上などで、傾いた画像データを処理対象として、画像データに対して回転処理などの編集処理を施すことが広く行われている。
【0008】
しかしながら、このような画像処理技術により実現される回転処理は、その処理時間がかかり、これがために、リアルタイムの原稿読み取りが要求されるような画像読取装置には適用できない。
【0009】
このようなことから、従来技術に従っていると、自動給紙機構を備える画像読取装置を使って、例えば、A4サイズの読取原稿とB5サイズの読取原稿とを混在させて連続的に読み取らせるようにすると、小さい方のB5サイズの読取原稿の姿勢が自動給紙機構による規制を受けないことで傾くことが避けられず、これがために、B5サイズの読取原稿を正確に読み取ることができないという問題点や、B5サイズの読取原稿が空白を持つA4サイズの画像になってしまうという問題点があることで、高精度の画像読み取りを実現できないという問題点がある。
【0010】
本発明はかかる事情に鑑みてなされたものであって、搬送されてくる原稿や載置される原稿を読み取るときに、高精度かつ高速度の原稿読み取りを実現する新たな画像読取装置の提供を目的とする。
【0011】
【課題を解決するための手段】
この目的を達成するために、本発明の画像読取装置では、ラインイメージセンサにより読み取られる画像データの中から読取対象の原稿の画像データを切り出す画像読取装置において、ラインイメージセンサにより読み取られる画像データを格納するメモリ手段と、ラインイメージセンサにより読み取られる画像データを2値化することでエッジ部分を検出し、各ライン毎に、最左端に位置するエッジ部分と最右端に位置するエッジ部分とを特定することで、原稿の4辺上に位置するエッジ部分を抽出する抽出手段と、抽出手段の抽出するエッジ部分を使って、読取対象の原稿の傾き及びサイズと、メモリ手段に格納される原稿の画像データの読出開始位置とを検出する検出手段と、検出手段の検出結果に従って原稿の傾きを補正することを実現する画像データの読出順序を決定し、それに従ってメモリ手段から原稿の画像データを読み出す読出手段と、読出手段の決定した読出順序による読み出しにより水平ズレ及び/又は垂直ズレを引き起こす画素の画素データについて、そのズレの形態に応じた画像フィルタを選択して、それに従って、その画素の近傍に位置する画素の画素データを使ってスムージング処理を施すスムージング手段と、読出手段の決定する読出順序により縮小された形で読み出される原稿の画像データを本来の大きさに拡大する拡大手段とを備えるように構成する。
【0012】
このように構成される本発明の画像読取装置では、ラインイメージセンサにより読み取られる画像データを多値データのままメモリ手段に格納していくとともに、抽出手段にも入力していくことになる。
【0013】
この入力を受けて、抽出手段は、ラインイメージセンサにより読み取られる画像データを2値化することでエッジ部分を検出し、各ライン毎に、最左端に位置するエッジ部分と最右端に位置するエッジ部分とを特定することで、原稿の4辺上に位置するエッジ部分を抽出する。
【0014】
この抽出結果を受けて、検出手段は、この抽出されたエッジ部分を使って原稿の4辺の座標位置を示す直線式を特定し、それらの直線式の交点を求めることで原稿の頂点を検出して、それに従って、読取対象の原稿の傾き及びサイズと、メモリ手段に格納される原稿の画像データの読出開始位置とを検出する。
【0015】
読出手段は、この検出結果を受けて、原稿の傾きを補正することを実現する画像データの読出順序を決定し、それに従ってメモリ手段から原稿の画像データを読み出す。
【0016】
そして、この原稿の画像データの読み出しを受けて、スムージング手段は、この読出順序による読み出しにより水平ズレ及び/又は垂直ズレを引き起こす画素の画素データについて、そのズレの形態に応じた画像フィルタを選択して、それに従って、その画素の近傍に位置する画素の画素データを使ってスムージング処理を施す。
【0017】
そして、拡大手段は、スムージング処理の施された原稿の画像データを処理対象として、この読出順序により縮小された形で読み出される原稿の画像データを本来の大きさに拡大する。
【0018】
このようにして、本発明の画像読取装置では、ラインイメージセンサにより読み取られる画像データを多値データのままメモリ手段に格納するとともに、それと並行させて、読取対象の原稿の傾き及びサイズと、メモリ手段に格納される原稿の画像データの読出開始位置とを検出する構成を採って、その検出結果に従って原稿の傾きを補正することを実現する画像データの読出順序を決定し、それに従ってメモリ手段から原稿の画像データを読み出すことで、多値データのまま傾きを補正する形で原稿の画像データを切り出すように処理するのである。
【0019】
これから、本発明の画像読取装置によれば、原稿の画像データを読み取りつつ、多値データのままの状態でもって、その原稿の画像データの傾きを補正していくことができるようになることから、高精度かつ高速度の原稿読み取りを実現できるようになる。
【0027】
【発明の実施の形態】
以下、実施の形態に従って本発明を詳細に説明する。
【0028】
図1に、本発明を具備する原稿読取装置1の一実施形態例を図示する。
【0029】
この図に示すように、本発明の原稿読取装置1は、自動給紙機構により搬送されてくる原稿を読み取るラインイメージセンサ10と、ラインイメージセンサ10の読み取る画像データをA/D変換するA/D変換器11と、A/D変換器11の出力する画像データを入力として、規定の画像処理を施すことで原稿を読み取るメモリ制御部12と、A/D変換器11の出力する画像データを入力として、その画像データの持つエッジ個所を検出するエッジ検出部13と、例えばファームウェアにより構成されて、エッジ検出部13の検出するエッジ情報を入力として、原稿の傾きやサイズを検出する傾き/サイズ検出部14と、例えばファームウェアにより構成されて、メモリ制御部12に対してスキャナ読取処理の起動を指示するとともに、傾き/サイズ検出部14の検出結果を受けて、メモリ制御部12に対してデスキュー処理の起動を指示するスキャナ制御部15とを備える。
【0030】
このメモリ制御部12は、ラインイメージセンサ10により読み取られる原稿の画像データをその読み取りの順番に格納する第1の画像メモリ20と、第1の画像メモリ20に格納される原稿の画像データをその傾きを補正しつつ読み出す傾き補正読出部21と、傾き補正読出部21による読み出しにより発生する画像データの持つギザギザ部分をスムーズなものにするスムージング処理部22と、スムージング処理部22の処理した画像データを平滑化する平滑化処理部23と、平滑化処理部23の処理した画像データを水平方向に拡大する水平拡大処理部24と、平滑化処理部23の処理した画像データを垂直方向に拡大する垂直拡大処理部25と、水平/垂直方向に拡大された画像データを2値化する2値化部26と、原稿の枠部分に存在する陰やノイズを除去するマスキング部27と、これらの処理の施された第1の画像メモリ20から読み出された画像データを格納して、図示しない上位装置に引き渡す第2の画像メモリ28とを備える。
【0031】
このように、メモリ制御部12は、原稿の画像データを2値化してから傾きを補正するのではなくて、2値化する前の多値データの状態で傾きを補正する構成を採って、その後で、スムージング処理を施すという構成を採っている。これから、スムージング処理が有効なものになる。
【0032】
なお、平滑化処理部23や水平拡大処理部24や垂直拡大処理部25や2値化部26やマスキング部27については、従来の画像処理技術で用いられたものを利用することができる。
【0033】
先ず最初に、本発明の原稿読取装置1を構成する各構成部分の概要について説明する。
【0034】
(1)エッジ検出部13は、スキャナ制御部15の発行するスキャナ読取処理の起動に応答して起動されると、図2に示すように、各ライン毎に、ラインイメージセンサ10の読み取る画像データをスキャン開始の左端から順番に確認することで、ノイズや陰に影響されることなく、「白から黒」あるいは「黒から白」に急峻に変化する画素位置を検出して、最初に検出する画素位置を「左エッジ」、最後に検出する画素位置を「右エッジ」として、それを傾き/サイズ検出部14に報告する処理を行う。
【0035】
(2)傾き/サイズ検出部14は、エッジ検出部13から各ライン毎に報告される「左エッジ座標」/「右エッジ座標」を受け取ると、図3に示すように、原稿の上端側の2つの頂点の座標を検出するとともに、原稿の最下端となる頂点の座標を検出する処理を行う。
【0036】
そして、傾き/サイズ検出部14は、この上端側の2つの頂点の座標が検出できた段階で、図中に示す原稿の「幅」と「水平傾き(θ) 」とを算出し、更に、“1/cos θ”に従って水平倍率補正値を算出するとともに、原稿の搬送速度が規定の標準である場合には、その水平倍率補正値と同じ値を垂直倍率補正値として算出し、原稿の搬送速度が規定の標準のものでない場合には、“1/cos θ”と搬送速度の比率値とに従って垂直倍率補正値を算出して、それらの「幅」/「傾き(tan θで表現する)」/「倍率補正値」と、原稿の上左端の頂点に対応付けられる画素データの格納先アドレス(第1の画像メモリ20の格納アドレス)として定義される「切出開始アドレス」とをスキャナ制御部15に報告する処理を行う。
【0037】
そして、傾き/サイズ検出部14は、検出した原稿の最下端の頂点までの読み取りが終えたことを検出(図中に示す原稿の「長さ」を算出できる状態)すると、原稿の読み取りが終了した旨をスキャナ制御部15に報告する処理を行う。
【0038】
(3)スキャナ制御部15は、メモリ制御部12に対してスキャナ読取処理の実行を指示することで、図4に示すように、ラインイメージセンサ10により読み取られる原稿の画像データ(多値データ)を、メモリ制御部12の持つ第1の画像メモリ20にその読み取りの順番に書き込む処理を行う。
【0039】
そして、スキャナ制御部15は、傾き/サイズ検出部14から、上述した「切出開始アドレス」/「幅」/「傾き」/「倍率補正値」の報告を受け取ると、「画像処理モード」/「マスキング範囲」を設定して、それらの受け取った値とその設定した値とを通知しつつ、メモリ制御部12に対してデスキュー処理の実行を指示する処理を行う。
【0040】
なお、スキャナ制御部15は、傾き/サイズ検出部14が傾き/サイズの検出に失敗した場合には、メモリ制御部12に対して傾き“0”のデスキュー処理の実行を指示することになる。
【0041】
そして、スキャナ制御部15は、傾き/サイズ検出部14から、原稿の読み取りが終了した旨の通知を受け取ると、それに応動して、メモリ制御部12に対してデスキュー処理の終了を指示する処理を行う。
【0042】
(4)メモリ制御部12は、スキャナ制御部15からスキャナ読取処理の起動がかかると、図4に示したように、ラインイメージセンサ10により読み取られる原稿の画像データを、メモリ制御部12の持つ第1の画像メモリ20にその読み取りの順番に書き込む処理を行う。
【0043】
そして、メモリ制御部12は、スキャナ制御部15からデスキュー処理の起動がかかると、スキャナ制御部15から通知される「切出開始アドレス」/「幅」/「傾き」/「倍率補正値」に従って、図5に示すように、第1の画像メモリ20に格納される原稿の画像データをその傾きを補正しつつ読み出すとともに、その読み出しにより発生する画像データの持つギザギザ部分をスムーズなものにするスムージング処理を施し、更に、平滑化処理部23や水平拡大処理部24や垂直拡大処理部25や2値化部26やマスキング部27を使って、スキャナ制御部15から通知される「画像処理モード」/「マスキング範囲」に応じた画像処理を施す処理に入って、原稿の読み取りの終了に連動してスキャナ制御部15からデスキュー処理の終了が指示されると、その処理を終了する処理を行う。
【0044】
なお、メモリ制御部12は、スキャナ制御部15から傾き“0”のデスキュー処理の実行を指示されるときには、第1の画像メモリ20に格納される原稿の画像データをそのまま読み出すことで、傾きの補正やスムージング処理は行わないように処理することになる。
【0045】
次に、本発明の原稿読取装置1を構成する各構成部分の詳細な構成について説明する。
【0046】
先ず最初に、エッジ検出部13の詳細な構成について説明する。
【0047】
エッジ検出部13は、図6に示すように、ドットカウンタ130と、左端エッジ座標検出部131と、右端エッジ座標検出部132と、エッジ座標報告部133と、エッジフィルタ部134とで構成されている。
【0048】
このドットカウンタ130は、▲1▼水平同期信号(図2に図示)がONならば、カウンタ値を“0”にリセットし、▲2▼水平有効信号(図2に図示)がONならば、画像クロックをカウントアップし、▲3▼水平有効信号がOFFならば、カウンタ値を保持するように動作することで、左端から順次入力されてくる画像データのドット数をカウントする。
【0049】
左端エッジ座標検出部131は、▲1▼水平同期信号がONならば、最初エッジのレジスタに“0000”をセットし、▲2▼水平有効信号がONで、かつ、最初エッジのレジスタに“0000”がセットされ、かつ、エッジフィルタ部134がエッジを検出するならば、最初エッジのレジスタにドットカウンタ130のカウンタ値をセットし、▲3▼水平有効信号がOFFか、最初エッジのレジスタに“0000”でない値がセットされているか、エッジフィルタ部134がエッジを検出しないならば、最初エッジのレジスタの値を保持することで、各ライン毎に、最初のエッジ部分として検出された画素のドットカウンタ値を保持する。
【0050】
右端エッジ座標検出部132は、▲1▼水平同期信号がONならば、最終エッジのレジスタに“FFFF”をセットし、▲2▼水平有効信号がONで、かつ、エッジフィルタ部134がエッジを検出するならば、最終エッジのレジスタにドットカウンタ130のカウンタ値をセットし、▲3▼水平有効信号がOFFか、エッジフィルタ部134がエッジを検出しないならば、最終エッジのレジスタの値を保持することで、各ライン毎に、最終のエッジ部分として検出された画素のドットカウンタ値を保持する。
【0051】
エッジ座標報告部133は、▲1▼水平同期信号がONならば、上述した最初エッジのレジスタが保持するドットカウンタ値を左端エッジ座標を保持するレジスタにセットするとともに、上述した最終エッジのレジスタが保持するドットカウンタ値を右端エッジ座標を保持するレジスタにセットし、▲2▼水平同期信号がOFFならば、左端エッジ座標を保持するレジスタの値を保持するとともに、右端エッジ座標を保持するレジスタの値を保持することで、左端エッジの座標と右端エッジの座標とを傾き/サイズ検出部14に報告する。
【0052】
エッジフィルタ部134は、注目画素を中心とする中ブロックと、その中ブロックの右側に位置する右ブロックと、その中ブロックの左側に位置する左ブロックとを使い、「原稿の押え板が黒」の場合には、ノイズや陰を除去しつつ、原稿と原稿押え板との境界目や原稿が持つエッジ部分を検出するために、▲1▼図7(a)に示すように、左ブロックに属する全ての画素の画素データがLowスライスよりも小さく、かつ、右ブロックに属する全ての画素の画素データがHigh スライスよりも大きい場合に注目画素位置をエッジであると検出するとともに、▲2▼そのパターンが逆となる、左ブロックに属する全ての画素の画素データがHigh スライスよりも大きく、かつ、右ブロックに属する全ての画素の画素データがLowスライスよりも小さい場合に注目画素位置をエッジであると検出する。ここで、「Lowスライス<High スライス」に設定される。
【0053】
そして、「原稿の押え板が白」の場合には、ノイズや陰を除去しつつ、原稿端部の持つ影や原稿が持つエッジ部分を検出するために、▲1▼図7(b)に示すように、左ブロックと右ブロックとに属する全ての画素の画素データがHigh スライスよりも大きく、かつ、中ブロックに属する全ての画素の画素データのLowスライスよりも小さい場合に注目画素位置をエッジであると検出するとともに、▲2▼そのパターンが逆となる、左ブロックと右ブロックに属する全ての画素の画素データがLowスライスよりも小さく、かつ、中ブロックに属する全ての画素の画素データのHigh スライスよりも大きい場合に注目画素位置をエッジであると検出する。ここで、「Lowスライス>High スライス」に設定される。
【0054】
図8に、エッジフィルタ部134の一例を図示する。
【0055】
この図に示すように、エッジフィルタ部134は、A/D変換器11から入力される画素データ(8ビットの多値データ)を上述のLowスライス/High スライスと比較するコンパレータ200と、コンパレータ200の出力するHigh スライス比較出力をシフトさせつつ保持するシフトレジスタ201と、コンパレータ200の出力するLowスライス比較出力をシフトさせつつ保持するシフトレジスタ202と、シフトレジスタ201が保持する左ブロックに属する画素の比較出力値の論理積を演算するAND回路203と、シフトレジスタ202が保持する左ブロックに属する画素の比較出力値の論理積を演算するAND回路204と、シフトレジスタ201が保持する中ブロックに属する画素の比較出力値の論理積を演算するAND回路205と、シフトレジスタ202が保持する中ブロックに属する画素の比較出力値の論理積を演算するAND回路206と、シフトレジスタ201が保持する右ブロックに属する画素の比較出力値の論理積を演算するAND回路207と、シフトレジスタ202が保持する右ブロックに属する画素の比較出力値の論理積を演算するAND回路208と、AND回路203〜208の演算結果を入力として、注目画素位置をエッジであるのか否かを判定するエッジ判定回路209とを備える。
【0056】
この構成に従って入力されるデータを受けて、エッジ判定回路209は、外部から指示されるフィルタタイプに従って「原稿の押え板が黒」であることを判断する場合には、図9に示すフィルタタイプ1の論理演算を実行することで、注目画素位置がエッジ部分であるのか否かを判断し、そして、外部から指示されるフィルタタイプに従って「原稿の押え板が白」であることを判断する場合には、図9に示すフィルタタイプ2の論理演算を実行することで、注目画素位置がエッジ部分であるのか否かを判断する。
【0057】
なお、図8では図示していないが、Lowスライス/High スライスを発生する回路が用意されていて、このスライス発生回路は、外部から指示されるフィルタタイプに応じて、適切なLowスライス/High スライスを発生してコンパレータ200に与えるように動作する。
【0058】
このエッジフィルタ部134は、スキャナ装置が固有の特性を持つことに対処するために、中ブロックのサイズを1画素/3画素/5画素/9画素の中から選択できるようにするとともに、左ブロックと右ブロックのサイズを2画素/4画素/8画素/16画素の中から選択できるようにしている。
【0059】
この選択の構成は、例えば、図10に示すように、1画素を中ブロックのサイズとして、セレクタによりAND回路を選択することで、左右ブロックのサイズを2画素/4画素/8画素/16画素の中から選択できるようにするエッジフィルタ回路と、3画素を中ブロックのサイズとして、セレクタによりAND回路を選択することで、左右ブロックのサイズを2画素/4画素/8画素/16画素の中から選択できるようにするエッジフィルタ回路と、5画素を中ブロックのサイズとして、セレクタによりAND回路を選択することで、左右ブロックのサイズを2画素/4画素/8画素/16画素の中から選択できるようにするエッジフィルタ回路と、9画素を中ブロックのサイズとして、セレクタによりAND回路を選択することで、左右ブロックのサイズを2画素/4画素/8画素/16画素の中から選択できるようにするエッジフィルタ回路と、これらの4つのエッジフィルタ回路の出力値の中から指定されるものを選択してエッジ判定回路209に入力するセレクタとで実現されることになる。
【0060】
この構成に従って、エッジ検出部13は、スキャナ制御部15の発行するスキャナ読取処理の起動に応答して起動されると、図2に示すように、各ライン毎に、ラインイメージセンサ10の読み取る画像データをスキャン開始の左端から順番に確認することで、ノイズや陰に影響されることなく、「白から黒」あるいは「黒から白」に急峻に変化する画素位置を検出して、最初に検出する画素位置を「左エッジ」、最後に検出する画素位置を「右エッジ」として、それを傾き/サイズ検出部14に報告する処理を行うのである。
【0061】
次に、傾き/サイズ検出部14の実行する詳細な処理について説明する。
【0062】
傾き/サイズ検出部14は、図11(a)に示すような傾いた姿勢で搬送されてくる原稿の傾きとサイズとを検出する処理を行う。このとき、図11(b)に示すように、原稿の四隅が折り曲げられていたり、原稿の四隅にマーク等が記載されていても、原稿の傾きとサイズとを正確に検出する機能を有している。
【0063】
傾き/サイズ検出部14は、具体的には、図12に示すように、原稿の左辺の座標位置を示す式「Y=A*X+B」と、原稿の右辺の座標位置を示す式「Y=A*X+C」と、原稿の上辺の座標位置を示す式「Y=−(1/A)*X+D」と、原稿の下辺の座標位置を示す式「Y=−(1/A)*X+E」とを求めて、これらの4つの式に従って、原稿の上端側の2つの頂点の座標と、原稿の最下端となる頂点の座標とを算出することで、この検出機能を実現している。
【0064】
図13ないし図15に、傾き/サイズ検出部14の実行する処理フローの一実施形態例を図示する。次に、この処理フローに従って、この検出機能を実現する傾き/サイズ検出部14の実行する処理について詳細に説明する。
【0065】
傾き/サイズ検出部14は、原稿読取処理に入ることで起動されると、図13ないし図15の処理フローに示すように、先ず最初に、ステップ1で、エッジ検出部13からエッジのX座標値となる「左端エッジ座標」/「右端エッジ座標」の報告を待って、その報告を受け取ると、ステップ2に進んで、その報告される「左端エッジ座標」/「右端エッジ座標」を受け取る。
【0066】
続いて、ステップ3で、読取ライン数を加算することで、その受け取った「左端エッジ座標」/「右端エッジ座標」のY座標値を算出し、続くステップ4で、その受け取った「左端エッジ座標」/「右端エッジ座標」を、読取ライン数と対応を取りつつ保存する。
【0067】
続いて、ステップ5で、原稿の上端の2つの頂点を検出してあるのか否かを判断して、検出していないことを判断するときには、ステップ6に進んで、受け取った「右端エッジ座標」と「左端エッジ座標」との差分値を算出することで原稿幅を算出する。
【0068】
続いて、ステップ7で、その算出した原稿幅が前回のものよりも広くなったのか否かを判断して、広くなったことを判断するときには、そのままステップ1に戻り、広くなっていないことを判断するときには、ステップ8に進んで、その状態が規定のライン数連続したのか否かを判断して、規定のライン数連続していない場合には、そのままステップ1に戻る。
【0069】
一方、ステップ8で、原稿幅が広くならないことが規定のライン数連続したことを判断するとき、すなわち、図12中に示す原稿幅Wの位置に到達したことを判断するときには、ステップ9に進んで、その連続ライン数の起点となった左端エッジ座標(X1,Y1)と、その連続ライン数の到達点となった左端エッジ座標(X2,Y2)とから、原稿の左辺の座標位置を示す式
Y=A*X+B
を算出するとともに、その連続ライン数の起点となった右端エッジ座標(X3,Y3)と、その連続ライン数の到達点となった右端エッジ座標(X4,Y4)とから、原稿の右辺の座標位置を示す式
Y=A*X+C
を算出する。
【0070】
続いて、ステップ10で、原稿の上辺と左辺及び右辺とが直交しているとともに、原稿の下辺と左辺及び右辺とが直交していることに対応して、原稿の上辺及び下辺の傾きを「−(1/A)」に従って算出する。
【0071】
続いて、ステップ11で、保存してあるエッジ座標の中から原稿の上辺に位置するエッジ座標を抽出する。この原稿の上辺に位置するエッジ座標を抽出処理は、例えば、保存してあるエッジ座標(左端エッジ座標/右端エッジ座標)の中から、ステップ8でその到達を判断した原稿幅Wよりも小さな原稿幅を持つエッジ座標を抽出して、それらの中から、原稿の左辺の座標位置を示す式「Y=A*X+B」や、原稿の右辺の座標位置を示す式「Y=A*X+C」に乗らないものを特定することで行う。
【0072】
続いて、ステップ12で、この抽出したエッジ座標(例えば、図12に示す(X5,Y5))を、原稿の上辺の座標位置を示す式
Y=−(1/A)*X+D
に代入することで、この抽出した各エッジ座標毎にDの値を算出して、他のものから外れている値を除外しつつその算出されたDの値の平均値を算出することで、原稿の上辺の座標位置を示す式
Y=−(1/A)*X+D
を算出する。
【0073】
続いて、ステップ13で、ステップ9で算出した原稿の左辺の座標位置を示す式「Y=A*X+B」と、この算出した原稿の上辺の座標位置を示す式「Y=−(1/A)*X+D」との交点位置を算出することで、原稿の左上頂点の座標を求めるとともに、ステップ9で算出した原稿の右辺の座標位置を示す式「Y=A*X+C」と、この算出した原稿の上辺の座標位置を示す式「Y=−(1/A)*X+D」との交点位置を算出することで、原稿の右上頂点の座標を求める。
【0074】
続いて、ステップ14で、その算出した原稿の左上頂点の座標と右上頂点の座標とから、原稿が右上がりに傾いているのか左上がりに傾いているのかを検出する。すなわち、左上頂点の座標の方が右上頂点の座標よりも読取開始側に近い位置にあるときには、原稿は左上がりの形態で傾いていると判断し、右上頂点の座標の方が左上頂点の座標よりも読取開始側に近い位置にあるときには、原稿は右上がりの形態で傾いていると判断するのである。
【0075】
続いて、ステップ15で、図3に示したもので定義される「切出開始アドレス(原稿の上左端のエッジ座標に対応付けられる画素データの第1の画像メモリ20上の格納アドレス)」と、「幅」と、「傾き(tan θ)」と、「倍率補正値(1/cos θ) 」とを算出して、それをスキャナ制御部15に通知してから、ステップ1に戻る。
【0076】
一方、ステップ5で、原稿の上端の2つの頂点を検出してあることを判断するときには、ステップ16に進んで、原稿の最下端の頂点を検出してあるのか否かを判断して、最下端の頂点を検出していないことを判断するときには、ステップ17に進んで、受け取った「右端エッジ座標」と「左端エッジ座標」との差分値を算出することで原稿幅を算出する。
【0077】
続いて、ステップ18で、その算出した原稿幅が概略0となったのか否かを判断して、原稿幅が概略0になっていないことを判断するときには、ステップ1に戻り、原稿幅が概略0となったことを判断するときには、ステップ18に進んで、保存してあるエッジ座標の中から原稿の下辺に位置するエッジ座標を抽出する。
【0078】
この原稿の下辺に位置するエッジ座標を抽出処理は、例えば、保存してあるエッジ座標(左端エッジ座標/右端エッジ座標)の中から上述の原稿幅Wの検出以降にその原稿幅Wのよりも小さな原稿幅を持つことになったエッジ座標を抽出して、それらの中から、原稿の左辺の座標位置を示す式「Y=A*X+B」や、原稿の右辺の座標位置を示す式「Y=A*X+C」に乗らないものを特定することで行う。
【0079】
続いて、ステップ19で、この抽出したエッジ座標(例えば、図12に示す(X6,Y6))を、原稿の下辺の座標位置を示す式
Y=−(1/A)*X+E
に代入することで、この抽出した各エッジ座標毎にEの値を算出して、他のものから外れている値を除外しつつその算出されたEの値の平均値を算出することで、原稿の下辺の座標位置を示す式
Y=−(1/A)*X+E
を算出する。
【0080】
続いて、ステップ20で、ステップ14で検出される原稿の姿勢に応じて、原稿の左辺の座標位置を示す式「Y=A*X+B」か、原稿の右辺の座標位置を示す式「Y=A*X+C」のいずれか一方の式を選択して、その選択した式と、この検出した原稿の下辺の座標位置を示す式「Y=−(1/A)*X+E」との交点位置を算出することで、原稿の最下端の頂点を求める。
【0081】
すなわち、ステップ14で、原稿が図12に示すように左上がりに傾いていることを検出する場合には、原稿の右辺の座標位置を示す式「Y=A*X+C」と、この算出した原稿の下辺の座標位置を示す式「Y=−(1/A)*X+E」との交点位置を算出することで、原稿の最下端の頂点を求め、一方、原稿が右上がりに傾いていることを検出する場合には、原稿の左辺の座標位置を示す式「Y=A*X+B」と、この算出した原稿の下辺の座標位置を示す式「Y=−(1/A)*X+E」との交点位置を算出することで、原稿の最下端の頂点を求めるのである。
【0082】
続いて、ステップ21で、読取ラインが原稿の最下端の頂点の位置と一致したのか否かを判断して、一致しないことを判断するときには、ステップ1に戻り、一致したことを判断するときには、ステップ22に進んで、原稿の読み取りの終了をスキャナ制御部15に通知して、処理を終了する。
【0083】
そして、ステップ16で、原稿の最下端の頂点を検出してあることを判断するときには、ステップ17〜ステップ20の処理を省略して、直ちにステップ21に進んで、読取ラインが原稿の最下端の頂点の位置と一致したのか否かを判断して、一致しないことを判断するときには、ステップ1に戻り、一致したことを判断するときには、ステップ22に進んで、原稿の読み取りの終了をスキャナ制御部15に通知して、処理を終了する。
【0084】
なお、この原稿の読み取りの終了の際に、図3に示す原稿の「長さ」をスキャナ制御部15に通知するようにしている。これは、第2の画像メモリ28から原稿の画像データを受け取る図示しない上位装置に対して、原稿の画像データを格納するのにどれ位のメモリ容量(=〔長さ/cos θ〕*〔幅/cos θ〕)を用意する必要があるのかを知らせるようにするためである。
【0085】
このようにして、傾き/サイズ検出部14は、エッジ検出部13から各ライン毎に報告される「左エッジ座標」/「右エッジ座標」を受け取ると、図3に示すように、原稿の上端側の2つの頂点の座標を検出するとともに、原稿の最下端となる頂点の座標を検出する処理を行う。
【0086】
そして、傾き/サイズ検出部14は、この上端側の2つの頂点の座標が検出できた段階で、原稿の「幅」と、原稿の「傾き(tan θ:好ましくは分子が1、分母が自然数となる値に近似する)」と、原稿の「倍率補正値(1/cos θ:但し、原稿の搬送速度が標準のものでない場合には、水平倍率補正値と垂直倍率補正値とを別々に算出する)」と算出するとともに、「切出開始アドレス(原稿の上左端のエッジ座標に対応付けられる画素データの第1の画像メモリ20上の格納アドレス)」を特定して、これらのデータをスキャナ制御部15に報告する処理を行う。
【0087】
そして、傾き/サイズ検出部14は、検出した原稿の最下端の頂点までの読み取りが終えたことを検出すると、原稿の読み取りが終了した旨をスキャナ制御部15に報告する処理を行う。
【0088】
スキャナ制御部15は、上述したように、メモリ制御部12に対してスキャナ読取処理の実行を指示することで、図4に示すように、ラインイメージセンサ10により読み取られる原稿の画像データ(多値データ)を、メモリ制御部12の持つ第1の画像メモリ20にその読み取りの順番に書き込む処理を行う。
【0089】
そして、スキャナ制御部15は、上述した処理に従って傾き/サイズ検出部14から、「切出開始アドレス」/「幅」/「傾き」/「倍率補正値」の報告を受け取ると、「画像処理モード」/「マスキング範囲」を設定して、それらの受け取った値とその設定した値とを通知しつつ、メモリ制御部12に対してデスキュー処理の実行を指示する処理を行う。
【0090】
そして、スキャナ制御部15は、傾き/サイズ検出部14から、原稿の読み取りが終了した旨の通知を受け取ると、メモリ制御部12に対してデスキュー処理の終了を指示する処理を行う。
【0091】
次に、メモリ制御部12の実行する処理の詳細について説明する。
【0092】
メモリ制御部12は、スキャナ制御部15からスキャナ読取処理の起動がかかると、図4に示したように、ラインイメージセンサ10により読み取られる原稿の画像データを、メモリ制御部12の持つ第1の画像メモリ20にその読み取りの順番に書き込む処理を行う。
【0093】
なお、これから説明するように、メモリ制御部12は、第1の画像メモリ20に書き込んだ画像データを順次読み出して並列的に処理していくことになるので、ラインイメージセンサ10により読み取られる原稿の画像データを上書きする形で第1の画像メモリ20に書き込むことが可能となる。これから、第1の画像メモリ20は、原稿1枚分の画像データを格納できるようにする容量を持つ必要はない。
【0094】
この書き込みに応答して、傾き/サイズ検出部14は上述した処理に入り、これを受けて、スキャナ制御部15は、ある時点で、メモリ制御部12に対して、「切出開始アドレス」/「幅」/「傾き(tan θ)」/「倍率補正値」/「画像処理モード」/「マスキング範囲」を通知しつつ、デスキュー処理の実行を指示する。
【0095】
このデスキュー処理の実行指示を受け取ると、メモリ制御部12を構成する傾き補正読出部21は、通知された「切出開始アドレス」を起点にして、通知された「傾き(tan θ)」と通知された「幅」とに応じた形で格納アドレスを順次設定しながら、第1の画像メモリ20に格納される原稿の画像データをその傾きを補正しつつ読み出す処理を行う。
【0096】
例えば、水平方向に5画素進んで垂直方向に1画素ずれるという右上がりの「tan θ=1/5」という傾きが通知される場合には、図16に示すように、「切出開始アドレス」を起点にして、水平方向に4画素読み出したら、1つ前の読取ラインの読み出しに入って水平方向に4画素読み出していくということを、通知された「幅」の長さ分繰り返すことで原稿の第1番目のラインをその傾きを補正しつつ読み出し、それに続いて、第2番目のラインと第3番目のラインと第4番目のラインについても、「切出開始アドレス」と同じ水平位置を起点として同様の形で読み出し、第5番目のラインに入ると、「切出開始アドレス」から右に1画素ずれた位置を起点として同様な形で読み出していくということを原稿の最終ラインまで繰り返していくことで、原稿の画像データをその傾きを補正しつつ読み出す処理を行うのである。
【0097】
一方、左上がりの「tan θ=1/5」という傾きが通知される場合には、「切出開始アドレス」を起点にして、水平方向に4画素読み出したら、1つ後の読取ラインの読み出しに入って水平方向に4画素読み出していくということを、通知された「幅」の長さ分繰り返すことで原稿の第1番目のラインをその傾きを補正しつつ読み出し、それに続いて、第2番目のラインと第3番目のラインと第4番目のラインについても、「切出開始アドレス」と同じ水平位置を起点として同様の形で読み出し、第5番目のラインに入ると、「切出開始アドレス」から左に1画素ずれた位置を起点として同様な形で読み出していくということを原稿の最終ラインまで繰り返していくことで、原稿の画像データをその傾きを補正しつつ読み出す処理を行うのである。
【0098】
第1の画像メモリ20に格納される画素データの格納アドレスは、図17に示すような規則性を持ち、これから、傾き補正読出部21は、「切出開始アドレス」/「傾き(tan θ)」/「幅」の通知を受け取ると、どのように格納アドレスを変更していけば傾きを補正した形で原稿の画像データを読み出すことができるのかということを知ることができるので、それに応じた形で格納アドレスを順次設定しながら、第1の画像メモリ20に格納される原稿の画像データをその傾きを補正しつつ読み出す処理を行うことになる。
【0099】
図18ないし図20に、傾き補正読出部21が実行するこの画像データの読み出し処理を処理フローの形で記述したものを図示する。
【0100】
ここで、この処理フローでは、「水平傾き(1/(p+1))」と「垂直傾き(1/(q+1))」とが別々の値で与えられることを想定している。ステップ2で行う右上がりか否かの判断処理は、「水平傾き(1/(p+1))」に付加される符号で行う。また、ステップ3〜ステップ14は原稿が右上がりに傾いているときに実行する処理、ステップ15〜ステップ26は原稿が左上がりに傾いていくときに実行する処理である。
【0101】
図16との対応で説明するならば、図16では「p=4」となる。ステップ5に記述する「アドレスXに続くp番目のアドレスに対応付けられる1ライン前のアドレス」とは、図16の例で説明するならば、例えば、アドレスXに続く4番目の画素データeの格納アドレスに対応付けられる1ライン前の画素データfの格納アドレスということである。また、ステップ14に記述する「アドレスXの次のアドレスに対応付けられる1ライン後のアドレス」とは、図16の例で説明するならば、例えば、画素データ▲1▼の次の画素データ▲2▼の格納アドレスに対応付けられる1ライン後の画素データ▲3▼の格納アドレスということである。
【0102】
ステップ3〜ステップ14で実行する原稿が右上がりに傾いているときの処理では、原稿の上左端の頂点を起点にして、1ライン前1ライン前と辿って画像データを読み出していくのに対して、ステップ15〜ステップ26で実行する原稿が左上がりに傾いているときの処理では、原稿の上左端の頂点を起点にして、1ライン後1ライン後と辿って画像データを読み出していく点に違いがあるだけである。
【0103】
このような斜め読み出しの方法を用いると、1画素未満の量子化誤差のために、局所的に画像のズレが発生する。メモリ制御部12を構成するスムージング処理部22は、この画像ズレの補正を行うために用意される。
【0104】
傾き補正読出部21は、このスムージング処理部22に対して、どの画素に対してスームジング処理を施せばよいのかを知らせるために、図16に示すように、垂直方向にずらした形で画素データを読み出すときには、そのずらしの直前に読み出した画素データ(例えば図中のd)と、そのずらして読み出した画素データ(例えば図中のf)とを「水平ズレ画素」として定義して、画素データに付加される1ビット構成の水平ズレビットをONするように処理している。
【0105】
そして、傾き補正読出部21は、このスムージング処理部22に対して、どの画素に対してスームジング処理を施せばよいのかを知らせるために、図16に示すように、水平方向にずらした形で画素データを読み出すときには、そのずらしの直前に読み出したライン上の画素データ(図中の左上がりの斜線で示すもの)と、そのずらして読み出したライン上の画素データ(図中の右上がりの斜線で示すもの)とを「垂直ズレ画素」として定義して、画素データに付加される1ビット構成の垂直ズレビットをONするように処理している。
【0106】
メモリ制御部12を構成するスムージング処理部22は、傾き補正読出部21により読み出される傾きの補正された原稿の画像データを受け取ると、図21に示すような画像フィルタを用いて、傾き補正により発生する画像データの持つギザギザ部分をスムーズなものとする処理を行う。
【0107】
すなわち、水平ズレビットがONする水平ズレ画素に対しては、例えば、図21(a)に示すような画像フィルタ(スムージングの度合いKについては選択可能である)を用いて、傾き補正により発生する画像データの持つギザギザ部分をスムーズなものとする処理を行う。
【0108】
ちなみに、この図21(a)に示す画像フィルタでは、「K=1」の場合には、水平ズレ画素の画素データ(図中のX)を左右に隣接する画素の画素データの平均値に置き換えることで、水平ズレ画素により発生するギザギザ部分をスムーズなものとする処理を行うことになる。
【0109】
また、垂直ズレビットがONする垂直ズレ画素に対しては、例えば、図21(b)に示すような画像フィルタ(スムージングの度合いKについては選択可能である)を用いて、傾き補正により発生する画像データの持つギザギザ部分をスムーズなものとする処理を行う。
【0110】
ちなみに、この図21(b)に示す画像フィルタでは、「K=1」の場合には、垂直ズレ画素の画素データ(図中のX)を上下に隣接する画素の画素データの平均値に置き換えることで、垂直ズレ画素により発生するギザギザ部分をスムーズなものとする処理を行うことになる。
【0111】
また、水平ズレビットがONするとともに垂直ズレビットがONする水平垂直ズレ画素に対しては、例えば、図21(c)に示すような画像フィルタ(スムージングの度合いKについては選択可能である)を用いて、傾き補正により発生する画像データの持つギザギザ部分をスムーズなものとする処理を行う。
【0112】
ちなみに、この図21(c)に示す画像フィルタでは、「K=1」の場合には、水平垂直ズレ画素の画素データ(図中のX)を上下左右に隣接する画素の画素データの平均値に置き換えることで、水平垂直ズレ画素により発生するギザギザ部分をスムーズなものとする処理を行うことになる。
【0113】
なお、この画像フィルタの適用を可能とするために、スムージング処理部22は、傾き補正読出部21により読み出される3ライン分の画像データを保持する機構を有している。
【0114】
メモリ制御部12を構成する平滑化処理部23は、スムージング処理部22によりスムージング処理の施された原稿の画像データを受け取ると、図22に示すような画像フィルタを用いて、そのスムージング処理では取り除けなかった画像データの持つギザギザ部分を平滑化する処理を行う。
【0115】
すなわち、全ての画素に対して、例えば、図22に示すような画像フィルタ(平滑化の度合いKについては選択可能である)を用いて、スムージング処理部22によるスムージング処理では取り除けなかった画像データの持つギザギザ部分を平滑化する処理を行う。
【0116】
ちなみに、この図22に示す画像フィルタでは、「K=1」の場合には、処理対象の画素の画素データ(図中のX)を8方向に隣接する8個の画素の画素データの平均値に置き換えることで、スムージング処理では取り除けなかった画像データの持つギザギザ部分を平滑化する処理を行うことになる。
【0117】
なお、この画像フィルタの適用を可能とするために、平滑化処理部23は、スムージング処理部22によりスムージング処理の施された3ライン分の画像データを保持する機構を有している。
【0118】
メモリ制御部12を構成する水平拡大処理部24は、傾き補正読出部21により読み出される傾きの補正された原稿の画像データが本来の画像データに比べて水平方向に「cos θ」倍に縮小されていることを考慮して、その読み出された画像データを水平方向に「1/cos θ」倍に拡大する処理を行う。
【0119】
そして、メモリ制御部12を構成する垂直拡大処理部25は、傾き補正読出部21により読み出される傾きの補正された原稿の画像データが本来の画像データに比べて垂直方向に例えば「cos θ」倍(原稿の搬送速度により変わる)に縮小されていることを考慮して、その読み出された画像データを垂直方向に例えば「1/cos θ」倍に拡大する処理を行う。
【0120】
この水平拡大処理部24による水平方向の拡大処理は、例えば、「1/cos θ=1.01」のときには、水平方向の100画素につき1画素を挿入する必要があることを判断して、例えば、その挿入個所の左右の画素の画素データの平均値を算出し、その平均値を持つ画素データを挿入個所に挿入することで行う。
【0121】
そして、この垂直拡大処理部25による垂直方向の拡大処理は、例えば、「1/cos θ=1.01」のときには、垂直方向の100ラインにつき1ラインを挿入する必要があることを判断して、例えば、その挿入個所の上下のラインの画素の画素データの平均値を算出し、その平均値を持つ画素データを挿入個所に挿入することで行う。
【0122】
メモリ制御部12を構成する2値化部26は、水平拡大処理部24と垂直拡大処理部25とにより拡大処理された画像データを規定の閾値と比較することで、多値の画像データを2値化する処理を行う。
【0123】
このように、メモリ制御部12は、原稿の画像データを2値化してから傾きを補正するのではなくて、2値化する前の多値データの状態で傾きを補正する構成を採って、その後で、スムージング処理を施すという構成を採っている。これから、スムージング処理が有効なものになる。
【0124】
メモリ制御部12を構成するマスキング部27は、2値化部26により2値化された原稿の画像データの持つ枠部分(端部分)に存在する影を消去する処理を行って、第2の画像メモリ28に格納する処理を行う。
【0125】
このようにして、メモリ制御部12は、スキャナ制御部15からスキャナ読取処理の起動がかかると、図4に示したように、ラインイメージセンサ10により読み取られる原稿の画像データを、メモリ制御部12の持つ第1の画像メモリ20にその読み取りの順番に書き込む処理を行う。
【0126】
そして、メモリ制御部12は、スキャナ制御部15からデスキュー処理の起動がかかると、スキャナ制御部15から通知される「切出開始アドレス」/「幅」/「傾き」/「倍率補正値」に従って、図5に示すように、第1の画像メモリ20に格納される原稿の画像データをその傾きを補正しつつ読み出すとともに、その傾き補正により発生する画像データの持つギザギザ部分をスムーズなものにするスムージング処理を施し、更に、平滑化処理部23や水平拡大処理部24や垂直拡大処理部25や2値化部26やマスキング部27を使って、スキャナ制御部15から通知される「画像処理モード」/「マスキング範囲」に応じた画像処理を施す処理に入って、原稿の読み取りの終了に連動してスキャナ制御部15からデスキュー処理の終了が指示されると、その処理を終了する処理を行う。
【0127】
なお、図1に示す実施形態例では説明しなかったが、メモリ制御部12は、画像処理部として、その他に、強調処理を行う処理部や、誤差拡散を行う処理部や、浮動スライスへの変換を行う処理部などが用意している。
【0128】
【発明の効果】
以上説明したように、本発明の画像読取装置では、ラインイメージセンサにより読み取られる画像データを多値データのままメモリ手段に格納するとともに、それと並行させて、読取対象の原稿の傾き及びサイズと、メモリ手段に格納される原稿の画像データの読出開始位置とを検出する構成を採って、その検出結果に従って原稿の傾きを補正することを実現する画像データの読出順序を決定し、それに従ってメモリ手段から原稿の画像データを読み出すことで、多値データのまま傾きを補正する形で原稿の画像データを切り出すように処理するのである。
【0129】
これから、本発明の画像読取装置によれば、原稿の画像データを読み取りつつ、多値データのままの状態でもって、その原稿の画像データの傾きを補正していくことができるようになることから、高精度かつ高速度の原稿読み取りを実現できるようになる。
【0130】
したがって、複数枚の読取原稿を自動給紙機構にセットして連続的に読み取るような場合に、異なるサイズの原稿を同時に読み取れるようになるとともに、原稿を原稿台に載置させて読み取るような場合に、原稿の姿勢が正確にセットされなくても正確に読み取れるようになる。
【図面の簡単な説明】
【図1】本発明の一実施形態例である。
【図2】エッジ検出部の処理の説明図である。
【図3】傾き/サイズ検出部の処理の説明図である。
【図4】第1の画像メモリへの画像データの格納処理の説明図である。
【図5】メモリ制御部の処理の説明図である。
【図6】 エッジ検出部の回路構成の一例である。
【図7】エッジフィルタ部の2値化処理の説明図である。
【図8】 エッジフィルタ部の一例である。
【図9】エッジ判定回路の判定処理の説明図である。
【図10】 エッジフィルタ部の一例である。
【図11】搬送されてくる原稿の説明図である。
【図12】傾き/サイズ検出部の検出処理の説明図である。
【図13】傾き/サイズ検出部の実行する処理フローの一実施形態例である。
【図14】傾き/サイズ検出部の実行する処理フローの一実施形態例である。
【図15】傾き/サイズ検出部の実行する処理フローの一実施形態例である。
【図16】傾き補正読出部の読出処理の説明図である。
【図17】第1の画像メモリに格納される画像データの説明図である。
【図18】傾き補正読出部の実行する処理の説明図である。
【図19】傾き補正読出部の実行する処理の説明図である。
【図20】傾き補正読出部の実行する処理の説明図である。
【図21】スムージング処理を施す画像フィルタの説明図である。
【図22】平滑化処理を施す画像フィルタの説明図である。
【符号の説明】
1 原稿読取装置
10 ラインイメージセンサ
11 A/D変換器
12 メモリ制御部
13 エッジ検出部
14 傾き/サイズ検出部
15 スキャナ制御部
20 第1の画像メモリ
21 傾き補正読出部
22 スムージング処理部
23 平滑化処理部
24 水平拡大処理部
25 垂直拡大処理部
26 2値化部
27 マスキング部
28 第2の画像メモリ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image reading apparatus that reads a conveyed document or a placed document, and more particularly to an image reading apparatus that realizes high-precision and high-speed document reading.
[0002]
[Prior art]
In consideration of the demand for high-speed document reading, an image reading apparatus that reads a document that is being transported or placed on the document is designed so that the document can be read without performing complex image processing. A method of restricting the posture to a certain one is used.
[0003]
That is, when a plurality of read originals are set on the automatic paper feed mechanism and read continuously, in the conventional technique, the paper guide of the automatic paper feed mechanism is matched to the size of the read original. A method is used in which the position of the original is restricted to a predetermined position and is read by setting the position.
[0004]
Further, in the case where a read document is placed on a document table and read, in the related art, the user can place the read document in a specified posture on the document table, thereby changing the posture of the document. It uses a method of restricting and reading certain things.
[0005]
[Problems to be solved by the invention]
However, according to such a conventional technique, there is a problem that the original cannot be read accurately if the attitude of the original does not become a specified one.
[0006]
In other words, if the original is set to be tilted, the image data of the tilted original is input to the image reading apparatus, so that the original cannot be read accurately.
[0007]
Certainly, due to recent advances in image processing technology, it has been widely performed to perform editing processing such as rotation processing on image data using tilted image data as a processing target on a personal computer or the like.
[0008]
However, the rotation processing realized by such an image processing technique takes a long processing time, and therefore cannot be applied to an image reading apparatus that requires real-time document reading.
[0009]
For this reason, according to the conventional technology, for example, an A4 size read original and a B5 size read original are mixedly read using an image reading apparatus having an automatic paper feeding mechanism. Then, the orientation of the smaller B5 size read original is not tilted because it is not restricted by the automatic paper feed mechanism, and this makes it impossible to read the B5 size read original accurately. In addition, there is a problem that high-precision image reading cannot be realized because there is a problem that a B5-size read original becomes an A4-size image having a blank.
[0010]
The present invention has been made in view of such circumstances, and provides a new image reading apparatus that realizes high-precision and high-speed document reading when reading a conveyed document or a placed document. Objective.
[0011]
[Means for Solving the Problems]
In order to achieve this object, in the image reading apparatus of the present invention, the image data read by the line image sensor is extracted from the image data read by the line image sensor. The memory means for storing and binarizing the image data read by the line image sensor detect the edge portion, and for each line, specify the leftmost edge portion and the rightmost edge portion. Thus, using the extraction means for extracting the edge portions located on the four sides of the document, and the edge portions extracted by the extraction means, the inclination and size of the document to be read, and the document stored in the memory means Detecting means for detecting the reading start position of the image data, and correcting the inclination of the document according to the detection result of the detecting means; Determining a read order of the image data to be present, it reading means for the memory means reads the image data of the document in accordance with the determination of the reading means did Read by reading order Water Causes flat and / or vertical misalignment Drawing Raw pixel data Select an image filter according to the form of the deviation, and Located near the pixel of Painting A smoothing unit for performing a smoothing process using the raw pixel data, and an enlarging unit for enlarging the original image data read in a reduced form according to the reading order determined by the reading unit to an original size. To do.
[0012]
In the image reading apparatus of the present invention configured as described above, the image data read by the line image sensor is stored in the memory means as multi-value data and is also input to the extracting means.
[0013]
Upon receiving this input, the extracting means detects the edge portion by binarizing the image data read by the line image sensor, and for each line, the edge portion located at the leftmost edge and the edge located at the rightmost edge. By specifying the part, the edge part located on the four sides of the document is extracted.
[0014]
In response to this extraction result, the detection means uses the extracted edge portion to identify a straight line expression indicating the coordinate positions of the four sides of the original, and finds the vertex of the original by obtaining the intersection of these linear expressions. Accordingly, the inclination and size of the document to be read and the reading start position of the image data of the document stored in the memory means are detected accordingly.
[0015]
The reading means receives the detection result, determines the reading order of the image data that realizes correcting the inclination of the document, and reads the image data of the document from the memory means accordingly.
[0016]
Then, upon receiving the reading of the image data of the original, the smoothing means follows this reading order. Read by water Causes flat and / or vertical misalignment Drawing Raw pixel data Select an image filter according to the form of the deviation, and Located near the pixel of Painting Smoothing processing is performed using raw pixel data.
[0017]
The enlargement unit enlarges the image data of the original read in a reduced form according to the reading order to the original size, using the image data of the original subjected to the smoothing process as a processing target.
[0018]
Thus, in the image reading apparatus of the present invention, the image data read by the line image sensor is stored in the memory means as multi-value data, and in parallel therewith, the inclination and size of the document to be read, and the memory The reading start position of the image data of the original stored in the means is detected, and the reading order of the image data realizing correction of the inclination of the original is determined according to the detection result, and from the memory means accordingly By reading out the image data of the document, processing is performed so that the image data of the document is cut out while correcting the inclination with the multi-value data.
[0019]
Thus, according to the image reading apparatus of the present invention, it is possible to correct the inclination of the image data of the document while reading the image data of the document and maintaining the multi-value data. Highly accurate and high speed document reading can be realized.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in detail according to embodiments.
[0028]
FIG. 1 shows an embodiment of an
[0029]
As shown in this figure, a
[0030]
The memory control unit 12 stores a
[0031]
In this way, the memory control unit 12 does not correct the inclination after binarizing the image data of the document, but adopts a configuration in which the inclination is corrected in the state of the multi-value data before binarization. After that, a configuration is adopted in which smoothing processing is performed. Thus, the smoothing process becomes effective.
[0032]
As the smoothing
[0033]
First, the outline of each component constituting the
[0034]
(1) When the
[0035]
(2) Upon receiving the “left edge coordinates” / “right edge coordinates” reported for each line from the
[0036]
Then, the inclination /
[0037]
Then, when the inclination /
[0038]
(3) The
[0039]
When the
[0040]
When the tilt /
[0041]
When the
[0042]
(4) When the
[0043]
When the deskew processing is activated from the
[0044]
When the memory control unit 12 is instructed by the
[0045]
Next, a detailed configuration of each component constituting the
[0046]
First, the detailed configuration of the
[0047]
As shown in FIG. 6, the
[0048]
The dot counter 130 resets the counter value to “0” if the horizontal synchronization signal (shown in FIG. 2) is ON, and (2) if the horizontal valid signal (shown in FIG. 2) is ON. The image clock is counted up. (3) If the horizontal effective signal is OFF, the number of dots of image data sequentially input from the left end is counted by operating so as to hold the counter value.
[0049]
If the horizontal synchronization signal is ON, the left end edge coordinate detection unit 131 sets “0000” in the first edge register, and (2) the horizontal valid signal is ON, and “0000” in the first edge register. ”Is set and the
[0050]
The right edge coordinate detection unit 132 sets “FFFF” in the register of the last edge when the horizontal synchronization signal is ON, and (2) the horizontal valid signal is ON, and the
[0051]
When the horizontal synchronization signal is ON, the edge coordinate reporting unit 133 sets the dot counter value held in the first edge register to the register holding the left edge edge coordinate and the last edge register described above. Set the dot counter value to be held in the register that holds the right edge coordinates, and (2) if the horizontal sync signal is OFF, hold the value of the register that holds the left edge coordinates and the register that holds the right edge coordinates By holding the value, the coordinates of the left end edge and the coordinates of the right end edge are reported to the inclination /
[0052]
The
[0053]
Then, in the case of “the original press plate is white”, in order to detect the shadow of the end of the original and the edge part of the original while removing noise and shadow, (1) in FIG. As shown, when the pixel data of all the pixels belonging to the left block and the right block are larger than the high slice and smaller than the low slice of the pixel data of all the pixels belonging to the middle block, the target pixel position is edged (2) The pixel data of all the pixels belonging to the left block and the right block, whose pattern is reversed, are smaller than the Low slice and the pixel data of all the pixels belonging to the middle block are reversed. When the pixel is larger than the high slice, the target pixel position is detected as an edge. Here, “Low slice> High slice” is set.
[0054]
FIG. 8 shows the
[0055]
As shown in this figure, the
[0056]
When the
[0057]
Although not shown in FIG. 8, a circuit for generating a low slice / high slice is prepared, and this slice generation circuit is adapted to an appropriate low slice / high slice according to the filter type designated from the outside. Is generated and supplied to the
[0058]
The
[0059]
For example, as shown in FIG. 10, the selection configuration is such that the size of the left and right blocks is 2 pixels / 4 pixels / 8 pixels / 16 pixels by selecting an AND circuit by the selector with 1 pixel as the size of the middle block. The edge filter circuit that enables selection from among the three, the size of the middle block as 3 pixels, and the AND circuit is selected by the selector, so that the size of the left and right blocks is 2 pixels / 4 pixels / 8 pixels / 16 pixels Select edge filter circuit and 5 pixels as the size of the middle block and select the AND circuit by the selector to select the size of the left and right blocks from 2 pixels / 4 pixels / 8 pixels / 16 pixels Edge filter circuit to be able to do and left and right by selecting AND circuit by selector with 9 pixels as middle block size Edge filter circuit that makes it possible to select a lock size from 2 pixels / 4 pixels / 8 pixels / 16 pixels, and an edge by selecting a specified one from the output values of these four edge filter circuits This is realized by a selector input to the
[0060]
According to this configuration, when the
[0061]
Next, detailed processing executed by the tilt /
[0062]
The inclination /
[0063]
Specifically, as shown in FIG. 12, the inclination /
[0064]
FIGS. 13 to 15 show an embodiment of a processing flow executed by the inclination /
[0065]
When the tilt /
[0066]
Subsequently, in
[0067]
Subsequently, in
[0068]
Subsequently, in step 7, it is determined whether or not the calculated document width is wider than the previous one, and when it is determined that the document is widened, the process returns to step 1 as it is. When making a determination, the process proceeds to step 8 where it is determined whether or not the state continues for a specified number of lines. If the specified number of lines is not continued, the process returns to step 1 as it is.
[0069]
On the other hand, when it is determined in
Y = A * X + B
And the right edge coordinate (X3, Y3) that is the starting point of the number of continuous lines and the right edge coordinate (X4, Y4) that is the arrival point of the number of continuous lines Expression indicating position
Y = A * X + C
Is calculated.
[0070]
Subsequently, in
[0071]
Subsequently, at
[0072]
Subsequently, in step 12, the extracted edge coordinates (for example, (X5, Y5) shown in FIG. 12) are used to express the coordinate position of the upper side of the document.
Y =-(1 / A) * X + D
By substituting into, the value of D is calculated for each of the extracted edge coordinates, and the average value of the calculated values of D is calculated while excluding the values deviating from the others. Expression indicating the coordinate position of the upper side of the document
Y =-(1 / A) * X + D
Is calculated.
[0073]
Subsequently, in
[0074]
Subsequently, in
[0075]
Subsequently, in
[0076]
On the other hand, if it is determined in
[0077]
Subsequently, in step 18, when it is determined whether or not the calculated document width is approximately 0, and it is determined that the document width is not approximately 0, the process returns to step 1, and the document width is approximately When it is determined that the value is 0, the process proceeds to step 18 to extract the edge coordinates located on the lower side of the document from the stored edge coordinates.
[0078]
The processing for extracting the edge coordinates located on the lower side of the document is, for example, more than the document width W after the document width W is detected from the stored edge coordinates (left edge coordinate / right edge coordinate). Edge coordinates that have a small document width are extracted, and among them, an expression “Y = A * X + B” indicating the coordinate position of the left side of the document and an expression “Y” indicating the coordinate position of the right side of the document are extracted. = A * X + C ”is specified.
[0079]
Subsequently, in step 19, the extracted edge coordinates (for example, (X6, Y6) shown in FIG. 12) are used to express the coordinate position of the lower side of the document.
Y =-(1 / A) * X + E
By substituting into, the value of E is calculated for each of the extracted edge coordinates, and the average value of the calculated values of E is calculated while excluding values that are out of the others. Formula indicating the coordinate position of the lower side of the document
Y =-(1 / A) * X + E
Is calculated.
[0080]
Subsequently, in
[0081]
That is, if it is detected in
[0082]
Subsequently, in
[0083]
When it is determined in step 16 that the lowermost vertex of the document has been detected, the processing in steps 17 to 20 is omitted, and the process proceeds immediately to step 21 where the reading line is at the lowermost edge of the document. When it is determined whether or not the positions of the vertices coincide with each other, and when it is determined that they do not match, the process returns to step 1, and when it is determined that they match, the process proceeds to step 22 to end the reading of the document. 15 and the process is terminated.
[0084]
At the end of reading the original, the
[0085]
In this way, upon receiving the “left edge coordinates” / “right edge coordinates” reported for each line from the
[0086]
The inclination /
[0087]
When the inclination /
[0088]
As described above, the
[0089]
When the
[0090]
When the
[0091]
Next, details of processing executed by the memory control unit 12 will be described.
[0092]
When the scanner reading process is activated from the
[0093]
As will be described below, the memory control unit 12 sequentially reads the image data written in the
[0094]
In response to this writing, the inclination /
[0095]
Upon receiving this deskew processing execution instruction, the inclination
[0096]
For example, when a slope of “tan θ = 1/5”, which rises right by 5 pixels in the horizontal direction and shifts by 1 pixel in the vertical direction, is notified, as shown in FIG. Starting from the above, when 4 pixels are read in the horizontal direction, reading the previous reading line and reading 4 pixels in the horizontal direction are repeated for the length of the notified “width”. The first line is read out while correcting its inclination, and subsequently, the same horizontal position as the “cutting start address” is set for the second line, the third line, and the fourth line. Reading in the same way as the starting point, and entering the fifth line, repeatedly reading up to the last line of the document starting from the same position starting from the position shifted by one pixel to the right from the “cutting start address” Have It is, is performed a process of reading the image data of the document while correcting its tilt.
[0097]
On the other hand, when an inclination of “tan θ = 1/5” rising to the left is notified, reading out the next reading line after reading out four pixels in the horizontal direction from the “cutting start address”. The first line of the document is read while correcting the inclination by repeating the notified “width” length to read out four pixels in the horizontal direction, and then the second line is read. For the 3rd line, the 3rd line, and the 4th line, the same horizontal position as the “cutting start address” is read out in the same manner, and when entering the 5th line, “cutting start” By repeating the process of reading out in a similar manner starting from a position shifted by one pixel to the left from the “address” to the last line of the document, the document image data is read out while correcting its inclination. Ah .
[0098]
The storage address of the pixel data stored in the
[0099]
FIG. 18 to FIG. 20 illustrate the image data reading process executed by the inclination
[0100]
Here, in this processing flow, it is assumed that “horizontal inclination (1 / (p + 1))” and “vertical inclination (1 / (q + 1))” are given as different values. The process of determining whether or not it is going up to the right in
[0101]
If described with reference to FIG. 16, “p = 4” in FIG. The “address one line before the address corresponding to the p-th address following the address X” described in
[0102]
In the processing executed in
[0103]
When such an oblique reading method is used, an image shift locally occurs due to a quantization error of less than one pixel. A smoothing
[0104]
In order to notify the smoothing
[0105]
Then, in order to inform the smoothing
[0106]
When the smoothing
[0107]
That is, for a horizontal shift pixel in which the horizontal shift bit is turned on, for example, an image generated by tilt correction using an image filter (smoothing degree K can be selected) as shown in FIG. Performs processing to smooth the jagged portion of the data.
[0108]
Incidentally, in the image filter shown in FIG. 21A, when “K = 1”, the pixel data (X in the drawing) of the horizontal shift pixel is replaced with the average value of the pixel data of the pixels adjacent to the left and right. As a result, the process of smoothing the jagged portion generated by the horizontal shift pixel is performed.
[0109]
In addition, for a vertical shift pixel in which the vertical shift bit is turned ON, for example, an image generated by tilt correction using an image filter (smoothing degree K can be selected) as shown in FIG. Performs processing to smooth the jagged portion of the data.
[0110]
Incidentally, in the image filter shown in FIG. 21B, in the case of “K = 1”, the pixel data (X in the drawing) of the vertically shifted pixels is replaced with the average value of the pixel data of the vertically adjacent pixels. Thus, a process for smoothing the jagged portion generated by the vertical shift pixels is performed.
[0111]
In addition, for a horizontal / vertical shift pixel in which the horizontal shift bit is turned on and the vertical shift bit is turned on, for example, an image filter as shown in FIG. 21C (smoothing degree K can be selected) is used. Then, the process of smoothing the jagged portion of the image data generated by the inclination correction is performed.
[0112]
Incidentally, in the image filter shown in FIG. 21C, in the case of “K = 1”, the pixel data of the horizontal and vertical misalignment pixels (X in the figure) is the average value of the pixel data of the pixels adjacent vertically and horizontally. By replacing with, a process of smoothing the jagged portion generated by the horizontal and vertical misalignment pixels is performed.
[0113]
In order to enable application of this image filter, the smoothing
[0114]
When the smoothing
[0115]
That is, for all pixels, for example, using an image filter as shown in FIG. 22 (the degree of smoothing K can be selected), image data that could not be removed by the smoothing processing by the smoothing
[0116]
Incidentally, in the image filter shown in FIG. 22, in the case of “K = 1”, the pixel data of the pixel to be processed (X in the figure) is the average value of the pixel data of eight pixels adjacent in eight directions. By replacing with, a jagged portion of image data that could not be removed by the smoothing process is smoothed.
[0117]
In order to enable application of this image filter, the smoothing
[0118]
The horizontal
[0119]
Then, the vertical
[0120]
The horizontal enlargement processing by the horizontal
[0121]
The vertical enlargement processing by the vertical
[0122]
The binarization unit 26 constituting the memory control unit 12 compares the image data enlarged by the horizontal
[0123]
In this way, the memory control unit 12 does not correct the inclination after binarizing the image data of the document, but adopts a configuration in which the inclination is corrected in the state of the multi-value data before binarization. After that, a configuration is adopted in which smoothing processing is performed. Thus, the smoothing process becomes effective.
[0124]
The masking
[0125]
In this way, when the scanner reading process is activated from the
[0126]
When the deskew processing is activated from the
[0127]
Although not described in the embodiment shown in FIG. 1, the memory control unit 12 is an image processing unit, in addition to a processing unit that performs enhancement processing, a processing unit that performs error diffusion, and a floating slice. A processing unit that performs conversion is prepared.
[0128]
【The invention's effect】
As described above, in the image reading apparatus of the present invention, the image data read by the line image sensor is stored in the memory means as multi-value data, and in parallel therewith, the inclination and size of the document to be read, A configuration for detecting a reading start position of image data of a document stored in the memory means is determined, and a reading order of image data for realizing correction of the inclination of the document is determined according to the detection result, and the memory means is determined accordingly By reading out the image data of the document from the document, processing is performed so that the image data of the document is cut out while correcting the inclination with the multi-value data.
[0129]
Thus, according to the image reading apparatus of the present invention, it is possible to correct the inclination of the image data of the document while reading the image data of the document and maintaining the multi-value data. Highly accurate and high speed document reading can be realized.
[0130]
Therefore, when multiple scanned originals are set in the automatic paper feed mechanism and read continuously, originals of different sizes can be read at the same time, and the originals are placed on the platen and read. In addition, the original can be read accurately even if the orientation of the original is not set correctly.
[Brief description of the drawings]
FIG. 1 is an example of an embodiment of the present invention.
FIG. 2 is an explanatory diagram of processing of an edge detection unit.
FIG. 3 is an explanatory diagram of processing of an inclination / size detection unit.
FIG. 4 is an explanatory diagram of a process for storing image data in a first image memory.
FIG. 5 is an explanatory diagram of processing of a memory control unit.
FIG. 6 shows the circuit configuration of the edge detection unit. One case It is.
FIG. 7 is an explanatory diagram of binarization processing of the edge filter unit.
[Fig. 8] Edge filter section One case It is.
FIG. 9 is an explanatory diagram of determination processing of an edge determination circuit.
FIG. 10 shows the edge filter section. One case It is.
FIG. 11 is an explanatory diagram of a document being conveyed.
FIG. 12 is an explanatory diagram of detection processing of an inclination / size detection unit.
FIG. 13 is an example of a processing flow executed by an inclination / size detection unit.
FIG. 14 is an example of a processing flow executed by an inclination / size detection unit.
FIG. 15 is an example of a processing flow executed by an inclination / size detection unit;
FIG. 16 is an explanatory diagram of a reading process of an inclination correction reading unit.
FIG. 17 is an explanatory diagram of image data stored in the first image memory.
FIG. 18 is an explanatory diagram of processing executed by an inclination correction reading unit.
FIG. 19 is an explanatory diagram of processing executed by an inclination correction reading unit.
FIG. 20 is an explanatory diagram of processing executed by an inclination correction reading unit.
FIG. 21 is an explanatory diagram of an image filter on which smoothing processing is performed.
FIG. 22 is an explanatory diagram of an image filter to which smoothing processing is performed.
[Explanation of symbols]
1 Document reader
10 Line image sensor
11 A / D converter
12 Memory controller
13 Edge detector
14 Tilt / size detector
15 Scanner control unit
20 First image memory
21 Tilt correction readout section
22 Smoothing processing unit
23 Smoothing processor
24 Horizontal enlargement processing section
25 Vertical enlargement processing unit
26 Binarization part
27 Masking part
28 Second image memory
Claims (8)
ラインイメージセンサにより読み取られる画像データを格納するメモリ手段と、
ラインイメージセンサにより読み取られる画像データに従って、読取対象の原稿の傾き及びサイズと、上記メモリ手段に格納される該原稿の画像データの読出開始位置とを検出する検出手段と、
上記検出手段の検出結果に従って原稿の傾きを補正することを実現する画像データの読出順序を決定し、それに従って上記メモリ手段から原稿の画像データを読み出す読出手段と、
上記読出順序による読み出しにより水平ズレ及び/又は垂直ズレを引き起こす画素の画素データについて、そのズレの形態に応じた画像フィルタを選択して、それに従って、その画素の近傍に位置する画素の画素データを使ってスムージング処理を施すスムージング手段とを備えることを、
特徴とする画像読取装置。In an image reading apparatus that extracts image data of a document to be read from image data read by a line image sensor,
Memory means for storing image data read by the line image sensor;
Detecting means for detecting the inclination and size of the document to be read and the reading start position of the image data of the document stored in the memory means according to the image data read by the line image sensor;
A reading unit for determining a reading order of image data for realizing correction of the inclination of the document according to a detection result of the detecting unit, and reading the image data of the document from the memory unit according to the reading order ;
For pixel data of a pixel that causes a horizontal shift and / or a vertical shift by reading in the reading order, an image filter corresponding to the form of the shift is selected, and pixel data of a pixel located in the vicinity of the pixel is accordingly selected. And providing a smoothing means for performing a smoothing process using,
A characteristic image reading apparatus.
上記スムージング手段は、水平ズレを引き起こす画素の画素データについては、上記選択した画像フィルタに従って、水平方向に隣接する画素の画素データを使ってスムージング処理を施し、垂直ズレを引き起こす画素の画素データについては、上記選択した画像フィルタに従って、垂直方向に隣接する画素の画素データを使ってスムージング処理を施し、水平ズレ及び垂直ズレを引き起こす画素の画素データについては、上記選択した画像フィルタに従って、水平方向に隣接する画素の画素データと垂直方向に隣接する画素の画素データとを使ってスムージング処理を施すことを、
特徴とする画像読取装置。 The image reading apparatus according to claim 1 ,
Said smoothing means is attached to the pixel data of the pixel to cause horizontal displacement, in accordance with the selected image filter performs smoothing processing with the pixel data of pixels adjacent in the horizontal direction, the pixel data of the pixel to cause vertical deviation for, according to the selected image filter performs smoothing processing with the pixel data vertically adjacent pixels, the information on the pixel data of the pixel that causes the horizontal displacement and vertical displacement, in accordance with the selected image filter, horizontal using the pixel of pixels adjacent to the pixel data and vertical pixels adjacent in a square direction data is subjected to smoothing processing,
A characteristic image reading apparatus.
上記検出手段及び上記読出手段は、上記メモリ手段が画像データを格納しているときにその処理を実行することを、
特徴とする画像読取装置。 The image reading apparatus according to claim 1 or 2 ,
The detecting means and the reading means execute the processing when the memory means stores image data.
A characteristic image reading apparatus.
上記検出手段は、原稿の画像データの上記メモリ手段への格納終了を検出するときに、上記読出手段に対して、上記メモリ手段からの原稿の画像データの読み出し終了を指示することを、
特徴とする画像読取装置。 The image reading apparatus according to any one of claims 1 to 3 ,
The detecting means, when detecting the end of storage of the document image data in the memory means, instructing the reading means to end reading of the image data of the document from the memory means;
A characteristic image reading apparatus.
ラインイメージセンサにより読み取られる画像データを2値化することでエッジ部分を検出し、各ライン毎に、最左端に位置するエッジ部分と最右端に位置するエッジ部分とを特定することで、原稿の4辺上に位置するエッジ部分を抽出する抽出手段を備え、
上記検出手段は、上記抽出手段の抽出するエッジ部分を使って原稿の4辺の座標位置を示す直線式を特定し、それらの直線式の交点を求めることで原稿の頂点を検出して、それに従って、読取対象の原稿の傾き及びサイズと、上記メモリ手段に格納される該原稿の画像データの読出開始位置とを検出することを、
特徴とする画像読取装置。 The image reading apparatus according to any one of claims 1 to 4 ,
The edge portion is detected by binarizing the image data read by the line image sensor, and the edge portion located at the leftmost end and the edge portion located at the rightmost end are specified for each line, thereby allowing the document to be read. An extraction means for extracting edge portions located on four sides;
The detecting means uses the edge portion extracted by the extracting means to identify a straight line expression indicating the coordinate positions of the four sides of the original, detects the vertex of the original by obtaining the intersection of these linear expressions, To detect the inclination and size of the document to be read and the reading start position of the image data of the document stored in the memory means,
A characteristic image reading apparatus.
上記検出手段は、原稿の左右2つの辺の座標位置を示す直線式を特定し、その直線式の持つ傾きに直交する傾きを算出して、それを使って、原稿の上下2つの辺の座標位置を示す直線式を特定することを、
特徴とする画像読取装置。 The image reading apparatus according to claim 5 .
The detection means specifies a linear expression indicating the coordinate positions of the two left and right sides of the document, calculates an inclination orthogonal to the inclination of the linear expression, and uses it to use the coordinates of the upper and lower two sides of the document. To identify a linear expression that indicates the position,
A characteristic image reading apparatus.
上記読出順序により縮小された形で読み出される原稿の画像データを本来の大きさに拡大する拡大手段を備えることを、
特徴とする画像読取装置。 The image reading apparatus according to any one of claims 1 to 6 ,
Comprising an enlarging means for enlarging the original image data read in a reduced form by the reading order to the original size;
A characteristic image reading apparatus.
上記読出手段は、上記読出開始アドレスを起点として、水平方向に上記傾きの指定する画素数分読み出してから、上記傾きに応じて1つ前あるいは1つ後のラインに移ってその読み出しを続けていくことを上記幅の長さ分繰り返すことで原稿の1ライン分を読み出し、その1ライン分の読み出しを垂直方向に上記傾きの指定するライン数分繰り返していくとともに、その次のラインについては、上記傾きに応じて起点となる開始アドレスを1画素分左あるいは右にずらしていくことを繰り返していくという読出順序を決定することを、
特徴とする画像読取装置。 The image reading apparatus according to any one of claims 1 to 7 ,
The readout means reads out the number of pixels specified by the slope in the horizontal direction starting from the readout start address, and then moves to the previous or next line according to the slope and continues the readout. Is repeated for the length of the width to read one line of the document, and the reading for the one line is repeated in the vertical direction for the number of lines specified by the inclination, and the next line is Determining the readout order of repeating shifting the start address as a starting point to the left or right by one pixel according to the inclination,
A characteristic image reading apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000331916A JP3670571B2 (en) | 2000-10-31 | 2000-10-31 | Image reading device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000331916A JP3670571B2 (en) | 2000-10-31 | 2000-10-31 | Image reading device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004343245A Division JP2005057813A (en) | 2004-11-29 | 2004-11-29 | Image scanner |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002142084A JP2002142084A (en) | 2002-05-17 |
JP3670571B2 true JP3670571B2 (en) | 2005-07-13 |
Family
ID=18808194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000331916A Expired - Fee Related JP3670571B2 (en) | 2000-10-31 | 2000-10-31 | Image reading device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3670571B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10477050B2 (en) | 2017-10-24 | 2019-11-12 | Brother Kogyo Kabushiki Kaisha | Image scanner, method, and computer-readable medium for detecting document edge positions |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004129022A (en) | 2002-10-04 | 2004-04-22 | Pfu Ltd | Image reading device |
JP4929572B2 (en) * | 2004-09-29 | 2012-05-09 | カシオ計算機株式会社 | Image projection apparatus, image projection method, and image position correction program |
JP4222380B2 (en) | 2006-04-12 | 2009-02-12 | ソニー株式会社 | Image processing apparatus and method, recording medium, and program |
JP4784500B2 (en) * | 2006-12-08 | 2011-10-05 | 日本電気株式会社 | Image tilt correction apparatus and image tilt correction method |
JP2008259172A (en) * | 2007-03-15 | 2008-10-23 | Ricoh Co Ltd | Image processing device, image processing method, and program |
JP5367241B2 (en) * | 2007-07-06 | 2013-12-11 | 株式会社Pfu | Image reading processing apparatus, image reading apparatus, and image reading processing method |
JP4947314B2 (en) * | 2007-10-26 | 2012-06-06 | 村田機械株式会社 | Image processing apparatus, image reading apparatus, image processing method, and image processing program |
US8174737B2 (en) | 2007-12-28 | 2012-05-08 | Brother Kogyo Kabushiki Kaisha | Image reading apparatus |
JP5205963B2 (en) * | 2007-12-28 | 2013-06-05 | ブラザー工業株式会社 | Image reading device |
US8284463B2 (en) | 2007-12-28 | 2012-10-09 | Brother Kogyo Kabushiki Kaisha | Image reading apparatus |
JP4941317B2 (en) * | 2008-01-16 | 2012-05-30 | ブラザー工業株式会社 | Image reading device |
JP4941316B2 (en) * | 2008-01-16 | 2012-05-30 | ブラザー工業株式会社 | Image reading device |
JP4807406B2 (en) | 2008-12-16 | 2011-11-02 | ブラザー工業株式会社 | Image reading device |
JP4973701B2 (en) * | 2009-07-27 | 2012-07-11 | ブラザー工業株式会社 | Image reading device |
JP4853555B2 (en) | 2009-07-30 | 2012-01-11 | ブラザー工業株式会社 | Image reading device |
JP4977265B1 (en) * | 2011-11-04 | 2012-07-18 | パナソニック株式会社 | Image reading apparatus and image reading method |
KR102279026B1 (en) | 2014-11-07 | 2021-07-19 | 삼성전자주식회사 | Apparatus and Method for Providing Image of Detecting and Compensating Image Including at least One of Object |
JP6834906B2 (en) | 2017-10-24 | 2021-02-24 | ブラザー工業株式会社 | Image reader |
JP6939408B2 (en) | 2017-10-26 | 2021-09-22 | ブラザー工業株式会社 | Image reader |
WO2022079770A1 (en) * | 2020-10-12 | 2022-04-21 | 株式会社Pfu | Medium carrying device, control method, and control program |
-
2000
- 2000-10-31 JP JP2000331916A patent/JP3670571B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10477050B2 (en) | 2017-10-24 | 2019-11-12 | Brother Kogyo Kabushiki Kaisha | Image scanner, method, and computer-readable medium for detecting document edge positions |
Also Published As
Publication number | Publication date |
---|---|
JP2002142084A (en) | 2002-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3670571B2 (en) | Image reading device | |
US8254683B2 (en) | Code image processing method | |
JP4525787B2 (en) | Image extraction apparatus and image extraction program | |
JP4358193B2 (en) | Automatic image cropping method | |
EP1947605B1 (en) | Automatic perspective distortion detection and correction for document imaging | |
JP5507134B2 (en) | Two-dimensional code reading method, two-dimensional code recognition method, and two-dimensional code reading apparatus | |
JP4853555B2 (en) | Image reading device | |
JP2005173646A (en) | Code-kind discrimination method and code border detecting method | |
US7350710B2 (en) | Two-dimensional code extracting method | |
CN101151639A (en) | Image processing apparatus and image processing method | |
CN110569845A (en) | test paper image correction method and related device | |
JP2008147976A (en) | Image inclination correction device and image inclination correcting method | |
US6771842B1 (en) | Document image skew detection method | |
US8064636B2 (en) | Image processing apparatus and method of controlling the same | |
CN106909920B (en) | Image scanning apparatus and method, and image reading apparatus | |
US9392140B2 (en) | Image processing apparatus | |
JP2005057813A (en) | Image scanner | |
JP4645384B2 (en) | Two-dimensional barcode detection method and detection apparatus | |
JP2008102952A (en) | Code boundary detection method | |
JP2009093360A (en) | Image processor, image processing method, and program | |
JP3932201B2 (en) | Form type identification device and recording medium | |
JP2007328652A (en) | Image processing device and image processing program | |
JP2007011528A (en) | Method for searching position of recognition target item in ocr processing | |
JP2007213358A (en) | Two-dimensional code detection system and two-dimensional code detection program | |
JPH11250179A (en) | Character reocognition device and its method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040917 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040928 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041129 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050412 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050414 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080422 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110422 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140422 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |