JP3670571B2 - 画像読取装置 - Google Patents
画像読取装置 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
【発明の属する技術分野】
本発明は、搬送されてくる原稿や載置される原稿を読み取る画像読取装置に関し、特に、高精度かつ高速度の原稿読み取りを実現する画像読取装置に関するものである。
【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の画像メモリ
Claims (8)
- ラインイメージセンサにより読み取られる画像データの中から読取対象の原稿の画像データを切り出す画像読取装置において、
ラインイメージセンサにより読み取られる画像データを格納するメモリ手段と、
ラインイメージセンサにより読み取られる画像データに従って、読取対象の原稿の傾き及びサイズと、上記メモリ手段に格納される該原稿の画像データの読出開始位置とを検出する検出手段と、
上記検出手段の検出結果に従って原稿の傾きを補正することを実現する画像データの読出順序を決定し、それに従って上記メモリ手段から原稿の画像データを読み出す読出手段と、
上記読出順序による読み出しにより水平ズレ及び/又は垂直ズレを引き起こす画素の画素データについて、そのズレの形態に応じた画像フィルタを選択して、それに従って、その画素の近傍に位置する画素の画素データを使ってスムージング処理を施すスムージング手段とを備えることを、
特徴とする画像読取装置。 - 請求項1に記載の画像読取装置において、
上記スムージング手段は、水平ズレを引き起こす画素の画素データについては、上記選択した画像フィルタに従って、水平方向に隣接する画素の画素データを使ってスムージング処理を施し、垂直ズレを引き起こす画素の画素データについては、上記選択した画像フィルタに従って、垂直方向に隣接する画素の画素データを使ってスムージング処理を施し、水平ズレ及び垂直ズレを引き起こす画素の画素データについては、上記選択した画像フィルタに従って、水平方向に隣接する画素の画素データと垂直方向に隣接する画素の画素データとを使ってスムージング処理を施すことを、
特徴とする画像読取装置。 - 請求項1又は2に記載の画像読取装置において、
上記検出手段及び上記読出手段は、上記メモリ手段が画像データを格納しているときにその処理を実行することを、
特徴とする画像読取装置。 - 請求項1ないし3のいずれか1項に記載の画像読取装置において、
上記検出手段は、原稿の画像データの上記メモリ手段への格納終了を検出するときに、上記読出手段に対して、上記メモリ手段からの原稿の画像データの読み出し終了を指示することを、
特徴とする画像読取装置。 - 請求項1ないし4のいずれか1項に記載の画像読取装置において、
ラインイメージセンサにより読み取られる画像データを2値化することでエッジ部分を検出し、各ライン毎に、最左端に位置するエッジ部分と最右端に位置するエッジ部分とを特定することで、原稿の4辺上に位置するエッジ部分を抽出する抽出手段を備え、
上記検出手段は、上記抽出手段の抽出するエッジ部分を使って原稿の4辺の座標位置を示す直線式を特定し、それらの直線式の交点を求めることで原稿の頂点を検出して、それに従って、読取対象の原稿の傾き及びサイズと、上記メモリ手段に格納される該原稿の画像データの読出開始位置とを検出することを、
特徴とする画像読取装置。 - 請求項5に記載の画像読取装置において、
上記検出手段は、原稿の左右2つの辺の座標位置を示す直線式を特定し、その直線式の持つ傾きに直交する傾きを算出して、それを使って、原稿の上下2つの辺の座標位置を示す直線式を特定することを、
特徴とする画像読取装置。 - 請求項1ないし6のいずれか1項に記載の画像読取装置において、
上記読出順序により縮小された形で読み出される原稿の画像データを本来の大きさに拡大する拡大手段を備えることを、
特徴とする画像読取装置。 - 請求項1ないし7のいずれか1項に記載の画像読取装置において、
上記読出手段は、上記読出開始アドレスを起点として、水平方向に上記傾きの指定する画素数分読み出してから、上記傾きに応じて1つ前あるいは1つ後のラインに移ってその読み出しを続けていくことを上記幅の長さ分繰り返すことで原稿の1ライン分を読み出し、その1ライン分の読み出しを垂直方向に上記傾きの指定するライン数分繰り返していくとともに、その次のラインについては、上記傾きに応じて起点となる開始アドレスを1画素分左あるいは右にずらしていくことを繰り返していくという読出順序を決定することを、
特徴とする画像読取装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000331916A JP3670571B2 (ja) | 2000-10-31 | 2000-10-31 | 画像読取装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000331916A JP3670571B2 (ja) | 2000-10-31 | 2000-10-31 | 画像読取装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004343245A Division JP2005057813A (ja) | 2004-11-29 | 2004-11-29 | 画像読取装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002142084A JP2002142084A (ja) | 2002-05-17 |
JP3670571B2 true JP3670571B2 (ja) | 2005-07-13 |
Family
ID=18808194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000331916A Expired - Fee Related JP3670571B2 (ja) | 2000-10-31 | 2000-10-31 | 画像読取装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3670571B2 (ja) |
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 (ja) | 2002-10-04 | 2004-04-22 | Pfu Ltd | 画像読取装置 |
JP4929572B2 (ja) * | 2004-09-29 | 2012-05-09 | カシオ計算機株式会社 | 画像投影装置、画像投影方法、及び画像位置補正プログラム |
JP4222380B2 (ja) | 2006-04-12 | 2009-02-12 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びにプログラム |
JP4784500B2 (ja) * | 2006-12-08 | 2011-10-05 | 日本電気株式会社 | 画像傾き補正装置及び画像傾き補正方法 |
JP2008259172A (ja) * | 2007-03-15 | 2008-10-23 | Ricoh Co Ltd | 画像処理装置、画像処理方法およびプログラム |
JP5367241B2 (ja) * | 2007-07-06 | 2013-12-11 | 株式会社Pfu | 画像読取処理装置、画像読取装置、および、画像読取処理方法 |
JP4947314B2 (ja) * | 2007-10-26 | 2012-06-06 | 村田機械株式会社 | 画像処理装置、画像読取装置、画像処理方法及び画像処理プログラム |
US8174737B2 (en) | 2007-12-28 | 2012-05-08 | Brother Kogyo Kabushiki Kaisha | Image reading apparatus |
JP5205963B2 (ja) * | 2007-12-28 | 2013-06-05 | ブラザー工業株式会社 | 画像読取装置 |
US8284463B2 (en) | 2007-12-28 | 2012-10-09 | Brother Kogyo Kabushiki Kaisha | Image reading apparatus |
JP4941317B2 (ja) * | 2008-01-16 | 2012-05-30 | ブラザー工業株式会社 | 画像読取装置 |
JP4941316B2 (ja) * | 2008-01-16 | 2012-05-30 | ブラザー工業株式会社 | 画像読取装置 |
JP4807406B2 (ja) | 2008-12-16 | 2011-11-02 | ブラザー工業株式会社 | 画像読取装置 |
JP4973701B2 (ja) * | 2009-07-27 | 2012-07-11 | ブラザー工業株式会社 | 画像読取装置 |
JP4853555B2 (ja) | 2009-07-30 | 2012-01-11 | ブラザー工業株式会社 | 画像読取装置 |
JP4977265B1 (ja) * | 2011-11-04 | 2012-07-18 | パナソニック株式会社 | 画像読取装置及びその画像読取方法 |
KR102279026B1 (ko) | 2014-11-07 | 2021-07-19 | 삼성전자주식회사 | 적어도 하나의 객체를 포함하는 영상에서 객체를 추출하여 보정한 영상을 제공하는 장치 및 방법 |
JP6834906B2 (ja) | 2017-10-24 | 2021-02-24 | ブラザー工業株式会社 | 画像読取装置 |
JP6939408B2 (ja) | 2017-10-26 | 2021-09-22 | ブラザー工業株式会社 | 画像読取装置 |
WO2022079770A1 (ja) * | 2020-10-12 | 2022-04-21 | 株式会社Pfu | 媒体搬送装置、制御方法及び制御プログラム |
-
2000
- 2000-10-31 JP JP2000331916A patent/JP3670571B2/ja 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 (ja) | 2002-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3670571B2 (ja) | 画像読取装置 | |
US8254683B2 (en) | Code image processing method | |
JP4525787B2 (ja) | 画像抽出装置、及び画像抽出プログラム | |
JP4358193B2 (ja) | 画像対象の自動切抜き方法 | |
EP1947605B1 (en) | Automatic perspective distortion detection and correction for document imaging | |
JP5507134B2 (ja) | 2次元コード読取方法、2次元コード認識方法及び2次元コード読取装置 | |
JP4853555B2 (ja) | 画像読取装置 | |
JP2005173646A (ja) | コード種類判別方法、およびコード境界検出方法 | |
US7350710B2 (en) | Two-dimensional code extracting method | |
CN101151639A (zh) | 图像处理装置和图像处理方法 | |
CN110569845A (zh) | 一种试卷图像的校正方法及相关装置 | |
JP2008147976A (ja) | 画像傾き補正装置及び画像傾き補正方法 | |
US6771842B1 (en) | Document image skew detection method | |
US8064636B2 (en) | Image processing apparatus and method of controlling the same | |
CN106909920B (zh) | 图像扫描装置和方法以及图像读取装置 | |
US9392140B2 (en) | Image processing apparatus | |
JP2005057813A (ja) | 画像読取装置 | |
JP4645384B2 (ja) | 二次元バーコードの検出方法及び検出装置 | |
JP2008102952A (ja) | コード境界検出方法 | |
JP2009093360A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP3932201B2 (ja) | 帳票種識別装置および記録媒体 | |
JP2007328652A (ja) | 画像処理装置および画像処理プログラム | |
JP2007011528A (ja) | Ocr処理における認識対象項目の位置探索方法 | |
JP2007213358A (ja) | 二次元コード検出システムおよび二次元コード検出プログラム | |
JPH11250179A (ja) | 文字認識装置および文字認識方法 |
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 |