説明

画像処理装置

【課題】原稿の傾きを求めて傾き補正を行う画像処理装置において、原稿の傾きを求めるまでの時間を短縮する。
【解決手段】画像処理機能を有する画像読取装置1では、先端エッジ画像SGの先端辺から副走査方向D3に中心先端エッジデータを検索して特定し、中心先端エッジデータを基準として検索範囲Eを決定する。そして、左側先端エッジデータ及び右側先端エッジデータを検索する際には、検索範囲Eのうち、副走査方向D3と逆方向における端辺である検索範囲Eの先端辺から副走査方向D3に検索を実行し、これらの先端エッジデータから原稿画像の傾きを検出する。この画像読取装置1では、副走査方向D3における中心先端エッジデータから検索範囲Eの先端辺までの距離が、中心先端エッジデータから先端エッジ画像SGの先端辺までの距離よりも短く設定されている。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される発明は、搬送される原稿の傾きを求めて傾き補正を行う画像処理装置に用いられる技術に関する。
【背景技術】
【0002】
従来から、搬送される原稿の傾きを求めて傾き補正を行う装置が知られている(例えば、特許文献1)。この装置では、読取ユニットを用いて原稿の先端部を含む範囲に対しプレスキャン動作を実行して画像データを生成し、この画像データに対してエッジ検出処理を実行して生成したエッジ画像データを用いて原稿推定処理を実行する。原稿推定処理では、原稿の先端側のエッジを意味する下エッジを検出する下エッジ検出処理において、検査位置をエッジ画像データの先端、つまりのエッジ画像データ副走査方向と逆方向における端から副走査方向に移動させてエッジ点の抽出を行う。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−164807号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のように、従来技術では、副走査方向において、エッジ画像データの先端からエッジ点の検出が行われていた。しかし、エッジ画像データでは、その先端においてエッジ点が存在しないことがあるため、従来技術のエッジ点の検出方法では、必要以上にエッジ点の検出が行われ、原稿の傾きを求めるまでの時間が長期化してしまう問題が生じていた。
【0005】
本発明は、搬送される原稿の傾きを求めて傾き補正を行う画像処理装置において、原稿の傾きを求めるまでの時間を短縮する技術を開示する。
【課題を解決するための手段】
【0006】
本明細書によって開示される画像処理装置は、原稿画像を含む読取画像を入力する入力部と、制御部と、を備え、前記制御部は、前記読取画像の一方の辺から当該一方の辺と直交する第1方向に前記原稿画像の端の一点を検索して特定し、その一点を基準として前記読取画像から前記読取画像の変化点を検索する検索範囲を決定する検索範囲決定処理と、前記検索範囲のうち、前記第1方向と逆方向における端辺である逆方向端辺を開始点とし、前記開始点から前記第1方向に前記変化点を検索する変化点検索処理と、前記変化点検索処理によって検索された前記変化点から前記原稿画像の前記一方の辺に対する傾きを検出する傾き検出処理と、を実行し、前記第1方向における前記一点から前記端辺までの距離は、前記第1方向における前記一点から前記一方の辺までの距離よりも短く設定されている。
【0007】
また、上記の画像処理装置では、前記検索範囲決定処理において、前記一点を前記検索範囲の前記第1方向における中心と決定する構成としても良い。
【0008】
また、上記の画像処理装置では、前記検索範囲決定処理において、前記読取画像のうち、前記入力部によって先に入力された側の辺から前記一点を特定する構成としても良い。
【0009】
また、上記の画像処理装置では、前記入力部は、原稿に対して相対移動しながら、主走査方向に前記原稿を読み取る読取部であり、前記読取部は、前記原稿よりも広い範囲に設定された読取範囲で前記原稿を読み取る構成としても良い。
【0010】
また、上記の画像処理装置では、前記傾き補正処理では、前記読取画像に傾き補正を行うことができる最大の傾きである最大傾きが予め決定されており、前記検索範囲決定処理では、前記読取部により先に読み取られた側の辺から前記主走査方向と直交する副走査方向に前記一点を特定し、前記読取部の前記主走査方向における読取幅と前記最大傾きの正接値の積から前記検索範囲の前記副走査方向における幅を決定する構成としても良い。
【0011】
また、上記の画像処理装置では、前記一点は、前記検索範囲の前記主走査方向における中心に配置されており、前記変化点検索処理は、前記一点から前記主走査方向に向けて前記変化点の検索を行う第1変化点検索処理と、前記一点から前記主走査方向と逆方向に向けて前記変化点の検索を行う第2変化点検索処理と、を含む構成としても良い。
【0012】
また、上記の画像処理装置では、前記制御部は、前記読取画像を、前記読取画像において閾値よりも低い輝度を有する前記読取データを第1データとし、前記読取画像において前記閾値よりも高い輝度を有する前記読取データを第2データとした2値化されたデータであるエッジ画像として抽出する画像抽出処理を更に実行し、前記検索範囲決定処理及び前記変化点検索処理では、画像抽出処理によって抽出された前記エッジ画像を用いて処理を行う構成としても良い。
【0013】
また、上記の画像処理装置では、前記制御部は、前記傾き検出処理が検出した傾きから前記読取画像に含まれる前記原稿画像の頂点位置を検出し、前記原稿画像の大きさを求めるサイズ検出処理を更に実行する構成としても良い。
【0014】
また、上記の画像処理装置では、前記制御部は、前記傾き検出処理が検出した傾きから前記読取画像の傾き補正を行う傾き補正処理を更に実行する構成としても良い。
【発明の効果】
【0015】
本明細書によって開示される画像処理装置では、読取画像の変化点を検索する際に、第1方向において、原稿画像の端の一点に対して読取画像の一方の辺よりも近接して設定される検索範囲の逆方向端辺から第1方向に変化点を検索する。そのため、読取画像の一方の辺から変化点を検索していた従来技術に比べて、検索に必要な時間、特に変化点が検索される場合の検索に必要な時間を短縮することができ、原稿画像の傾き、つまり原稿の傾きを求めるまでの時間を短縮することができる。
【図面の簡単な説明】
【0016】
【図1】画像読取装置の概略的な断面図
【図2】画像読取装置の電気的構成を概略的に示すブロック図
【図3】読取処理を示すフローチャート
【図4】解析処理を示すフローチャート
【図5】中心先端エッジデータ探索処理を示すフローチャート
【図6】中心先端エッジデータ探索処理を説明する図
【図7】左側先端エッジデータ検索処理を示すフローチャート
【図8】左側先端エッジデータ検索処理を示すフローチャート
【図9】左側先端エッジデータ検索処理を説明する図
【図10】変換処理を示すフローチャート
【発明を実施するための形態】
【0017】
<実施形態>
本発明の一実施形態を、図1ないし図10を用いて説明する。
【0018】
1.画像読取装置の機械的構成
図1は、本実施形態の画像読取装置1の概略的な断面図である。画像読取装置1は、画像処理装置の一例である。画像読取装置1は、給紙トレイ2と、本体部3と、排紙トレイ4と、を含む。画像読取装置1は、ユーザにより給紙トレイ2に載置された複数の原稿Gを排紙トレイ4に搬送するとともに、搬送中の原稿Gを本体部3に含まれるCIS24を用いて読み取るシートフィードスキャナである。
【0019】
本体部3には、給紙トレイ2と排紙トレイ4を接続する搬送経路22が設けられており、この搬送経路22の周辺に、給紙ローラ20と、分離パッド21と、搬送ローラ23と、CIS24と、フロントセンサ(以下、Fセンサ)25と、リアセンサ(以下、Rセンサ)26と、を備える。CIS24は、入力部及び読取部の一例である。
【0020】
給紙ローラ20は、給紙トレイ2に載置された原稿Gに当接しており、摩擦力により、給紙トレイ2に載置された複数枚の原稿Gを本体部3の内部へと引き込む。分離パッド21は、摩擦力により、複数枚の原稿Gを1枚の原稿Gに分離する。給紙トレイ2に載置された複数枚の原稿Gは、これらによって、1枚の原稿Gに分離されて本体部3の内部へと引き込まれる。
【0021】
搬送ローラ23は、モータM(図2参照)により駆動され、本体部3の内部へと引き込まれた原稿Gを搬送経路22上に搬送する。CIS24は、その読取方向である主走査方向D1が搬送経路22に沿った搬送方向D2に直交する姿勢で搬送経路22上に位置し、読取位置L1を通過する原稿Gを読み取る。
【0022】
次に、CIS24の構造について説明する。CIS24は、複数の受光素子が主走査方向D1に直線状に配列されているリニアイメージセンサ33、発光ダイオードなどで構成される光源31、光源から照射される光を搬送経路22上を搬送される原稿G等へと導く導光体36、原稿G等で反射された反射光をリニアイメージセンサ33の各受光素子に結像させるロッドレンズアレイ32、これらが搭載されるキャリッジ34を含む。なお、本実施形態では、CISを用いて画像読取装置が構成される例を用いて説明を行ったが、CCDを用いて画像読取装置が構成されていても良い。
【0023】
また、搬送ローラ23は、搬送経路22上に搬送された原稿Gを排紙トレイ4に送り出す。搬送ローラ23により排紙トレイ4に排紙された原稿Gは、排紙トレイ4に積層される。つまり、給紙ローラ20と搬送ローラ23とによって、給紙トレイ2に載置された原稿Gを搬送経路22に沿って搬送する搬送部30が形成されている。
【0024】
Fセンサ25は、給紙トレイ2に配置され、給紙トレイ2に原稿Gが載置された場合にオンし、給紙トレイ2に原稿Gが載置されていない場合にオフするように設定されている。Rセンサ26は、搬送経路22上のCIS24よりも上流側に配置され、搬送経路22上の検出位置L2を原稿Gが通過する場合にオンし、検出位置L2を原稿Gが通過していない場合にオフするように設定されている。
【0025】
また、本体部3には、この他に、電源スイッチや各種設定ボタンからなり、ユーザからの操作指令等を受け付ける操作部5(図2参照)や、LEDからなり画像読取装置1の状況を表示する表示部6(図2参照)、及び入出力装置9等が含まれる。入出力装置9は、例えば、USBメモリの接続部等からなり、CIS24を用いて原稿Gを読み取った画像を画像読取装置1外に持ち出すとともに、他の装置において読み取られた画像を画像読取装置1内のRAM13に記憶するためのものである。
【0026】
2.画像読取装置の電気的構成
図2は、画像読取装置1の電気的構成を概略的に示すブロック図である。図2に示すように、画像読取装置1は、画像読取装置1の各部を制御するASIC(特定用途向け集積回路)10を含む。ASIC10は、中央処理装置(以下、CPU)11と、ROM12と、RAM13と、デバイス制御部14と、アナログフロントエンド(以下、AFE)15と、駆動回路16と、画像処理回路17と、を備え、これらにバス18を介して、Fセンサ25、Rセンサ26などが接続されている。ASIC10のうち、CPU11と、ROM12と、RAM13と、デバイス制御部14と、を含む構成群19は、制御部の一例である。
【0027】
ROM12には、画像読取装置1の動作を制御するための各種のプログラムが記憶されており、CPU11は、ROM26から読み出したプログラムに従って、各部の制御を行う。デバイス制御部14は、CIS24に接続されており、CPU11からの命令に基づいて、光源31の点灯/消灯、及びリニアイメージセンサ33による読み取りを制御する信号をCIS24に送信する。CIS24は、デバイス制御部14からの信号に基づいて、予め定められた読取領域に亘って原稿Gを読み取る。
【0028】
CIS24は、搬送経路22上を搬送される原稿Gに対して、リニアイメージセンサ33の各受光素子を用いて読取領域に亘って繰り返し読取データを取得する。これにより、CIS24は、主走査方向D1及び主走査方向D1と直交する副走査方向D3に複数の読取データが並んで配置されて構成される読取画像を読み取ると、読取画像をAFE15に出力する。読取領域は、原稿Gよりも広い範囲に設定されており、通常、読取画像には、原稿Gを読み取った原稿画像が含まれる。図6に示すように、読取画像の各読取データには、当該読取データが読み取られた受光素子及びタイミングに基づいて、主走査方向D1のX座標、及び副走査方向D3のY座標が設定される。副走査方向D3は、第1方向の一例である。
【0029】
AFE15は、CIS24に接続されており、CPU11からの命令に基づいて、CIS24から出力されるアナログ信号である読取データをデジタル信号である階調データに変換する。AFE15は、変換したこの階調データを、バス18を介してRAM13に記憶する。画像処理回路17は、RAM13に記憶された階調データに2値化処理やエンハンス処理等のエッジ抽出処理を行い、エッジ画像に変換する。画像処理回路17は、2値化処理において、予め記憶された閾値と各読取データを比較し、閾値よりも低い輝度を有する読取データを「1」に変換し、閾値よりも高い輝度を有する読取データを「0」に変換する。そのため、エッジ画像は、「0」と「1」で表される2値化データとなる。「1」は、第1データの一例であり、「0」は、第2データの一例である。また、画像処理回路17は、RAM13に記憶された階調データに傾き補正やトリミング処理等の補正処理を行う。画像処理回路17により変換されたエッジ画像は、RAM13に記憶される。
【0030】
駆動回路16は、モータMに接続されており、CPU11からの命令に基づいてパルス信号をモータMに送信する。モータMは、パルス信号の1パルスで、1ステップの回転角度分、回転駆動する。モータMが1ステップ分駆動すると、搬送ローラ23が駆動し、搬送経路22上を原稿Gが所定距離の分だけ搬送される。CPU11は、原稿Gを搬送する際に、駆動回路16を介してパルス信号をモータMに送信し、これに従って搬送部30は、そのパルス信号のパルスの数に規定距離を掛けた距離だけ原稿Gを搬送する。以後、駆動回路16がモータMに送信するパルス信号のパルスの数を、ステップ数と呼ぶ。
【0031】
3.読取処理
次に、図3ないし図10を参照して、原稿Gの画像を読み取る読取処理について説明する。本実施形態では、原稿Gとして長方形や正方形等の原稿角が直角である原稿Gを用いて読み取りを実行する。
【0032】
図3は、CPU11が所定のプログラムに従って実行する読取処理のフローチャートを示す。CPU11は、Fセンサ25を用いて画像読取装置1の給紙トレイ2に原稿Gが載置されたことが確認され、操作部5を介して原稿Gの読取指示が入力されると、処理を開始する。
【0033】
CPU11は、処理を開始すると、駆動回路16に指示を行う。すると、駆動回路16は、CPU11の指示に基づいてモータMにパルス信号を送信し、搬送部30が原稿Gの搬送を開始する。CPU11は、ステップ数のカウントを開始する(S2)。CPU11は、Rセンサ26を用いて搬送中の原稿Gの位置を検出し(S4:NO)、Rセンサ26のオンによって、搬送経路22上の検出位置L2に原稿Gが到達したことを検出する(S4:YES)。CPU11は、Rセンサ26がオンしてから所定ステップ数がカウントされた後に原稿Gの読み取りを開始するようにデバイス制御部14を用いてCIS24を指示する(S6)。
【0034】
CPU11は、原稿Gの読み取りの開始を指示すると、まず、CIS24によって、読取領域の先端側に設定された先端読取領域SHの先端読取画像が読み取られる。図6に、CIS24によって読み取られた先端読取画像に後述するエッジ抽出処理を実行した先端エッジ画像SG示す。図6に示すように、先端読取領域SHは、その副走査方向D3における幅Wが、原稿Gの先端を含む範囲に設定されている。そのため、先端読取画像には原稿を読み取った原稿画像が含まれ、先端エッジ画像SGには、原稿画像の先端辺を示す先端エッジを読み取った画像が含まれる。
【0035】
また、CPU11は、原稿Gの読み取りの開始を指示すると、画像処理回路17を用いて先端読取画像を含む読取画像にエッジ抽出処理を実行する(S8)。エッジ抽出処理は、画像抽出処理の一例である。CPU11は、原稿Gの読取開始から幅Wに相当する所定ステップ数がカウントされるまで、先端読取画像の読み取り及びエッジ抽出処理を繰り返す(S10:NO)。CPU11は、所定ステップ数がカウントされると(S10:YES)、先端読取画像をエッジ抽出処理した先端エッジ画像SGをRAM13に記憶し、解析処理(S12)に移行する。CPU11は、解析処理移行後も読取領域に亘って原稿Gの読み取り及びエッジ抽出処理を継続する。
【0036】
(解析処理)
図5に、解析処理のフローチャートを示す。解析処理において、CPU11は、RAM13から先端エッジ画像SGを読み出し、画像処理回路17を用いてエッジ画像の先端エッジの読取データである先端エッジデータを検索する処理を実行する。以下の説明では、先端エッジデータのうち、読取領域の主走査方向D1の中心に存在する先端エッジデータを中心先端エッジデータと称し、読取領域の主走査方向D1の中心よりも主走査方向D1と逆方向に存在する先端エッジデータを左側先端エッジデータと称し、読取領域の主走査方向D1の中心よりも主走査方向D1に存在する先端エッジデータを右側先端エッジデータと称する。当該処理において、CPU11は、まず、中心先端エッジデータを検索する中心先端エッジデータ検索処理を実行する(S32)。中心先端エッジデータは、原稿画像の端の一点の一例であり、中心先端エッジデータ検索処理は、検索範囲決定処理の一例である。
【0037】
(中心先端エッジデータ検索処理)
図5に、中心先端エッジデータ検索処理のフローチャートを示す。中心先端エッジデータ検索処理において、CPU11は、先端エッジ画像SGにおける主走査方向D1の中心に存在する読取データを検索点として選出し、この検索点を副走査方向D3に移動させて先端エッジデータを検索する。CPU11は、まず、検索点の開始点を(XM、Y0)に設定する(S62)。
【0038】
図6に示すように、先端エッジ画像SGにおいて、図面右上角の座標は(X0、Y0)で表され、図面左下角の座標は(XMAX、YT)で表される。XMは、X0とXMAXの中間値を意味しており、X0とXMAXの間の距離がCIS24の主走査方向D1における読取幅Lを意味している。Y0は、CIS24によって副走査方向D3に先に読み取られた側の辺における読取データのY座標、すなわち、先端エッジ画像SGの副走査方向D3と逆方向における端辺、つまり先端辺のY座標を意味している。先端エッジ画像SGの副走査方向D3における先端辺は、読取画像の一方の辺の一例である。
【0039】
次に、CPU11は、開始点から副走査方向D3に検索点を移動させて先端エッジデータを検索する。CPU11は、まず、検索点が「1」であるか否かを確認する(S64)。図6の下部に、先端エッジ画像SGの主走査方向D1の中心に存在するエッジ画像を拡大して示す。図6に拡大して示すように、先端エッジ画像SGでは、通常、原稿Gが存在しない領域を読み取ったエッジ画像は「0」で表され、先端エッジデータは「1」で表される。そのため、先端エッジデータは、読取データが変化する点、つまり読取画像の変化点ということができる。図6では、「0」のエッジ画像を白点で表示し、「1」のエッジ画像を黒点で表示している。先端エッジデータは、副走査方向D3において連続した2個の読取データによって表される。そのため、先端エッジ画像SGにおいて、先端エッジデータは、副走査方向D3に「1」のエッジ画像が2個並んだものとして表される。
【0040】
CPU11は、検索点が「0」である場合(S64:NO)、検索点のY座標に1を加え、図6に矢印83で示すように、今回の検索点に副走査方向D3に隣接する読取データを次回の検索点とする(S66)。CPU11は、次回の検索点のY座標とYTを比較し(S68)、次回の検索点のY座標がYTでない場合(S68:NO)、S64からの処理を繰り返す。一方、次回の検索点のY座標がYTである場合(S68:YES)、つまり、中心先端エッジデータが検索されない場合には、解析処理を失敗したと判断し、表示部6等を用いてユーザに報知するとともに、読取処理を停止する。
【0041】
また、CPU11は、検索点が「1」である場合(S64:YES)、前回の検索点が「1」であったかを否かを確認する(S70)。先端エッジ画像SGでは、検索点が「1」となる場合として、検索点が先端エッジデータである場合の他に、原稿Gが存在しない領域を読み取った読取データにおいてもノイズ等の理由で「1」となる場合がある。図6では、ノイズ等の理由で「1」となった読取データを孤立点Bで示し、先端エッジデータを丸84で囲って示す。丸84には、先端エッジデータとして、副走査方向D3に2つ並んだ「1」の読取データが含まれる。一方、孤立点Bは、通常、副走査方向D3に連続して発生しない。
【0042】
CPU11は、前回の検索点が「0」である場合(S70:NO)、今回の検索点が先端エッジデータと孤立点Bのいずれに位置するかを区別することができないことから、先端エッジデータと判断しない。この場合、CPU11は、今回の検索点の座標を一端記憶し(S72)、検索点のY座標に1を加え(S74)、S64からの処理を繰り返す。
【0043】
一方、CPU11は、前回の検索点が「1」である場合(S70:YES)、つまり前回及び今回の検索点が連続して「1」である場合、前回及び今回の検索点が先端エッジデータに位置していると判断する。この場合、中心先端エッジデータが検索されたと判断し、前回記憶した検索点の座標を中心先端エッジデータの座標としてRAM13に記憶して特定する(S76)。以下の説明では、中心先端エッジデータの座標を(XM、YN)で表す(Y0<YN<YT)。
【0044】
次に、CPU11は、中心先端エッジデータを基準として、検索範囲Eを決定する(S78)。後述する左側先端エッジデータ検索処理及び右側先端エッジデータ検索処理では、この検索範囲Eにおいて左側先端エッジデータ及び右側先端エッジデータが検索される。図6に示すように、検索範囲Eは、主走査方向D1において、先端読取領域SHと同一範囲に決定される。そのため、中心先端エッジデータは、検索範囲Eにおいても主走査方向D1の中心に配置される。その一方、検索範囲Eは、副走査方向D3において、先端読取領域SHよりも狭い範囲に決定される。具体的には、下記のように、検索範囲Eの副走査方向D3における幅及び位置が決定される。
【0045】
(検索範囲の副走査方向の幅の決定)
CPU11には、原稿Gを読み取るためのCIS24の読取幅Lが伝達されており、ROM13には、後述する変換処理(S22)において読取画像に傾き補正処理(S144)を行うことができる最大の傾きである最大傾きθKが予め設定されて記憶されている。CPU11は、読取幅Lと最大傾きθKの正接値の積から、検索範囲Eの副走査方向D3における幅である2αを決定する(図6参照)。
2α=L×tanθK
【0046】
(検索範囲の副走査方向の位置の決定)
CPU11は、検索範囲Eの副走査方向D3における位置の中心を、中心先端エッジデータのY座標と等しくなるように決定し、中心先端エッジデータ検索処理を終了する。これにより、検索範囲Eの副走査方向D3における範囲が、下記のように決定される。図6に示すように、検索範囲Eの副走査方向D3と逆方向における端辺、つまり先端辺のY座標は、Y0よりも大きい値に設定され、検索範囲Eの副走査方向D3における端辺、つまり後端辺のY座標は、YTよりも小さい値に設定される。検索範囲Eの先端辺は、逆方向端辺の一例である。
Y0≦YN−α≦検索範囲EのY座標の範囲≦YN+α≦YT
【0047】
(左側先端エッジデータ検索処理)
次に、CPU11は、左側先端エッジデータを検索する左側先端エッジデータ検索処理を実行する(S34)。左側先端エッジデータ検索処理は、第2変化点検索処理の一例である。図7、8に、左側先端エッジ検索処理のフローチャートを示す。左側先端エッジ探索処理において、CPU11は、検索範囲Eにおける先端エッジ画像SGの主走査方向D1における中心より主走査方向D1と逆方向の範囲に存在する読取データを検索点として選出し、当該範囲において検索点を移動させて先端エッジデータを検索する。CPU11は、まず、検索を失敗した数を示す失敗カウンタNをゼロとし(S82)、検索点の開始点を(XM−T1、Y0−α)、つまり、検索範囲Eの先端辺に設定する(S84)。T1とは、2以上の整数に設定された規定数である。
【0048】
次に、CPU11は、開始点から副走査方向D3に検索点を移動させて先端エッジデータを検索する。CPU11は、検索点が「1」であるか否かを確認し(S86)、検索点が「0」である場合(S86:NO)、検索点のY座標に1を加え、今回の検索点に副走査方向D3に隣接する読取データを次回の検索点とする(S88)。CPU11は、次回の検索点のY座標と(YN+α)を比較し(S90)、次回の検索点のY座標が(YN+α)、つまり、検索範囲Eの後端辺でない場合(S90:NO)、S56からの処理を繰り返す。
【0049】
一方、CPU11は、検索点が「1」である場合(S86:YES)、前回の検索点が「1」であったかを否かを確認する(S92)。CPU11は、前回の検索点が「0」である場合(S92:NO)、今回の検索点が先端エッジデータに位置していると判断しない。この場合、CPU11は、今回の検索点の座標を一端記憶する(S94)とともに、図9に矢印81で示すように、検索点のY座標に1を加え(S96)、S86からの処理を繰り返す。
【0050】
一方、CPU11は、前回の検索点が「1」である場合(S92:YES)、前回及び今回の検索点が先端エッジデータに位置していると判断する。この場合、左側先端エッジデータが検索されたと判断し、前回記憶した検索点の座標を左側先端エッジデータの座標としてRAM13に記憶する(S98)。CPU11は、失敗カウンタNをゼロとし(S100)、現在の開始点からの副走査方向D3における検索を終了する。
【0051】
CPU11は、開始点を主走査方向D1と逆方向に移動させて、副走査方向D3における検索を繰り返す。CPU11は、図9に矢印85に示すように、現在の開始点から主走査方向D1と逆方向に規定数T1移動させて、つまり、現在の開始点のX座標から規定数T1を減じて次回の開始点を設定する(S102)。CPU11は、次回の開始点のX座標とX0を比較し(S104)、次回の開始点のX座標がX0以上である場合(S104:NO)、S86からの処理、つまり副走査方向D3における検索を繰り返す。
【0052】
また、CPU11は、図8に矢印86に示すように、先端エッジデータが検索される前に次回の検索点のY座標が(YN+α)となった場合(S90:YES)、現在の開始点からの副走査方向D3における検索において先端エッジデータが検索されなかったと判断する。この場合、CPU11は、失敗カウンタNに1を加え(S106)、失敗カウンタNを2と比較する(S108)。CPU11は、失敗カウンタNが2でない場合(S108:NO)、S102からの処理を行う。
【0053】
一方、CPU11は、失敗カウンタNが2である場合(S108:YES)、つまり、図8に矢印87に示すように、前回の開始点からの副走査方向D3における検索で先端エッジデータが検索されず、更に、現在の開始点からの副走査方向D3における検索で先端エッジデータが検索されない場合、左側先端エッジデータの検索を終了する。CPU11は、前回の開始点のX座標を左側外部座標T3としてRAM13に記憶し(S110)、後述するS116からの処理に進む。また、CPU11は、先端エッジデータが検索されなくなる前に次回の開始点のX座標がX0よりも小さくなった場合(S104:YES)、後述するS116からの処理に進む。
【0054】
S116からの処理において、CPU11は、図9にカッコ88に示すように、検索された左側先端エッジデータを当該左側先端エッジデータが検索された順に3個毎の組とする(S116)。CPU11は、各組に含まれる先端エッジデータをそのY座標でソートし(S118)、これらの先端エッジデータのうち、Y座標が中間値となる先端エッジデータを各組の代表先端エッジデータとして選出する(S120)。CPU11は、代表先端エッジデータの座標をRAM13に記憶し(S122)、左側先端エッジデータ検索処理を終了する。
【0055】
(右側原稿先端エッジ検索処理)
次に、CPU11は、右側先端エッジデータ検索処理を実行する(S36)。右側先端エッジデータ検索処理は、第1変化点検索処理の一例である。右側先端エッジデータ検索処理は、処理開始時に開始点を(XM+T1、Y0−α)に設定する点、開始点を主走査方向D1に規定数T2移動させて副走査方向D3における検索を繰り返す点、次回の開始点のX座標がXMAX以下であるか否かを確認する点、を除いて他、左側先端エッジデータ検索処理と同一であり、重複した説明を省略する。規定数T2は、2以上の整数に設定されている。
【0056】
CPU11は、左側先端エッジデータ検索処理と、右側先端エッジデータ検索処理とによって、それぞれ検索された代表先端エッジデータの座標をRAM13から読み出し(S38)、代表先端エッジデータが全体として複数個存在する場合(S40:YES)、これらの座標を用いて代表先端エッジデータを直線近似し(S42)、算出された直線式を先端エッジデータの直線式としてRAM13に記憶する。算出された直線式は、X軸及びY軸を用いて表わすことができ、図9に示すように、直線式の傾きθは、X軸方向、つまり、先端エッジ画像SGの先端辺に対する傾きを表す。一方、代表先端エッジデータが1つしか存在しない場合(S40:NO)、解析処理を失敗したと判断し、ユーザに報知するとともに読取処理を停止する。
【0057】
次に、CPU11は、左先端頂点データLT1を検索する処理を実行する(S46〜S50)。左先端頂点データLT1とは、先端エッジデータのうち、副走査方向D3と逆方向における端部の先端エッジデータを意味する。左先端頂点データLT1の検索において、CPU11は、RAM13に左側外部座標T3が記憶されているか否かを確認し(S46)、RAM13に左側外部座標T3が記憶されている場合(S46:YES)、原稿Gの左端エッジの読取データである左端エッジデータを検索する。
【0058】
CPU11は、検索点の開始点を(T3、YN+α)に設定し、開始点から主走査方向D1に検索点を移動させて左端エッジデータを検索する。CPU11は、上述した先端エッジデータの直線式と直交する直線式であり、かつ左端エッジデータを通過する直線式を算出し(S48)、算出された直線式を左端エッジデータの直線式としてRAM13に記憶する。そして、先端エッジデータの直線式と左端エッジデータの直線式の交点を左先端頂点データLT1として検出し(S50)、その座標をRAM13に記憶する。
【0059】
一方、CPU11は、RAM13に左側外部座標T3が記憶されていない場合(S46:NO)、先端エッジデータの直線式の、X座標がX0となる点を左先端頂点データLT1として検出し、その座標をRAM13に記憶する。
【0060】
次に、CPU11は、右先端頂点データRT1を検索する処理を実行する(S52〜S56)。右先端頂点データRT1とは、先端エッジデータのうち、副走査方向D3における端部の先端エッジデータを意味する。右先端頂点データRT1の検索において、CPU11は、RAM13に右側外部座標T4が記憶されているか否かを確認し(S52)、RAM13に右側外部座標T4が記憶されている場合(S52:YES)、原稿Gの右端エッジの読取データである右端エッジデータを検索する。
【0061】
CPU11は、検索点の開始点を(T4、YN+α)に設定し、開始点から主走査方向D1と逆方向に検索点を移動させて右端エッジデータを検索する。CPU11は、上述した先端エッジデータの直線式と直交する直線式であり、かつ右端エッジデータを通過する直線式を算出し(S54)、算出された直線式を右端エッジデータの直線式としてRAM13に記憶する。そして、先端エッジデータの直線式と右端エッジデータの直線式の交点を右先端頂点データRT1として検出し(S56)、その座標をRAM13に記憶する。
【0062】
一方、CPU11は、RAM13に右側外部座標T4が記憶されていない場合(S52:NO)、先端エッジデータの直線式のうち、X座標がXMAXとなる点を右先端頂点データRT1として検出し、その座標をRAM13に記憶する。CPU11は、右先端頂点データRT1の座標がRAM13に記憶されると、解析処理を終了する。
【0063】
CPU11は、解析処理の実行中、さらには解析処理の終了後も原稿Gの読み取り及びエッジ抽出処理を継続しており(S14:NO)、Rセンサ26がオフすると(S14:YES)、Rセンサ26がオフしてから所定ステップ数がカウントされた後に原稿Gの読み取りを終了する(S16)とともに原稿Gの搬送を終了する(S18)。以下、この搬送を終了した原稿Gを対象原稿Gと呼ぶ。CPU11は、対象原稿Gを読み取る際に、CIS24のリニアイメージセンサ33の各受光素子が繰り返し読取データを取得した回数である全読取ライン数PLを取得する(S20)。CPU11は、取得した全読取ライン数PLをRAM13に記憶すると、変換処理(S22)に移行する。
【0064】
(変換処理)
図10に、変換処理のフローチャートを示す。変換処理において、CPU11は、まず、対象原稿Gの後端エッジの読取データである後端エッジデータの直線式を算出する(S132)。CPU11は、RAM13から全読取ライン数PLを読み出すと、上述した先端エッジデータの直線式をY軸方向に全読取ライン数PLだけ平行移動させた直線式を算出し、算出された直線式を後端エッジデータの直線式としてRAM13に記憶する。そして、左端エッジデータの直線式と後端エッジデータの直線式の交点を左後端頂点データLT2として検出し(S134)、その座標をRAM13に記憶する。また、右端エッジデータの直線式と後端エッジデータの直線式の交点を右後端頂点データRT2として検出し(S136)、その座標をRAM13に記憶する。ここで、左後端頂点データとは、後端エッジデータのうち、副走査方向D3と逆方向における端部の後端エッジデータを意味し、右後端頂点データとは、後端エッジデータのうち、副走査方向D3における端部の後端エッジデータを意味する。
【0065】
次に、CPU11は、先端エッジデータの直線式の傾きθを、原稿画像の先端エッジ画像SGの先端辺に対する傾き、つまり、対象原稿Gの先端エッジ画像SGの先端辺に対する傾きとして検出する傾き検出処理を実行する(S138)。更に、CPU11は、左先端頂点データLT1、右先端頂点データRT1、左後端頂点データLT2、右後端頂点データRT2の各頂点の座標から、対象原稿Gの原稿サイズZを検出するサイズ検出処理を実行する(S140)。
【0066】
CPU11は、検出された対象原稿Gの傾きθと最大傾きθKとを比較し(S142)、原稿Gの傾きθが最大傾きθK以内である場合(S142:YES)、画像処理回路17を用いてRAM13に記憶されている読取画像に対して、トリミング及び傾き補正処理を実行する(S144)。CPU11は、検出された原稿サイズZから出力用データのサイズを決定し、RAM13に記憶されている読取画像から原稿Gの傾きθに沿った方向に読取データを読み出し、出力用データを完成させ、変換処理を終了するとともに、読取処理を終了する。
【0067】
一方、CPU11は、原稿Gの傾きθが最大傾きθKよりも大きい場合(S142:NO)、RAM13に記憶されている読取画像に対して、トリミング処理を実行する(S146)。CPU11は、検出された原稿サイズZから出力用データのサイズを決定し、RAM13に記憶されている読取画像から主走査方向D1に沿った方向に読取データを読み出し、出力用データを完成させ、変換処理を終了するとともに、読取処理を終了する。
【0068】
4.本実施形態の効果
(1)本実施形態の画像読取装置1では、先端エッジ画像SGの左側先端エッジデータ及び右側先端エッジデータを検索する際に、先端読取領域SHと異なる検索範囲Eを決定し、この範囲でこれら先端エッジデータを検索する。
【0069】
一般に、先端読取領域SHの副走査方向D3における幅Wは、原稿Gが最大傾きθKよりも傾いた場合でも画像欠落が生じることなく原稿Gを読み取ることができるように設定されされている。そのため、最大傾きθKを用いて決定される検索範囲Eは、先端読取領域SHを用いて読み取られた先端エッジ画像SGよりも副走査方向D3において狭い範囲に設定される。また、一般に、画像読取装置1では、先端読取領域SHの副走査方向D3における位置は、原稿Gの先端エッジを基準として決定される。そのため、同じく原稿Gの先端エッジを基準として設定される検索範囲Eは、その全範囲が先端エッジ画像SGに含まれることとなる。この結果、副走査方向D3において、検索範囲Eの先端辺が、中心先端エッジデータに対して先端エッジ画像SGの先端辺よりも近接して設定されることとなる。
【0070】
この画像読取装置1では、副走査方向D3において、副走査方向D3に左側先端エッジデータ及び右側先端エッジデータを検索する際に、先端エッジ画像SGの先端辺からでなはく、検索範囲Eの先端辺から検索を開始する。そのため、先端エッジ画像SGの先端辺から左側先端エッジデータ及び右側先端エッジデータを検索していた従来技術に比べて、検索に必要な時間、特に図9に矢印81に示すように、これらの先端エッジデータが検索される場合の検索に必要な時間を短縮することができ、読取画像の傾き、つまり原稿Gの傾きを求めるまでの時間を短縮することができる。
【0071】
(2)本実施形態の画像読取装置1では、検索範囲Eの副走査方向D3における幅2αを先端読取領域SHの副走査方向D3における幅Wよりも縮小して設定することができ、検索に必要な時間、特に図9に矢印86、87に示すように、左側先端エッジデータ及び右側先端エッジデータが検索されない場合の検索に必要な時間を短縮することができる。
【0072】
(3)本実施形態の画像読取装置1では、CIS24により先に読み取られた側の先端エッジ画像SGの先端辺から中心先端エッジデータを特定し、この中心先端エッジデータを用いて検索範囲Eを決定する。そのため、CIS24により早期に読み取られた読取データを用いて検索範囲Eを決定することができ、検索範囲Eを用いて左側先端エッジデータ及び右側先端エッジデータを検索するのに必要な時間を短縮することができる。
【0073】
(4)本実施形態の画像読取装置1では、原稿Gよりも広い範囲に設定された読取領域を用いて原稿Gを読み取るので、読取画像において原稿画像の画像欠落が発生することがない。
【0074】
(5)本実施形態の画像読取装置1では、CIS24の読取幅LとROM13に記憶された最大傾きθKから検索範囲Eの副走査方向D3における幅2αを決定するので、解析処理において全範囲における先端エッジデータが検索範囲E内において検索された場合には、傾き補正処理において読取画像の傾き補正を確実に行うことができる。
【0075】
(6)本実施形態の画像読取装置1では、左側先端エッジデータ及び右側先端エッジデータ検索処理において、検索範囲Eの主走査方向D1における中心から主走査方向D1又は主走査方向D1と逆方向に向けて検索点を移動させて検索を実行し、これらの先端エッジデータが存在しないことがある先端エッジ画像SGの主走査方向D1における端部からこれらの先端エッジデータの検索を開始しない。そのため、読取画像の主走査方向における端から端まで移動させて検索を行う従来技術に比べて、これら先端エッジデータの検索に必要な時間を短縮することができる。
【0076】
(7)本実施形態の画像読取装置1では、先端読取画像に2値化処理等等のエッジ抽出処理を施した先端エッジ画像SGを用いて中心先端エッジデータを特定し、左側先端エッジデータ及び右側先端エッジデータを検索する。2値化処理等が実行された先端エッジ画像SGでは、先端読取画像に比べて先端エッジデータを検索しやすく、各処理に必要な時間を短縮することができる。
【0077】
(8)本実施形態の画像読取装置1では、エッジ画像の原稿画像の先端、後端、右端、左端に対応する各エッジデータから、左先端、右先端、左後端、右後端の各頂点データを検出し、原稿サイズZを検出するので、原稿Gの大きさを正確に求めることができる。
【0078】
(9)本実施形態の画像読取装置1では、先端エッジデータの傾きθを用いて読取画像の傾き補正を行うので、傾きが補正された原稿画像を出力等することができる。
【0079】
<他の実施形態>
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような種々の態様も本発明の技術的範囲に含まれる。
(1)上記実施形態では、スキャナ機能を有する画像読取装置1を用いて説明を行ったが、本発明はこれに限られない。例えば、プリンタ機能、コピー機能、ファクシミリ機能などの他の機能を備えた複合機であっても良い。
【0080】
(2)また、スキャナ機能を必ずしも有していなくても良い。例えば、他の画像読取装置を用いて読み取られた読取画像を入出力装置9を解してRAM13に記憶し、この読取画像に対してエッジ抽出処理、解析処理、又は変換処理を実行しても良い。入出力装置9は、入力部の他の一例である。この場合、中心先端エッジデータ検索処理では、RAM13に先に記憶された側の読取画像の端辺を先端辺として先端エッジ画像SGを決定することで、先端エッジデータを検索するのに必要な時間を短縮することができる。
【0081】
(3)上記実施形態では、制御部がCPU11と、ROM12と、RAM13と、デバイス制御部14と、を含む構成群19である例を用いて説明を行ったが、制御部がお互いに異なるCPU、ASICや、各種処理を実行する専用の機器などを用いて構成されていても良い。
【0082】
(4)また、CPU11が実行するプログラムが必ずしもROM13に記憶されている必要はなく、CPU11自身に記憶されていてもよければ、他の記憶装置に記憶されていても良い。
【0083】
(5)上記実施形態では、左端エッジデータ及び右端エッジデータを検索する際に、検索点の開始点を検索範囲Eの後端辺上に設定してこれらのエッジデータを検索する例を用いて説明を行ったが、検索点の開始点は、そのX座標が左側外部座標T3(右側外部座標T4)であれば、Y座標は特に限定されない。また、左端エッジデータ及び右端エッジデータを検索する回数も特に限定されるものではなく、左端エッジデータ及び右端エッジデータの検索が各々複数回行われ、その平均値や代表値を用いて左端エッジデータの直線式及び右端エッジデータの直線式が算出されても良い。
【0084】
(6)また、左側先端エッジデータの検索及び右側先端エッジデータの検索を終了する際の失敗カウンタNの個数や、代表先端エッジデータを選出する際の組の個数も適宜設定することができる。
【0085】
(7)上記実施形態では、搬送経路22を搬送される原稿GをCIS24で読み取る例を用いて説明をおこなったが、フラットベット方式のように、プラテンガラス等に静止して載置された原稿GをCIS24が移動して読み取る場合にも用いることができる。
【0086】
(8)上記実施形態では、左側先端エッジデータ検索処理と右側先端エッジデータ検索処理とを実行し、それぞれ検索された先端エッジデータを用いて原稿画像の傾きθを求める例を用いて説明を行ったが、いずれか一方の先端エッジデータ検索処理のみを実行し、その処理において検索された先端エッジデータを用いて原稿の傾きθを求めても良い。
【符号の説明】
【0087】
1:画像読取装置、10:ASIC、11:CPU、12:ROM、13:RAM、17:画像処理回路、19:構成群、24:CIS、D1:主走査方向、D2:搬送方向、D3:副走査方向、E:検索範囲、G:原稿、SG:先端エッジ画像、SH:先端読取領域、L:読取幅、Z:原稿サイズ、θK:最大傾き

