JP6409317B2 - 読取装置およびプログラム - Google Patents

読取装置およびプログラム Download PDF

Info

Publication number
JP6409317B2
JP6409317B2 JP2014091354A JP2014091354A JP6409317B2 JP 6409317 B2 JP6409317 B2 JP 6409317B2 JP 2014091354 A JP2014091354 A JP 2014091354A JP 2014091354 A JP2014091354 A JP 2014091354A JP 6409317 B2 JP6409317 B2 JP 6409317B2
Authority
JP
Japan
Prior art keywords
edge
document
reading
scanner
edge data
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.)
Active
Application number
JP2014091354A
Other languages
English (en)
Other versions
JP2015211321A (ja
Inventor
侑典 宮本
侑典 宮本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2014091354A priority Critical patent/JP6409317B2/ja
Publication of JP2015211321A publication Critical patent/JP2015211321A/ja
Application granted granted Critical
Publication of JP6409317B2 publication Critical patent/JP6409317B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Input (AREA)
  • Facsimile Scanning Arrangements (AREA)

Description

本発明は,原稿の画像を読み取る読取装置およびプログラムに関する。さらに詳細には,読み取った画像のうち,原稿と背景部材との境界となる原稿のエッジを検知する技術に関するものである。
従来から,原稿の画像を読み取り,読み取った画像のうち,原稿と背景部材との境界となる原稿のエッジを検知する技術が知られている。例えば,特許文献1には,読み取った画像のうち,原稿のエッジを検知する機能を有する画像読取装置であって,当該機能を用いて,読み取った画像から背景部分にある原稿の影を除去する技術が開示されている。
特開2009−16904号公報
しかしながら,前記した従来の技術には,次のような問題があった。すなわち,原稿サイズが大きい場合や原稿が傾いている場合,原稿の端部が読取範囲外となる場合がある。この場合,原稿の途中を原稿のエッジと誤判断する可能性がある。
本発明は,前記した従来の技術が有する問題点を解決するためになされたものである。すなわちその課題とするところは,原稿のエッジの検知精度を向上させる技術を提供することにある。
この課題の解決を目的としてなされた読取装置は,画像を読み取る読取部と,制御部とを備え,前記制御部は,前記読取部に画像を読み取らせる読取処理と,前記読取処理にて読み取った画像データから,原稿のエッジの情報であるエッジデータを取得するエッジ取得処理と,前記エッジ取得処理にて取得された前記エッジデータに基づいて,原稿の主走査方向の端部が前記読取部の読取範囲を超えるか否かを判断する判断処理とを実行することを特徴としている。
本明細書に開示される読取装置は,読み取った画像データから,原稿のエッジの情報であるエッジデータを取得する。そして,取得したエッジデータに基づいて,原稿の主走査方向の端部が読取部の読取範囲を超えるか否かを判断する。
すなわち,本明細書に開示される読取装置は,原稿のエッジの情報であるエッジデータの取得に加え,そのエッジデータに基づいて原稿の主走査方向の端部が読取部の読取範囲を超えるか否かの判断も行っている。そのため,その判断結果を利用することで,エッジデータのみで原稿の端部の位置を判断する場合と比較して,原稿の端部でないエッジの位置を原稿の端部の位置と判断する誤判断の抑制が期待できる。
また,前記制御部は,前記エッジ取得処理にて取得された前記エッジデータに基づいて,原稿の先端角部を抽出する抽出処理を実行し,前記判断処理では,原稿の先端角部が抽出されていない場合,あるいは原稿の先端角部が,前記読取部の読取範囲の限界から規定距離までの範囲内にある場合に,前記読取部の読取範囲を超えると判断するとよい。原稿の先端角部が抽出されていない場合には,原稿の端部が読取範囲外となっている可能性がある。また,原稿の先端角部が読取部の読取範囲の限界から規定距離までの範囲内にある場合にも,取得されたエッジデータから原稿の端部の位置を正確に判断することが困難な場合がある。そのため,読取部の読取範囲を超えると判断する方が好ましい。
また,前記制御部は,前記エッジ取得処理にて取得された前記エッジデータに基づいて,原稿の傾きを取得する傾き取得処理を実行し,前記判断処理では,前記傾き取得処理にて取得された前記傾きに基づいて,原稿の主走査方向の端部が前記読取部の読取範囲を超えるか否かを判断するとよい。原稿の傾きを考慮することで,原稿の副走査方向の途中から読取範囲外となる位置を検出できる。そのため,より正確に読取部の読取範囲を超えるか否かを判断できる。
また,前記制御部は,前記エッジ取得処理では,副走査方向に所定の頻度で,主走査方向に前記エッジデータを取得し,前記判断処理にて前記読取部の読取範囲を超えると判断された場合,読取範囲を超える位置である超過位置から所定範囲内の領域である境界領域での前記エッジデータを取得する頻度を,前記境界領域以外の領域での前記頻度と比較して,高くするとよい。この構成によれば,境界領域でのエッジの精度の高精度化を図ることができる一方で,境界領域以外の領域でのエッジの取得速度の高速化を図ることができる。
また,前記制御部は,前記エッジ取得処理では,前記エッジデータを用いて取得する原稿の特性と状態との少なくとも一方に応じて,異なる頻度で前記エッジデータを取得するとよい。取得する原稿の情報として原稿の特性と状態との少なくとも一方があり,その種類によって要求精度が異なる。そのため,原稿の情報の種類に応じて,高精度化と高速化との均衡を図る方が好ましい。原稿の特性には,例えば,原稿の形状,原稿のサイズ,パンチ穴の位置が該当する。原稿の状態には,例えば,原稿の傾き,回転斜行量が該当する。例えば,原稿の斜行状態は高精度が要求されるが,パンチ穴の位置や原稿サイズの場合は,高精度が要求されない。
また,前記制御部は,前記エッジ取得処理にて取得された前記エッジデータのうち,前記判断処理にて読取範囲を超えないと判断された端部側の側辺である特定側辺のエッジデータを用いて,原稿の特性と状態との少なくとも一方を取得する情報取得処理を実行するとよい。読取範囲を超えないと判断された端部側の側辺のエッジデータを用いて,原稿の特性と状態との少なくとも一方である原稿の情報を取得する,すなわち読取範囲を超えたと判断された端部側の側辺のエッジデータを用いずに,原稿の情報を取得することで,当該原稿の情報の精度の向上が期待できる。
また,前記情報取得処理には,前記判断処理にて否定判断された場合に,原稿の先端側のエッジデータと前記特定側辺のエッジデータとを用いて原稿の傾きを取得し,前記判断処理にて肯定判断された場合に,原稿の先端側のエッジデータを用いて原稿の傾きを取得する処理が含まれるとよい。側辺のエッジデータを用いることができれば,原稿の傾きを高精度に取得できる。
また,前記制御部は,前記情報取得処理では,前記判断処理にて否定判断された場合に,前記特定側辺のエッジデータを回転斜行量の取得に用い,前記判断処理にて肯定判断された場合に,前記特定側辺のエッジデータを回転斜行量の取得に用いないとよい。側辺のエッジデータを用いることができれば,回転斜行量を高精度に取得できる。
また,前記制御部は,前記情報取得処理では,前記判断処理にて否定判断された場合に,前記特定側辺のエッジデータを原稿の形状の取得に用い,前記判断処理にて肯定判断された場合に,前記特定側辺のエッジデータを原稿の形状の取得に用いないとよい。側辺のエッジデータを用いることができれば,原稿の形状を高精度に取得できる。なお,原稿の形状には,原稿の定型サイズの他,長方形以外の形状も含まれる。
また,前記制御部は,前記情報取得処理では,前記判断処理にて否定判断された場合に,前記特定側辺のエッジデータをパンチ穴の位置の取得に用い,前記判断処理にて肯定判断された場合に,前記特定側辺のエッジデータをパンチ穴の位置の取得に用いないとよい。側辺のエッジデータを用いることができれば,パンチ穴の位置を高精度に取得できる。
上記読取装置の機能を実現するためのコンピュータプログラムも,新規で有用である。
本発明によれば,原稿のエッジの検知精度を向上させる技術が実現される。
実施の形態にかかるスキャナの概略構成を示す断面図である。 スキャナの電気的構成を示すブロック図である。 原稿の配置を示す説明図である。 読取処理の手順を示すフローチャートである。 検出されたエッジを示す説明図である。 サンプリング位置決定処理の手順を示すフローチャートである。 傾き角を示す説明図である。 サンプリング頻度の例を示す説明図である。 原稿サイズ取得処理の手順を示すフローチャートである。 回転斜行取得処理の手順を示すフローチャートである。
以下,本発明にかかる読取装置を具体化した実施の形態について,添付図面を参照しつつ詳細に説明する。本形態は,画像読取機能を備えたスキャナに本発明を適用したものである。
本形態のスキャナ100は,その断面を図1に示すように,読取ヘッド21を有し,原稿と読取ヘッド21とを相対的に移動させつつ,原稿の画像を読み取る。読取ヘッド21は,対向する箇所に光を照射し,受光量に基づく信号を出力する。スキャナ100は,読取ヘッド21の出力信号に基づいて,例えば,1ライン分の画像データを連続して取得する。なお,本形態のスキャナ100の読取方式は,CIS方式でもよいし,CCD方式でもよい。
原稿を面として読み取るために,本形態のスキャナ100は,原稿を搬送する原稿搬送部22を有している。原稿搬送部22は,複数の搬送ローラ26等を含み,図1中に一点鎖線で示す搬送路25に沿って原稿を搬送する。そして,原稿搬送部22は,原稿を1枚ずつ所定の速度で搬送し,読取ヘッド21に対向する箇所を通過させる。そして,スキャナ100は,原稿搬送部22にて搬送中の原稿を,読取ヘッド21にて読み取る。
また,原稿搬送部22には,読み取り前の原稿が収容される原稿トレイ28と,読み取り後の原稿が収容される原稿排出トレイ29とが設けられている。そして,スキャナ100は,読み取り実行の指示入力を受け付けると,原稿トレイ28にセットされた原稿の1枚を搬送路25に引き込んで搬送し,読み取りが終了した原稿を原稿排出トレイ29に排出する。
本形態のスキャナ100は,読取ヘッド21にて,主走査方向の画像データを連続して取得する。スキャナ100は,主走査方向について,原稿の配置に関わらず,読取ヘッド21の長さに対応する範囲である読取範囲の画像データを取得する。図1に示すように,原稿の搬送路25を挟んで読取ヘッド21に対向する位置には,白板23が配置されている。そのため,スキャナ100は,読取ヘッド21の対向位置に原稿がない場合には,白板23を読み取る。
そして,本形態のスキャナ100は,原稿の搬送に伴って,副走査方向に画像データを取得する。つまり,画像データは,主走査方向に連続して取得され,原稿の搬送と読み取りとの進行につれて副走査方向に増えていく。本形態では,読取ヘッド21が,読取部の一例であり,読取ヘッド21の長さが,読取範囲の限界の一例である。
続いて,スキャナ100の電気的構成について説明する。スキャナ100は,図2に示すように,CPU31と,ROM32と,RAM33と,NVRAM(不揮発性RAM)34と,ASIC35とを含むコントローラ30を備えている。また,スキャナ100は,読取ヘッド21と,原稿搬送部22と,ネットワークインターフェース37と,USBインターフェース38と,操作パネル40とを備え,これらがコントローラ30に電気的に接続されている。
ROM32には,スキャナ100を制御するための各種制御プログラムや各種設定,初期値等が記憶されている。RAM33は,各種制御プログラムが読み出される作業領域として,あるいは,データを一時的に記憶する記憶領域として利用される。CPU31は,ROM32から読み出した制御プログラムに従って,その処理結果をRAM33またはNVRAM34に記憶させながら,スキャナ100の各構成要素を制御する。
CPU31は,制御部の一例である。なお,コントローラ30が制御部であってもよいし,ASIC35が制御部であってもよい。なお,図2中のコントローラ30は,CPU31等,スキャナ100の制御に利用されるハードウェアを纏めた総称であって,実際にスキャナ100に存在する単一のハードウェアを表すとは限らない。
ネットワークインターフェース37は,LANケーブル等を用いてネットワークを介して接続された装置と通信を行うためのハードウェアである。USBインターフェース38は,USBケーブル等を介して接続された装置と通信を行うためのハードウェアである。操作パネル40は,ディスプレイと入力ボタン等を有し,ユーザへの告知を表示し,ユーザによる入力操作を受け付ける。
続いて,本形態のスキャナ100における原稿の読み取り動作について説明する。本形態のスキャナ100は,前述したように,原稿を搬送しつつ読み進める。そして,読み取り終わった部分の画像データを利用して,その範囲内に含まれる画像のエッジを検出し,検出したエッジの位置情報をエッジデータとして取得する。
エッジとは,画像データの中で,画像データのデータ値が所定の閾値を超えて変化する位置である。スキャナ100は,例えば,画像データ中の各点の輝度値を所定の閾値で二値化し,二値化データの値が0から1へ変化した箇所をエッジであると判断して,エッジの位置をエッジデータとして取得する。
本形態のスキャナ100にてシート状の原稿を読み取った場合,シートの縁辺と白板23との境界に影が生じる。そのため,画像データ51は,図3に示すように,シートの縁辺に対応する部分に,原稿の内容部分より濃い色の影画像52が含まれることが多い。この図3では,取得した画像データ51の全体を破線で囲い,その内部に原稿の画像が含まれていることを示している。例えば,長方形の原稿を読み取った画像データ51には,原稿の四辺による影画像52が含まれ,前述したエッジ検出動作を実行すると影画像52によるエッジが検出される。
ここで,原稿の各辺を,図3に示すように定義する。原稿のうち,読取ヘッド21の位置に最初に到達する箇所を,「上辺」とする。原稿が読取ヘッド21に対して平行に配置されていれば,上辺によってできる影画像52は,読み取った画像データ51では主走査方向に整列して現れる。また,原稿のうち,最後に読取ヘッド21の位置に到達する箇所を,「下辺」とする。さらに,原稿の読み取り面に向かって,上辺を上,下辺を下に配置した場合に,右側に配置される箇所を「右辺」,左側に配置される箇所を「左辺」とする。なお,左辺と右辺とを区別しない場合には,まとめて「側辺」とする。
本形態のスキャナ100にて原稿を読み取って取得された画像データ51について,各点の位置を,図3に示すように,X−Y平面内の座標を用いて説明する。画像データ51の生成開始位置を原点として,読取ヘッド21の長手方向(主走査方向)をX軸,読み取りの進行方向(副走査方向)をY軸とする。X軸方向の画像データ51の幅Wxは,読取ヘッド21の長さに基づく固定長である。そして,Wxは,画像データ51のX座標の最大値である。また,画像データ51は,読み取りの進行とともに,1ピクセル分ずつY軸方向へ増えていく。
本形態のスキャナ100は,読取開始の指示入力を受け付けると,原稿の搬送を開始し,その後,所定のタイミングにて読取動作を開始する。読み取りを開始するタイミングは,図3に示すように,原稿の上辺が読取ヘッド21に対向する位置に到達すると予測されるタイミングより,少し前である。なお,原稿の先端が読取ヘッド21に対向する位置に到達すると予測されるタイミングは,原稿の搬送開始からの経過時間と原稿の搬送速度とに基づいて決定できる。
スキャナ100は,読み取りの進行に伴って,生成中の画像データ51に対して,エッジ検出動作を実行する。まず,スキャナ100は,読み取り開始から所定のライン数の画像データ51を取得した後,原稿の上辺によって生じた影画像52のエッジを検出する。例えば,Y=0の点から副走査方向に所定の範囲の画像データ51から,エッジを検出する。そして,取得されたエッジの位置であるエッジデータに基づいて,原稿の上辺の位置を推定する。なお,X軸方向についての全ての点についてエッジ検出動作を実行すると,処理に時間が掛かりすぎる。そのため,本形態のスキャナ100では,所定の間隔のX位置についてエッジ検出動作を実行する。また,ノイズを上辺と誤判断することを抑制するために,所定の個数以上の点で連続して輝度値が閾値を超えている場合に限って,上辺と判断する。
スキャナ100は,さらに読み取りが進行したら,原稿の側辺によって生じた影画像52のエッジを検出する。この場合には,読み取りの進行とともに,原稿の上辺側から副走査方向に順に検出することになる。そして,スキャナ100は,Y軸方向に所定の頻度でサンプリングして,X軸方向にエッジデータを取得する。つまり,画像データ51のうち,Y軸方向に所定の間隔を置いた位置ごとにエッジを検出し,側辺の位置を推定する。例えば,X=0の点からX軸方向に検出することで,原稿の左辺の位置を推定する。また,X=Wxの点からX軸方向の逆方向に検出することで,原稿の右辺の位置を推定する。なお,サンプリングの頻度は,左辺と右辺とで同じ頻度でもよいし,異なる頻度でもよい。
スキャナ100では,読取ヘッド21の長さ方向の端部近傍はノイズの影響を受けやすく,主走査方向の端部近傍にて,原稿の側辺ではない箇所にエッジを検出してしまうことがある。また,原稿が読取ヘッド21の長さ方向にはみ出した位置にセットされた場合,原稿の側辺によるエッジが適切に検出できない可能性がある。そのため,これらの場合には,前述したエッジ検出動作によって原稿の側辺の位置を推定すると,誤判断を招くおそれがある。
本形態のスキャナ100は,検出されたエッジの位置が,画像データ51のX軸方向の両端から予め決めた規定距離までの範囲内にある場合には,適切なエッジの位置ではないと判断する。具体的には,検出されたエッジの位置のX座標が0に近いかまたはWxに近い場合は,適切なエッジの位置ではないと判断する。この場合,原稿の主走査方向の端部が読取ヘッド21の読取範囲を超えている可能性を否定できないので,原稿の主走査方向の端部が読取ヘッド21の読取範囲を超えていると判断する。そして,そのエッジの位置に基づく原稿の側辺の位置の推定を行わない。
さらに,スキャナ100は,読取範囲を超えていると判断した場合には,後述する原稿の情報を取得する処理にて,検出されたエッジの両端の位置情報を使用しない。なお,規定距離は,画像データ51のX軸方向について,左端側と右端側とで同じでもよいし,異なっていてもよい。
また,スキャナ100は,原稿の上辺によるエッジの左右の端部の位置である先端角部についても,同様に判断する。先端角部によるエッジの位置を取得できなかった場合や,先端角部が,画像データ51のX軸方向の両端から予め決めた規定距離までの範囲内にある場合には,先端角部の位置を使用しない。例えば,先端角部の位置に基づく原稿の側辺の位置の推定を行わない。つまり,原稿の先端角部と推定されるエッジの位置が,主走査方向の端部近傍であった場合には,原稿の先端角部が読取範囲を超えていると判断する。
つまり,本形態のスキャナ100は,エッジの検出された位置が,読取範囲のうちX軸方向の両端近傍ではない範囲内にエッジが検出されたと判断した場合には,そのエッジの位置情報であるエッジデータを原稿の側辺の位置であると推定して,原稿の位置や形状に係る各種の情報を取得する際に使用する。以下では,読取範囲内にエッジが検出されたと判断した場合を,エッジデータが有効であるとする。一方,読取範囲内にエッジが検出されなかったと判断した場合には,エッジデータが無効であるとし,エッジデータを使用しない。
続いて,本形態のスキャナ100において,前述した原稿の読み取り動作を行う読取処理について,図4のフローチャートを参照して説明する。読取処理は,スキャナ100にて,読取開始の指示入力を受け付けたことを契機に,CPU31にて実行される。なお,以下では,画像データ51内の各点の位置を,前述したX−Y平面内の座標を用いて,「(X座標,Y座標)」と表記する。
本形態のスキャナ100は,読取処理を開始すると,まず,原稿の搬送を開始する(S101)。そして,原稿の搬送開始から所定の時間が経過したら,スキャナ100は,読取ヘッド21による読み取りを開始する(S102)。S102によって,スキャナ100は,X軸方向に1ライン分ずつ画像データを取得する。以後は,各ラインの画像データが,Y軸方向に順次追加して取得される。S102の処理は,読取処理の一例である。
さらに,スキャナ100は,取得した画像データ51に基づいて,原稿の上辺による影画像52と推定されるエッジの検出を開始する(S104)。具体的には,X軸方向にサンプリングした各位置において,Y軸方向に所定の幅の画像データ51に基づいて,輝度値が閾値を超えて変化した箇所をエッジとして検出し,エッジの位置情報であるエッジデータを取得する。
そして,スキャナ100は,上辺の一部であると判断できるエッジを検出したか否かを判断する(S105)。上辺を検出していないと判断した場合には(S105:NO),スキャナ100は,さらに読み進める。そして,上辺を検出したと判断した場合には,(S105:YES),スキャナ100は,検出された上辺の位置からさらに,予め決めた所定の距離だけ読み進める(S106)。
そして,スキャナ100は,読み取り開始からS106の終了までに読み取った画像データ51から検出されたエッジの位置に基づき,原稿の上辺全体の位置情報を取得する(S108)。例えば,S104にて上辺と推定された位置からX軸方向に連続するエッジを検出して,連続する上辺の位置とする。S108の処理は,エッジ取得処理の一例である。
次に,スキャナ100は,上辺の角部の位置を取得する(S109)。S108にて検出されたエッジの途切れた位置を原稿の角部と推定して,その位置からY軸方向に連続するエッジを検出する。Y軸方向にエッジが連続していれば,上辺によるエッジの途切れる位置は,原稿の先端角部に相当すると判断する。つまり,S109では,スキャナ100は,原稿の上辺によるエッジの終端の位置から,図5に示すように,原稿の上辺の角部の座標を取得する。例えば,上辺と左辺とによる角部C(Xc,Yc)と,上辺と右辺とによる角部D(Xd,Yd)とを取得する。S109の処理は,抽出処理の一例である
そして,スキャナ100は,左右両側の角部C,Dの取得に成功したか否かを判断する(S112)。例えば,上辺に終端が検出できなかった場合や,上辺が波打っている等により上辺の両端が適切に検出できなかった場合には,スキャナ100は,角部C,Dの座標を適切に取得できない。従って,スキャナ100は,角部C,Dの取得に失敗したと判断する。
さらに,スキャナ100は,前述したように,検出されたエッジの位置が画像データ51のX軸方向の両端近傍にあった場合には,そのエッジデータは信頼性が低い。つまりそのエッジデータに基づいて,辺の位置を判断することは好ましくない。そのため,そのエッジデータは無効であるとして,スキャナ100は,辺の位置の推定にそのエッジデータを使用しない。以下では,エッジデータを無効とする範囲を,図5に示すように,左辺側を規定距離Wlとし,右辺側を規定距離Wrとする。WlとWrとは,同じ距離でもよいし,異なっていてもよい。
つまり,スキャナ100は,S112にて,取得された角部CのX座標Xcが,0から予め決めた規定距離Wlまでの範囲内にある場合,つまり,Xc<Wlである場合には,角部Cの取得に失敗したと判断する。また,スキャナ100は,取得された角部DのX座標Xdが,X座標の最大値Wxから予め決めた規定距離Wrまでの範囲内である場合,つまり,Xd>Wx−Wrである場合には,角部Dの取得に失敗したと判断する。S112の処理は,判断処理の一例である。
そして,スキャナ100は,左右両側の角部C,Dの取得に成功したと判断した場合には(S112:YES),上辺と左辺と右辺とを使用すると決定する(S113)。つまり,左辺のエッジデータも,右辺のエッジデータも,ともに有効であり,いずれも以後の処理に使用できる。
一方,スキャナ100は,角部C,Dの少なくとも一方の取得に成功しなかったと判断した場合には(S112:NO),左辺側の角部Cの取得に成功したか否かを判断する(S115)。そして,スキャナ100は,左辺側の角部Cの取得に成功したと判断した場合には(S115:YES),左辺のエッジデータは有効であり,以後の処理にて上辺と左辺とを使用すると決定する(S116)。
また,スキャナ100は,左辺側の角部Cの取得に成功しなかったと判断した場合には(S115:NO),右辺側の角部Dの取得に成功したか否かを判断する(S118)。そして,スキャナ100は,右辺側の角部Dの取得に成功したと判断した場合には(S118:YES),右辺のエッジデータは有効であり,以後の処理にて上辺と右辺とを使用すると決定する(S119)。
スキャナ100は,右辺側の角部Dの取得に成功しなかったと判断した場合には(S118:NO),上辺のみを使用すると決定する(S121)。つまり,左辺のエッジデータも右辺のエッジデータも無効であり,左辺も右辺も使用できない。この場合には,スキャナ100は,後述する原稿の情報を取得する処理を実行しない。
そこで,S121の後,スキャナ100は,原稿の下辺まで読み取りが終了したか否かを判断する(S123)。例えば,原稿の終端が読取ヘッド21に対向する位置を通り抜け,さらに予め決めた時間だけ搬送したら,原稿の下辺までの読み取りが終了したと判断できる。読み取りが終了していないと判断した場合には(S123:NO),さらに読み取りを継続する。そして,読み取りが終了したと判断したら(S123:YES),読取処理を終了する。なお,S121の後,上辺の情報のみを利用して可能な処理が有れば,当該処理を実行してもよい。
一方,S113,S116,S119のいずれかにて,左辺と右辺との少なくとも一方は使用すると決定した場合には,スキャナ100は,まず,サンプリング位置決定処理を実行する(S125)。図6のフローチャートに,サンプリング位置決定処理の手順を示す。
原稿の傾きが大きい場合などでは,例えば,図7に示すように,左右のいずれかの辺によるエッジデータが途中から無効となる可能性がある。サンプリング位置決定処理は,側辺のエッジデータが有効から無効に変化すると予測される位置である超過位置Hの座標を取得し,読取位置の副走査方向の位置がその超過位置HのY座標に近づいたら,それまでよりサンプリング頻度を高くする処理である。なお,この処理では,原稿が長方形であると推定している。
サンプリング位置決定処理では,スキャナ100は,まず,上辺のX軸方向に対する原稿の傾き角θを取得する(S201)。傾き角θは,図7に示すように,角部Cと角部Dとを結ぶ線分とX軸とがなす角としてもよいし,上辺の各エッジデータを直線近似した直線とX軸とのなす角としてもよい。S201の処理は,傾き取得処理の一例である。
次に,傾き角θ>0であれば,超過位置Hの座標を取得する。例えば,図7に示すように,Yc<Ydであれば,左辺側のエッジデータが無効となる可能性がある。そこで,スキャナ100は,角部Cから上辺に直角な直線を想定し,原稿の左辺と仮定する。さらに,スキャナ100は,仮定した左辺とX=Wlの直線とが交差すると予測される超過位置Hの座標(Wl,Yh)を取得する(S203)。
具体的に,超過位置HのY座標Yhは,S201にて求めた傾き角θを用いて,以下の(式1)のように表すことができる。
tanθ = (Xc−Wl) / (Yh−Yc)
Yh = Yc + (Xc−Wl)/tanθ … (式1)
次に,スキャナ100は,左辺側のエッジ検出のためのサンプリング頻度を決定する(S205)。スキャナ100では,前述したように,Y軸方向に所定のサンプリング頻度でエッジ検出を実行する。そして,スキャナ100は,図8に示すように,超過位置HのY座標Yhから所定範囲内の領域Qでは,領域Q以外の領域よりもサンプリング頻度を高くする。領域Qは,境界領域の一例である。
具体的に,スキャナ100は,検出位置のY座標に応じて,図8に示すように,サンプリング頻度Pa,Pbを決定する。所定範囲としては,例えば,100ピクセルとする。
サンプリング頻度Pa =50(ピクセル) ただし,Y < Yh−100
サンプリング頻度Pb = 5(ピクセル) ただし,Y ≧ Yh−100
そして,スキャナ100は,S205にて決定したサンプリング頻度に従って,エッジ検出を実行する位置を決定し,RAM33に記憶する(S207)。なお,実際に超過する位置が超過位置Hより下方となる可能性もあるので,エッジ検出位置は,超過位置Hよりも少し下方まで決定しておくとよい。S207の後,サンプリング位置決定処理を終了する。
そして,スキャナ100は,決定されたエッジ検出位置まで画像データ51を生成したら,エッジ検出動作を実行する。検出されたエッジの位置のX座標がWl以下となったら,スキャナ100は,その後は左辺側のエッジ検出を実行しない。つまり,エッジデータが無効となったら,左辺についてのエッジ検出動作の実行は中止し,原稿の読み取りのみを継続する。そして,スキャナ100は,この時点以降は,左辺は使用しない。なお,左辺が無効となっても,右辺のエッジデータを適切に取得できていれば,右辺側のエッジ検出については継続する。
サンプリング位置決定処理によって決定されたように,超過位置Hに近い位置では,サンプリング頻度を高くするので,検出されたエッジデータが無効となったことを見逃す可能性は低い。従って,無効のエッジデータを有効であると誤判断する可能性は低い。
これにより,側辺のエッジデータが有効であるか否かを精密に判断できる。つまり,信頼性の低いエッジデータを側辺の位置と推定して使用する可能性は低い。なお,右辺側のエッジデータが途中で無効となる可能性がある場合には,スキャナ100は,S203にて,角部Dを通る右辺を仮定し,仮定した右辺とX=Wrの直線とが交差すると予測される点を超過位置Hとする。
また,原稿の搬送方向についての長さが,(Yh−Yc)よりも小さい場合には,エッジデータが無効となる前に読み取りが終了する。読取位置のY座標が(Yh−100)に達しないうちに原稿の終端に達した場合には,スキャナ100は,結果的にサンプリング頻度を変更しない。
図4の読取処理に戻り,S125のサンプリング位置決定処理が終了したので,次に,原稿情報取得処理を実行する(S127)。原稿情報取得処理とは,有効であると判断されたエッジデータを用いて原稿に係る情報を取得する処理である。取得する原稿の情報は,原稿の特性と状態との少なくとも一方であり,例えば,原稿のサイズ,原稿の傾き,原稿の回転斜行,原稿の形状,原稿に形成されているパンチ穴の位置がある。原稿情報取得処理の詳細については,後述する。S127の処理は,情報取得処理の一例である。
本形態のスキャナ100は,上辺の位置のみでなく,左辺と右辺との少なくとも一方の位置に関するエッジデータが有効である場合に,種々の原稿情報取得処理のうち,必要に応じて1以上の処理を実行する。左辺と右辺との両方とも無効である場合には,いずれの処理も実行しない。スキャナ100は,原稿の情報を取得する各種の処理のうち,1つ以上を有していればよい。複数の処理を有している場合には,全て実行してもよいし,ユーザの設定などによって選択された処理のみを実行してもよい。
原稿情報取得処理が終了したら,原稿の読み取りが終了したか否かを判断する(S123)。読み取りが終了していないと判断したら(S123:NO),さらに読み取りを継続する。そして,読み取りが終了したと判断したら(S123:YES),読取処理を終了する。
続いて,S127にて実行される原稿情報取得処理について説明する。まず,各種の情報を取得する処理の概要を説明する。本形態のスキャナ100は,原稿のサイズを取得する処理では,長方形以外の形状の原稿でも,原稿の全体を含む最小の長方形のサイズを取得する。スキャナ100は,例えば,原稿の途中に上辺よりも幅広の箇所がある場合には,その箇所の幅に基づいて,原稿の主走査方向の大きさを取得する。スキャナ100は,左右両辺のエッジデータがともに有効である場合に,原稿のサイズを取得する処理を実行する。
また,本形態のスキャナ100は,原稿の傾きを取得する処理では,原稿の辺縁と軸方向とのなす傾き角を取得する。上辺のみによる検出ではなく,左辺と右辺との少なくとも一方の位置を用いることで,より精密に傾き角を取得できる。スキャナ100は,例えば,取得した傾き角に基づいて,画像データ51を補正する。スキャナ100は,左辺と右辺との少なくとも一方のエッジデータが有効である場合に,原稿の傾きを取得する処理を実行する。
また,本形態のスキャナ100は,原稿の回転斜行を取得する処理では,原稿の左辺または右辺と軸方向とのなす傾き角が,搬送につれて変化していく状態であるか否かを取得する。原稿の傾き角が搬送につれて増加していると,原稿のジャムの原因となる可能性がある。スキャナ100は,例えば,回転斜行を検出したら,エラーメッセージを表示して,原稿の搬送を停止する。スキャナ100は,左辺と右辺との少なくとも一方のエッジデータが有効であれば,原稿の回転斜行を取得する処理を実行する。ただし,左右両辺の位置のエッジデータがともに有効であれば,より確実な判断が可能となる。
また,本形態のスキャナ100は,原稿の形状を取得する処理では,エッジデータとして検出された左辺と右辺との位置を繋いで,原稿の形状として取得する。スキャナ100は,例えば,原稿の形状に応じて,読み取った画像データ51を補正する。スキャナ100は,両辺のエッジデータがともに有効である場合,原稿の形状を取得する処理を実行する。左辺または右辺のいずれか一方のみが有効な場合には,取得できる原稿の形状は,不完全な情報となる。
また,本形態のスキャナ100は,原稿に形成されているパンチ穴の位置を取得する処理では,各辺から所定の距離範囲の位置に所定の大きさの円状の画像が含まれている場合に,パンチ穴と判断する。スキャナ100は,例えば,パンチ穴があると判断した場合には,パンチ穴の画像を周辺の地色に変換する処理を実行する。スキャナ100は,左辺と右辺との少なくとも一方の位置のエッジデータが有効である場合に,有効である側の辺に近いパンチ穴について,パンチ穴の位置を取得する処理を実行する。
なお,側辺のエッジデータを取得するためのエッジ検出動作のサンプリング頻度は,側辺を使用して取得する原稿の情報の種類に応じて,異なる頻度とする。前述した超過位置Hの近傍以外でのサンプリング頻度Paを,原稿情報取得処理として実行する処理の種類ごとに予め設定されている頻度とする。例えば,側辺の位置が高精度に要求される情報を取得する場合には,それ以外の場合に比較して高いサンプリング頻度とする。これにより,取得される原稿の情報の精度の向上が期待できる。なお,超過位置Hの近傍でのサンプリング頻度Pbは,サンプリング頻度Paに基づいて決定してもよいし,情報の種類にかかわらず予め決めた値に設定してもよい。
以下では,原稿情報取得処理の例として,図9に示す原稿サイズ取得処理と,図10に示す回転斜行取得処理とについて,それぞれのフローチャートを参照して説明する。これらの処理は,読取処理において,S113,S116,S119のいずれかを実行した後に実行される。つまり,本処理の開始時には,上辺以外に使用できる辺(左辺または右辺または両方)が確定している。
まず,図9のフローチャートを参照して,原稿サイズ取得処理について説明する。この処理は,S113にて左右の両辺の位置を使用できると決定した場合に実行される。原稿サイズ取得処理では,スキャナ100は,まず,上辺の情報に基づいて原稿の左右の位置の初期値を決定し,左辺位置と右辺位置との初期位置を決定する(S301)。具体的には,スキャナ100は,左辺位置を角部CのX座標Xcとし,右辺位置を角部DのX座標Xdとする。
次に,スキャナ100は,原稿の読み取り動作とエッジ検出動作とによって取得されたエッジデータが,左辺位置や右辺位置より外側であるか否かを判断する(S303)。具体的には,左側のエッジデータのX座標が左辺位置より小さいか,または,右側のエッジデータのX座標が右辺位置より大きいかの少なくとも一方を満たしていれば,スキャナ100は,エッジデータが外側であると判断する。
スキャナ100は,エッジデータの方が外側であると判断した場合には(S303:YES),外側であると判断したエッジデータのX座標を,対応する左辺位置または右辺位置とする(S305)。外側であると判断したエッジデータが片側の辺のみであれば,スキャナ100は,片側の辺位置のみを変更する。一方,スキャナ100は,エッジデータの方が外側ではないと判断した場合には(S303:NO),S305をスキップする。
そして,スキャナ100は,1ページ分の読み取りが完了したか否かを判断する(S307)。読み取りが完了していなければ(S307:NO),スキャナ100は,次に取得されたエッジデータが有効であるか否かを判断する(S309)。前述したように,原稿の搬送につれて,原稿の側辺が読取範囲から逸脱する場合がある。逸脱した後は,検出されたエッジデータは無効となるので,スキャナ100は,仮にエッジデータが取得されても使用しない。
スキャナ100は,エッジデータが有効であると判断した場合には(S309:YES),S303に戻って,エッジデータと辺位置とを比較する。そして,スキャナ100は,エッジデータが有効で読み取りを完了したと判断したら(S307:YES),最終的な左辺位置と右辺位置との間隔を原稿の幅として原稿のサイズを算出し(S311),原稿サイズ取得処理を終了する。
一方,スキャナ100は,読み取りが完了する前に,エッジデータが無効となったと判断した場合には(S309:NO),原稿のサイズの取得に失敗したことになる。そこで,スキャナ100は,原稿サイズは不明であると決定して(S313),原稿サイズ取得処理を終了する。なお,原稿の読み取りが完了していなければ,読み取り動作は継続する。
続いて,図10のフローチャートを参照して,回転斜行取得処理について説明する。この処理は,左辺と右辺との少なくとも一方の位置を使用できると決定した場合に実行される。回転斜行取得処理では,まず,スキャナ100は,上辺の情報に基づいて,左辺と右辺との予測位置を取得する(S401)。例えば,前述した傾き角θとサンプリング位置とを利用して,スキャナ100は,次にエッジ検出が実行される位置でのエッジデータを予測する。
スキャナ100は,エッジ検出を実行したら,取得されたエッジデータと,S401にて予測した予測位置とを比較する。そして,スキャナ100は,予測位置とエッジデータとの差分が予め決めた近似範囲内であるか否かを判断する(S403)。予測位置とエッジデータとが近く,差分が近似範囲内であると判断した場合には(S403:YES),スキャナ100は,1ページ分の読み取りが完了したか否かを判断する(S405)。
スキャナ100は,読み取りが完了したと判断した場合には(S405:YES),回転斜行は発生せず,読み取りが終わったので,そのまま回転斜行取得処理を終了する。一方,読み取りが完了していなければ(S405:NO),スキャナ100は,読み取りを継続するとともに,S401に戻って,次の予測位置を取得する。
一方,予測位置とエッジデータとの差分が近似範囲を超えていると判断した場合には(S403:NO),回転斜行の可能性がある。そこで,スキャナ100は,例えば,両辺とものエッジデータが有効であれば,両側の差分が同程度であるか否かを判断する(S407)。
そして,スキャナ100は,両側の差分が同程度であれば(S407:YES),回転斜行と決定する(S409)。そして,スキャナ100は,例えば,エラーメッセージを表示して,原稿の搬送と読み取りとを停止する。一方,両側の差分が同程度でなければ(S407:NO),スキャナ100は,不定形の原稿であると決定する(S411)。不定形と決定した場合は,読取完了まで読み取りを継続してもよい。S409とS411の後,回転斜行取得処理を終了する。
なお,片側のみのエッジデータが有効である場合には,S403にてNOであれば回転斜行であると判断してもよい。あるいは,さらに次のエッジデータと予測位置とを比較して,差分が増大している場合に回転斜行であると判断してもよい。判断結果に応じて,読み取りを継続するか否かを決定して,回転斜行取得処理を終了する。
以上,詳細に説明したように,本形態のスキャナ100は,原稿を搬送しつつ原稿の画像を読み取る。そして,エッジ検出動作を実行して,読み取った画像データ51から,エッジの位置の情報であるエッジデータを取得する。さらに,取得したエッジデータに基づいて,原稿の左辺または右辺が読取ヘッド21の読取範囲を超えるか否かを判断する。つまり,エッジ検出動作にて検出されたエッジのすべてをそのままで原稿の端部とせず,信頼性の高いエッジデータであるか否かを判断するので,原稿のエッジの検知精度の向上が期待できる。
なお,本実施の形態は単なる例示にすぎず,本発明を何ら限定するものではない。したがって本発明は当然に,その要旨を逸脱しない範囲内で種々の改良,変形が可能である。例えば,スキャナに限らず,複写機,複合機,FAX装置等,画像読取機能を備えるものであれば適用可能である。また,例えば,原稿を搬送する代わりに,読取ヘッド21を移動させて読み取る構成のものにも適用可能である。
また,本発明は,PC等の情報処理装置にも適用可能である。例えば,PCにて,スキャナ100から画像データを取得し,取得した画像データに基づいて,エッジ検出動作を行うこともできる。そして,PCにてエッジデータを取得するとともに,そのエッジデータが有効であるか否かを判断してもよい。さらに,判断結果をスキャナ100に送信してもよいし,PCにて利用してもよい。
また,例えば,左辺側の規定距離Wlと右辺側の規定距離Wrとの少なくとも一方は,無くてもよい。つまり,Wl=0でもよいし,Wr=0でもよい。
また,先端の角部C,Dの座標に基づいて超過位置Hを算出するとしたが,検出されたエッジの位置と読取範囲の限界から規定距離の位置との距離が閾値以下となった場合に,超過位置Hに近づいたと判断してもよい。また,超過位置Hに近づいたらサンプリング頻度を高くするとしたが,変更しなくてもよい。また,取得する原稿の情報に応じて異なる頻度でサンプリングするとしたが,全て一律の頻度としてもよい。
また,例えば,S105にタイムアウトを設けてもよい。つまり,上辺のエッジデータを取得できなかった場合は,読み取り失敗であり,エラーメッセージを表示して処理を終了するとしてもよい。
また,実施の形態に開示されている処理は,単一のCPU,複数のCPU,ASICなどのハードウェア,またはそれらの組み合わせで実行されてもよい。また,実施の形態に開示されている処理は,その処理を実行するためのプログラムを記録した記録媒体,または方法等の種々の態様で実現することができる。
21 読取ヘッド
31 CPU
100 スキャナ

Claims (4)

  1. 画像を読み取る読取部と,
    制御部と,
    を備え,
    前記制御部は,
    前記読取部に画像を読み取らせる読取処理と,
    前記読取処理にて読み取った画像データから,原稿のエッジの情報であるエッジデータを取得するエッジ取得処理と,
    前記エッジ取得処理にて取得された前記エッジデータに基づいて,原稿の主走査方向の端部が前記読取部の読取範囲を超えるか否かを判断する判断処理と,
    前記判断処理にて否定判断された場合に,原稿の先端側のエッジデータと特定側辺のエッジデータとを用いて原稿の傾きを取得し,前記判断処理にて肯定判断された場合に,原稿の先端側のエッジデータを用いて原稿の傾きを取得する情報取得処理であって,前記特定側辺のエッジデータは,前記エッジ取得処理にて取得された前記エッジデータのうち,前記判断処理にて読取範囲を超えないと判断された端部側の側辺のエッジデータである前記情報取得処理と,
    を実行することを特徴とする読取装置。
  2. 請求項に記載する読取装置において,
    前記制御部は,
    前記情報取得処理では,前記判断処理にて否定判断された場合に,前記特定側辺のエッジデータを回転斜行量の取得に用い,前記判断処理にて肯定判断された場合に,前記特定側辺のエッジデータを回転斜行量の取得に用いないことを特徴とする読取装置。
  3. 請求項1または請求項2に記載する読取装置において,
    前記制御部は,
    前記情報取得処理では,前記判断処理にて否定判断された場合に,前記特定側辺のエッジデータをパンチ穴の位置の取得に用い,前記判断処理にて肯定判断された場合に,前記特定側辺のエッジデータをパンチ穴の位置の取得に用いないことを特徴とする読取装置。
  4. 情報処理装置に,
    原稿の画像データを取得する原稿取得処理と,
    前記原稿取得処理にて取得した画像データから,原稿のエッジの情報であるエッジデータを取得するエッジ取得処理と,
    前記エッジ取得処理にて取得された前記エッジデータに基づいて,原稿の主走査方向の端部が読取範囲を超えているか否かを判断する判断処理と,
    前記判断処理にて否定判断された場合に,原稿の先端側のエッジデータと特定側辺のエッジデータとを用いて原稿の傾きを取得し,前記判断処理にて肯定判断された場合に,原稿の先端側のエッジデータを用いて原稿の傾きを取得する情報取得処理であって,前記特定側辺のエッジデータは,前記エッジ取得処理にて取得された前記エッジデータのうち,前記判断処理にて読取範囲を超えないと判断された端部側の側辺のエッジデータである前記情報取得処理と,
    を実行させることを特徴とするプログラム。
JP2014091354A 2014-04-25 2014-04-25 読取装置およびプログラム Active JP6409317B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014091354A JP6409317B2 (ja) 2014-04-25 2014-04-25 読取装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014091354A JP6409317B2 (ja) 2014-04-25 2014-04-25 読取装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2015211321A JP2015211321A (ja) 2015-11-24
JP6409317B2 true JP6409317B2 (ja) 2018-10-24

Family

ID=54613232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014091354A Active JP6409317B2 (ja) 2014-04-25 2014-04-25 読取装置およびプログラム

Country Status (1)

Country Link
JP (1) JP6409317B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10341332A (ja) * 1997-06-10 1998-12-22 Minolta Co Ltd 画像形成装置
JP2006335525A (ja) * 2005-06-02 2006-12-14 Konica Minolta Business Technologies Inc シート搬送装置および原稿読み取り装置
JP2007228032A (ja) * 2006-02-21 2007-09-06 Matsushita Electric Ind Co Ltd 画像読取装置及びこれを備えた画像形成装置
JP4886053B2 (ja) * 2009-04-23 2012-02-29 シャープ株式会社 制御装置、画像読取装置、画像形成装置、画像読取装置の制御方法、プログラム、記録媒体
JP5811773B2 (ja) * 2011-10-31 2015-11-11 ブラザー工業株式会社 画像読取装置

Also Published As

Publication number Publication date
JP2015211321A (ja) 2015-11-24

Similar Documents

Publication Publication Date Title
US8427714B2 (en) Image-reading device
JP5698396B1 (ja) 画像読取装置、画像読取方法、および、プログラム
US9531897B2 (en) Scanner and scanning method
US10694098B2 (en) Apparatus displaying guide for imaging document, storage medium, and information processing method
JP6459384B2 (ja) 画像読取装置,プログラム,および読取画像の補正方法
JP2015043158A (ja) 画像処理装置、画像処理方法、およびプログラム
CN110115020B (zh) 图像读取装置
JP6471423B2 (ja) 読取装置およびプログラム
US11343406B2 (en) Image reading apparatus, image reading system, image reading method, and non-transitory computer-readable storage medium storing program
US10225436B2 (en) Image processing apparatus, and method and computer-readable medium therefor
JPWO2017056799A1 (ja) 画像読取装置及び画像形成装置
JP2015198390A (ja) 画像読取装置及び画像形成装置
JP6409317B2 (ja) 読取装置およびプログラム
JP2015198327A (ja) 画像読取装置、画像読取方法、及びコンピュータプログラム
JP5516539B2 (ja) 読取装置及びプログラム
US8717646B2 (en) Image reading device capable of performing rotation process on read image appropriately
JP6135190B2 (ja) 画像読取装置
JP6428057B2 (ja) 読取装置,報知方法,およびプログラム
JP2019193050A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP6274175B2 (ja) 画像読取装置および画像形成装置
JP2020088736A (ja) 情報処理装置、情報処理装置の画像回転方法、およびプログラム
JP7006145B2 (ja) 画像処理装置、画像処理方法
JP6950236B2 (ja) コンピュータプログラム及び画像処理装置
JP2017201755A (ja) 読取装置
JP2017092561A (ja) 画像読取装置、画像読取方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170421

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180528

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: 20180828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180910

R150 Certificate of patent or registration of utility model

Ref document number: 6409317

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150