【特許請求の範囲】
【請求項1】
原稿画像を含む読取画像を入力する入力部と、
制御部と、
を備え、
前記制御部は、
前記読取画像の一方の辺から当該一方の辺と直交する第1方向に前記原稿画像の端の一点を検索して特定し、その一点を基準として前記読取画像から前記読取画像の変化点を検索する検索範囲を決定する検索範囲決定処理と、
前記検索範囲のうち、前記第1方向と逆方向における端辺である逆方向端辺を開始点とし、前記開始点から前記第1方向に前記変化点を検索する変化点検索処理と、
前記変化点検索処理によって検索された前記変化点から前記原稿画像の前記一方の辺に対する傾きを検出する傾き検出処理と、
を実行し、
前記第1方向における前記一点から前記端辺までの距離は、前記第1方向における前記一点から前記一方の辺までの距離よりも短く設定されている、画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記検索範囲決定処理では、前記一点を前記検索範囲の前記第1方向における中心と決定する、画像処理装置。
【請求項3】
請求項2に記載の画像処理装置であって、
前記検索範囲決定処理では、前記読取画像のうち、前記入力部によって先に入力された側の辺から前記一点を特定する、画像処理装置。
【請求項4】
請求項3に記載の画像処理装置であって、
前記入力部は、原稿に対して相対移動しながら、主走査方向に前記原稿を読み取る読取部であり、
前記読取部は、前記原稿よりも広い範囲に設定された読取範囲で前記原稿を読み取る、画像処理装置。
【請求項5】
請求項4に記載の画像処理装置であって、
前記傾き補正処理では、前記読取画像に傾き補正を行うことができる最大の傾きである最大傾きが予め決定されており、
前記検索範囲決定処理では、前記読取部により先に読み取られた側の辺から前記主走査方向と直交する副走査方向に前記一点を特定し、前記読取部の前記主走査方向における読取幅と前記最大傾きの正接値の積から前記検索範囲の前記副走査方向における幅を決定する、画像処理装置。
【請求項6】
請求項4または請求項5に記載の画像処理装置であって、
前記一点は、前記検索範囲の前記主走査方向における中心に配置されており、
前記変化点検索処理は、
前記一点から前記主走査方向に向けて前記変化点の検索を行う第1変化点検索処理と、
前記一点から前記主走査方向と逆方向に向けて前記変化点の検索を行う第2変化点検索処理と、
を含む、画像処理装置。
【請求項7】
請求項1ないし請求項6のいずれか一項に記載の画像処理装置であって、
前記制御部は、
前記読取画像を、前記読取画像において閾値よりも低い輝度を有する前記読取データを第1データとし、前記読取画像において前記閾値よりも高い輝度を有する前記読取データを第2データとした2値化されたデータであるエッジ画像として抽出する画像抽出処理を更に実行し、
前記検索範囲決定処理及び前記変化点検索処理では、画像抽出処理によって抽出された前記エッジ画像を用いて処理を行う、画像処理装置。
【請求項8】
請求項1ないし請求項7のいずれか一項に記載の画像処理装置であって、
前記制御部は、
前記傾き検出処理が検出した傾きから前記読取画像に含まれる前記原稿画像の頂点位置を検出し、前記原稿画像の大きさを求めるサイズ検出処理を更に実行する、画像処理装置。
【請求項9】
請求項1ないし請求項8のいずれか一項に記載の画像処理装置であって、
前記制御部は、
前記傾き検出処理が検出した傾きから前記読取画像の傾き補正を行う傾き補正処理を更に実行する、画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−115617(P2013−115617A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−260138(P2011−260138)
【出願日】平成23年11月29日(2011.11.29)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】