(57)【要約】【課題】  画像読取装置が備える画像処理機能が必要とされる場面で、当該機能をユーザに効果的に紹介する。【解決手段】  搬送部407、412は原稿を一枚ずつ搬送する。読取部120、121、400は、搬送される原稿の画像を読み取る。画像処理部401とCPU404は、読み取った画像を解析し、解析の結果に基づき読み取った画像を画像処理する。CPU404は、解析の結果に基づき画像処理部401が備える機能の紹介機能を実行する。【選択図】  図2
2014011669.tif 000002
【特許請求の範囲】
【請求項１】
原稿を一枚ずつ搬送する搬送手段と、
前記搬送される原稿の画像を読み取る読取手段と、
前記読み取った画像を解析する解析手段と、
前記解析の結果に基づき前記読み取った画像を画像処理する画像処理手段と、
前記解析の結果に基づき前記画像処理手段が備える機能の紹介機能を実行する制御手段とを有することを特徴とする画像読取装置。
【請求項２】
前記制御手段は、前記画像処理手段が備える機能が無効、かつ、前記解析の結果から得られる値が前記機能を有効にすべき閾値を超えた場合、前記機能の紹介機能を実行することを特徴とする請求項1に記載された画像読取装置。
【請求項３】
前記画像処理手段は、原稿画像の傾きを補正する機能、原稿画像をトリミングする機能、原稿画像の端部にあるバインダ穴が目立たないように補正する機能、原稿の裏面の画像の映り込みを除去する機能、原稿画像の色ずれを補正する機能、カラー原稿および白黒原稿を判別して読取画像の形式を決定する機能、固定出力フォーマットで画像を読み取る機能の少なくとも一つを備えることを特徴とする請求項1または請求項2に記載された画像読取装置。
【請求項４】
前記制御手段は、ジョブスキャンによる画像の読み取りが指示された場合、前記紹介機能を実行しないことを特徴とする請求項1から請求項3の何れか一項に記載された画像読取装置。
【請求項５】
前記制御手段は、ジョブスキャンによる画像の読み取りが指示された場合、前記画像の読み取りが終了した後、前記解析の結果に基づき前記紹介機能を実行することを特徴とする請求項1から請求項3の何れか一項に記載された画像読取装置。
【請求項６】
さらに、前記制御手段が生成する前記機能紹介に関する情報を出力する出力手段を有することを特徴とする請求項1から請求項5の何れか一項に記載された画像読取装置。
【請求項７】
前記紹介機能に関する情報は、現在の画像の読取状態、有効にすべき画像処理機能、および、前記画像処理機能を有効にする操作に関する情報をユーザに通知するユーザインタフェイス画面を生成するための情報であることを特徴とする請求項6に記載された画像読取装置。
【請求項８】
前記ユーザインタフェイス画面は、前記画像処理機能を有効にするボタンを有することを特徴とする請求項7に記載された画像読取装置。
【請求項９】
原稿を一枚ずつ搬送する搬送手段、前記搬送される原稿の画像を読み取る読取手段、前記読み取った画像を解析する解析手段、前記解析の結果に基づき前記読み取った画像を画像処理する画像処理手段を有する画像読取装置の制御方法であって、
制御手段が、前記解析の結果に基づき前記画像処理手段が備える機能の紹介機能を実行することを特徴とする制御方法。
【請求項１０】
請求項6から請求項8の何れか一項に記載された画像読取装置と、
前記画像読取装置が出力する情報に基づきユーザインタフェイス画面を生成するコンピュータとを有することを特徴とする画像読取システム。
【請求項１１】
請求項9に記載された制御方法を画像読取装置に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿の画像を読み取る画像読取装置に関する。
【背景技術】
【０００２】
近年の画像読取装置には、原稿画像を取得する基本機能に加えて、様々な画像処理機能が付随する。例えば、原稿画像から原稿の傾き角度を検知して自動的に傾を補正する斜行補正機能や、原稿のサイズを検知して自動的に原稿画像の中から原稿の部分だけを切り出す自動サイズ検知機能など、利用者に利便性を提供する様々な機能がある（特許文献1参照）。
【０００３】
また、画像読取装置がもつ多数の画像処理機能を、利用者がより直感的に選択することができるようにする機能もある。特許文献2は、スキャンした画像の縮小画像と、その際の画像処理の設定値を関連付けて装置内に保存し、以降、ユーザが保存された縮小画像を選択すると、選択された縮小画像をスキャンした場合と同じ画像処理を設定する技術を記載する。
【０００４】
上記機能を利用するために、ユーザは、一般にパーソナルコンピュータのモニタに表示されるグラフィカルユーザンタフェイスを操作して、それら画像処理機能に対する設定操作を行う。そのため、画像読取装置を初めて操作するユーザはそれら機能に気付かず、以降も、それら機能を使わずに画像読取装置を利用し続けることがある。画像読取装置の機能を充分に利用するために、ユーザは、画像読取装置のマニュアルを読んで機能を理解する努力が必要である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2008-124828号公報
【特許文献２】特許第3752182号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、画像読取装置が備える画像処理機能が必要とされる場面で、当該機能をユーザに効果的に紹介することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００８】
本発明にかかる画像読取装置は、原稿を一枚ずつ搬送する搬送手段と、前記搬送される原稿の画像を読み取る読取手段と、前記読み取った画像を解析する解析手段と、前記解析の結果に基づき前記読み取った画像を画像処理する画像処理手段と、前記解析の結果に基づき前記画像処理手段が備える機能の紹介機能を実行する制御手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、画像読取装置が備える画像処理機能が必要とされる場面で、当該機能をユーザに効果的に紹介することができる。
【図面の簡単な説明】
【００１０】
【図１】実施例の画像読取装置の構成例を示す断面図。
【図２】画像読取装置の回路構成例を示すブロック図。
【図３】読取ユニットとその近傍を示す図。
【図４】読み取った原稿画像の一例を示す図。
【図５】図4に示す読取画像の微分情報値を示す図。
【図６】図5に示す微分情報値の二値化情報およびバッファを示す図。
【図７】ラインイメージセンサ、装置内を搬送される原稿、当該原稿の読取画像の対応関係を示す図。
【図８】ラインイメージセンサで原稿を読み取った場合の副走査方向の画素値の変化を示すグラフ。
【図９】ラインイメージセンサやラインイメージセンサの対向面にごみが付着した場合の読取画像を説明する図。
【図１０】バッファ601に境界座標値を格納する処理を示すフローチャート。
【図１１】バッファ602に境界座標値を格納する処理を示すフローチャート。
【図１２】バッファ603に境界座標値を格納する処理を示すフローチャート。
【図１３】原稿サイズ検知処理を説明する図。
【図１４】バッファ603に格納された境界座標値から得られる線分を示す図。
【図１５】線分P1-P2と線分P2-P3の傾斜角の検出を説明する図。
【図１６】読取画像内において傾いた原稿画像を示す図。
【図１７】傾きベクトルと原稿の傾き方向の関係を示す図。
【図１８】原稿画像の回転方法を説明する図。
【図１９】傾き補正処理を説明するフローチャート。
【図２０】画像処理を設定する画面例を示す図。
【図２１】傾き補正処理が無効の場合の画像読取装置の動作を示すフローチャート。
【図２２】画像処理機能の紹介機能によってGUIに表示されるダイアログボックスの一例を示す図。
【図２３】傾き補正処理が無効の場合の画像読取装置の別の動作を示すフローチャート。
【図２４】ジョブスキャン機能を考慮して画像処理機能の紹介機能を実行する処理を説明するフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明にかかる実施例の画像読取装置を図面を参照して詳細に説明する。
【００１２】
［装置の構成］
図1は実施例の画像読取装置100の構成例を示す断面図である。なお、図1に示す構成は概略であり、画像読取装置100の構成はこれに限るものではない。
【００１３】
画像読取装置100は、上部フレーム181と下部フレーム182から構成される。上部フレーム181は、回動軸181aを中心に回動可能であり、搬送される原稿の紙詰まりなどが発生した際に画像読取装置100内に滞留する原稿を取り除くため、手動で上部フレーム181の開閉が可能である。
【００１４】
ピックアップローラ102は、原稿束123をピックアップする。給送ローラ103は、ピックアップされた原稿束123を装置内に給送する。分離ローラ104は、原稿束123から原稿を一枚ずつ分離する。レジストローラ対105は、読取ユニット108の上流側に配置され、分離された原稿を搬送する。
【００１５】
読取ユニット108は、原稿（シート）の上面の画像情報を読み取る。搬送ローラ対107は、読取ユニット108の下流側に配置され、読取ユニット108を通過した原稿を搬送する。また、レジストローラ対105の下流側近傍には、搬送される原稿を検知するレジストセンサ110が配置されている。
【００１６】
読取ユニット108は、上部フレーム181に固定され、原稿や後述する対向部材の画像を読み取るラインイメージセンサ120と、搬送される原稿などに光を照射する光源121を備える。下部フレーム182において、読取ユニット108に対向する位置に対向部材109が配置され、対向部材109と読取ユニット108の間に板状のガラス106が配置されている。
【００１７】
対向部材109は、シェーディング補正を行うための部材であり、白色である。なお、対向部材109は白色であるため、シェーディング補正に用いる補正データの取得時と画像読取時において、読取ユニット108を移動する必要がなく、画像読取機構が単純化される。
【００１８】
［装置の動作］
次に、原稿画像を読み取る際の画像読取装置100の動作を説明する。
【００１９】
まず、読取ユニット108は、ラインイメージセンサ120により白色の対向部材109を読み取り、読み取った画像からシェーディング補正用の、画素ごとの補正データを生成し、メモリに記憶する。
【００２０】
次に、原稿束123は、ピックアップローラ102と給送ローラ103によって画像読取装置100内に取り込まれ、分離ローラ104によって一枚ずつに分離される。分離された原稿は、レジストローラ対105および搬送ローラ対107に挟持されながら副走査方向に搬送されて、原稿の上面（表側）の画像が読取ユニット108によって主走査方向（原稿の搬送方向に直交する方向）に読み取られる。
【００２１】
画像読取の際、シェーディング補正用の補正データを参照して、ラインイメージセンサ120の出力信号から生成された画像データがシェーディング補正される。画像読取が終了した原稿は、搬送ローラ対107に挟持されながら搬送され、装置外部に排出される。
【００２２】
［装置の回路構成］
図2は画像読取装置100の回路構成例を示すブロック図である。
【００２３】
ラインイメージセンサ120と光源121は、読取ユニット108に含まれる。アナログ-ディジタル変換部(A/D)400は、ラインイメージセンサ120の出力信号に、増幅や黒レベルクランプなどのアナログ処理を施した後、ディジタルデータに変換する。
【００２４】
画像処理部401は、ラインイメージセンサ120、光源121、A/D400などを制御し、A/D400が出力する画像データにシェーディング補正などの各種画像処理を施す。画像メモリ402は、補正データを含む画像データを記憶する。インタフェイス部(I/F)403は、ホストコンピュータ(PC)などの外部装置200とのインタフェイスであり、信号ケーブル409を介して外部装置200に接続される。
【００２５】
CPU404は、メモリ405のRAMをワークメモリとして、メモリ405のROMに格納された制御プログラムなどを実行して、システムバス408を介して、画像処理部401および後述する構成を制御し、読取動作を実行する。また、CPU404は、画像処理部401を介して、画像メモリ402にアクセスすることができるように構成されている。
【００２６】
画像読取装置100とPC200が接続された状態において、PC200上で稼働する画像読取アプリケーションやスキャナ制御アプリケーションによって画像読取装置100の読取動作を制御可能である。つまり、画像読取装置100とPC200が接続されると、画像読取システムが構成される。
【００２７】
モータドライバ407は、CPU404の制御に従い、搬送モータ412に励磁電流を供給する。搬送モータ412は、原稿の搬送を行う上記ローラを駆動する駆動部である。
【００２８】
［読取ユニット］
図3は読取ユニット108とその近傍を示す図である。
【００２９】
上述したように、ラインイメージセンサ120と対向部材109の間にはガラス106が配置されている。ガラス106は、対向部材109に傷や汚れが付くことを防ぐ。また、ガラス106には、原稿と対向部材109の間に、ガラス106の厚みと同等若しくはそれ以上の隙間を持たせる役割がある。
【００３０】
光源121は、ラインイメージセンサ120の片方の側面に沿って設けられている。原稿の片側上方から原稿を斜めに照射する（片側照射）ことにより原稿の影が現れる。片側照射によれば、両側照射の場合に比べて読取画像に影が現れ易くなる。このように、ガラス106を隔てて対向部材109を設け、片側照射にすることで、原稿端の影を強調することができ、原稿画像の境界の検出が容易になる。
【００３１】
なお、両側照射とは、ラインイメージセンサに対して線対称に一対の光源を配置し、一対の光源を用いて原稿に光を照射する方式である。ラインイメージセンサと一対の光源は、副走査方向に関して第一の光源、ラインイメージセンサ、第二の光源の順番に配置される。
【００３２】
［画像処理］
次に、読取ユニット108が読み取った画像中の原稿画像に対する画像処理の一例として、原稿画像のサイズと原稿の傾きの検出処理、原稿画像に外接する長方形（以下、外接長方形）の検出処理、並びに、傾き補正処理を説明する。
【００３３】
サイズと傾きの検出処理および外接長方形の検出処理は、原稿画像を読み取った後、画像メモリ402に一時記憶された、シェーディング補正前の読取画像に施すことが望ましい。また、傾き補正処理は、シェーディング補正後に行うことが望ましい。
【００３４】
●境界座標値の生成処理
図4は読み取った原稿画像の一例を示す図であり、読み取った原稿画像（以下、読取画像）の左上端を原点としたxy座標系を示している。本実施例では、xy座標系における各画素値をf(x, y)で表し、画素値f(x, y)が大きいほど明るい画素を表すとする。また、y軸方向が副走査方向である。
【００３５】
画像処理部401およびCPU404は読取画像から微分情報を生成する。読取画像の各画素位置における微分情報値Δ(x, y)は下式で表される。なお、式(1)による微分情報値の求め方は一例である。
Δ(x, y) = |f(x, y+m) - f(x, y)|      …(1)
ここで、f(x, y)は画素値、
f(x, y+m)はmライン先の画素値（例えばm=1）。
【００３６】
また、図4において、各記号は次のように定義される。
Wは画像の幅（x座標が0から23までの画像の幅、24）、
Hは画像の長さ（y座標が0から25までの画像の長さ、26）、
nは注目ライン、
n+mラインは注目ラインnからmライン先のライン。
【００３７】
まず、図4に示す画像の左上端(x, y)=(0, 0)から(W-1, 0)までの第1ラインの各画素の値に式(1)を適用する処理を行う。第1ラインの右端(W-1, 0)まで処理が進むと、次のライン（第2ライン）に移動し、左端(x, y)=(0, 1)から(W-1, 1)までの各画素の値に式(1)を適用する処理を行う。同様に、ラインを移動して、上記と同様の処理を(W-1, H-1-m)まで繰り返すと、副走査方向に関する各画素位置における微分情報値が得られる。
【００３８】
図5は図4に示す読取画像の微分情報値D(x, y)を示す図であり、m=1の場合である。また、y=H-1行は微分情報値を計算することができないので空欄になる。
【００３９】
なお、上記では、xを1ずつ増やす画素ごとの処理、および、yを1ずつ増やすラインごと処理を説明したが、数画素ずつ増やす、数ラインずつ増やすなど、微分情報値を計算する間隔は適宜設定することができる。
【００４０】
次に、微分情報値D(x, y)をある閾値sで二値化する。本実施例では、閾値s=80として、D(x, y)＞80の場合は‘1’に二値化し、D(x, y)≦80の場合は‘0’に二値化する。つまり、二値化情報T(x, y)は下式によって取得される。なお、閾値s=80は一例である。
if (D(x, y) ＞ s)
T(x, y) =‘1’；
else
T(x, y) =‘0’；      …(2)
【００４１】
図6は図5に示す微分情報値D(x, y)の二値化情報T(x, y)604およびバッファ601-603を示す図である。バッファ601は、各ラインのT(x, y)=の画素のうち最小のx座標値を有する画素のx座標値を格納する。バッファ602は、各ラインのT(x, y)=1の画素のうち最大のx座標値を有する画素のx座標値を格納する。バッファ603は、各列のT(x, y)=1の画素のうち最大のy座標値を有する画素のy座標値を格納する。
【００４２】
また、各ラインまたは各列にT(x, y)=1の画素がない場合、各バッファには-1を格納する。なお、最後の列y=25に対応するバッファ601、602の値には-1を格納する。これは、式(1)の計算がH-1-mラインまでで終わるためである。
【００４３】
本実施例では、副走査方向に関して読取画像を微分した値の絶対値を用いる。ラインイメージセンサ120における各読取位置は、副走査方向に関して等しいため、読取画像において対向部材109を読み取ることにより得られる背景画像の濃度変化は微小である。
【００４４】
図7はラインイメージセンサ120、装置内を搬送される原稿、当該原稿の読取画像の対応関係を示す図である。
【００４５】
図7において、原稿1102は矢印1107で示す副搬送方向に搬送される。搬送される原稿1102をラインイメージセンサ120により読み取ることにより読取画像1104が得られる。読取画像1104における画像1103は原稿画像に相当し、画像1105は背景画像である。また、画像1106は、原稿画像1103の後端部において、原稿画像1103と背景画像1105の境界に形成される影部である。
【００４６】
図8はラインイメージセンサ120で原稿1102を読み取った場合の副走査方向の画素値の変化を示すグラフである。図8(a)はラインイメージセンサ120の図7に示す読取位置120aで読み取った列の画素値の変化を示す。図8(b)はラインイメージセンサ120の読取位置120bで読み取った列の画素値の変化を示す。図8(c)は読取位置120aにおける微分情報値を示す。図8(d)は読取位置120bにおける微分情報値を示す。なお、原稿画像1103の余白の画素値は、背景画像1105の画素値にほぼ等しいとする。
【００４７】
図7に示すように、読取位置120aは原稿1102が通過しない場所にあるため、図8(a)に示すように、読取位置120aにおける画素値はほぼ一定（例えば200）になる。一方、読取位置120bは原稿1102が通過する位置にある。原稿画像1103の後端部と背景画像1105の境界に影部1106が形成され、図8(b)に示すように、読取位置120bにおける画素値は影部1106において急激に変化する。画素値が急激に変化する部分では、図8(d)に示すように、副走査方向の微分情報値が大きくなる。
【００４８】
本実施例では、画素値の副走査方向の微分値を求めることにより、原稿画像1103と背景画像1105の境界にできる影部1106、または、原稿画像1103と背景画像1105の境界における濃度変化を検知する。つまり、バッファ601、602、603に格納された値は、原稿画像1103の境界を示す境界座標値に相当する。
【００４９】
ここで、読取ユニット108に付着したごみの影響について説明する。図9はラインイメージセンサ120やラインイメージセンサ120の対向面（例えばガラス106の上面）にごみが付着した場合の読取画像1104を説明する図である。この場合、図9に示すように、読取画像1104に縦条（黒線）1108が発生する。しかし、上記の微分処理において、副走査方向に延びる縦条1108は急激な濃度変化をもたないため、縦条1108の微分値は図8(c)に示すような小さな値になる。つまり、原稿1102の後端部の影部1106を検知する処理は、ごみの付着による縦条1108に影響されない。
【００５０】
また、縦条1108の画素値、原稿画像1103の画素値、影部1106の画素値がほぼ等しい場合、縦条1108上では原稿画像1103と背景画像1105の境界を微分値から特定することができない。しかし、縦条1108に隣接する列の微分値を使用して、後述するサイズや傾きを検知することが可能である。
【００５１】
●境界座標値の格納処理
図10はバッファ601に境界座標値を格納する処理を示すフローチャートである。なお、バッファ601用の配列変数をbuff1[y]とし、注目画素の座標を(x, y)とする。
【００５２】
まず、座標値yを0に初期化し(S91)、座標値xを0に初期化する(S92)。つまり、図6に示す二値化情報T(x, y)604の左上端(0, 0)を始点とし、ラスタ順に注目画素を移動して境界座標値を配列変数buff1[y]に格納する。
【００５３】
次に、注目画素の二値化情報T(x, y)が‘1’か否かを判定し(S93)、T(x, y)=‘1’の場合は配列変数buff1[y]に座標値xを格納し(S94)、処理をステップS98に進める。
【００５４】
また、T(x, y)≠‘1’の場合は、座標値xをインクリメントし(S95)、座標値xが読取画像1104の右端W-1を超えたか否かを判定する(S96)。座標値xが右端を超えていない場合（x＜W）は処理をステップS93に戻し、座標値xが右端を超えた場合（x=W）は配列変数buff1[y]に-1を格納し(S97)、処理をステップS98に進める。
【００５５】
次に、座標値yをインクリメントし(S98)、座標値yが読取画像1104の最終ラインH-1を超えたか否かを判定する(S99)。座標値yが最終ラインを超えていない場合（y＜H）は処理をステップS92に戻し、座標値yが最終ラインを超えた場合（y=H）は、バッファ601に境界座標値を格納する処理を終了する。
【００５６】
図11はバッファ602に境界座標値を格納する処理を示すフローチャートである。なお、バッファ602用の配列変数をbuff2[y]とし、注目画素の座標を(x, y)とする。
【００５７】
まず、座標値yを0に初期化し(S101)、座標値xをW-1に初期化する(S102)。つまり、図6に示す二値化情報T(x, y)604の右上端(W-1, 0)を始点とし、主走査方向は逆ラスタ順に、副走査方向はラスタ順に注目画素を移動して境界座標値を配列変数buff2[y]に格納する。
【００５８】
次に、注目画素の二値化情報T(x, y)が‘1’か否かを判定し(S103)、T(x, y)=‘1’の場合は配列変数buff2[y]に座標値xを格納し(S104)、処理をステップS108に進める。
【００５９】
また、T(x, y)≠‘1’の場合は、座標値xをデクリメントし(S105)、座標値xが読取画像1104の左端0を超えたか否かを判定する(S106)。座標値xが左端を超えていない場合（x≧0）は処理をステップS103に戻し、座標値xが左端を超えた場合（x＜0）は配列変数buff2[y]に-1を格納し(S107)、処理をステップS108に進める。
【００６０】
次に、座標値yをインクリメントし(S108)、座標値yが読取画像1104の最終ラインH-1を超えたか否かを判定する(S109)。座標値yが最終ラインを超えていない場合（y＜H）は処理をステップS102に戻し、座標値yが最終ラインを超えた場合（y=H）は、バッファ602に境界座標値を格納する処理を終了する。
【００６１】
図12はバッファ603に境界座標値を格納する処理を示すフローチャートである。なお、バッファ603用の配列変数をbuff3[x]とし、注目画素の座標を(x, y)とする。
【００６２】
まず、座標値xを0に初期化し(S111)、座標値yをH-1に初期化する(S112)。つまり、図6に示す二値化情報T(x, y)604の左下端(0, H-1)を始点とし、注目画素を下から上に移動し、一列の走査が終了すると、走査する列を右に移動して境界座標値を配列変数buff3[x]に格納する。
【００６３】
次に、注目画素の二値化情報T(x, y)が‘1’か否かを判定し(S113)、T(x, y)=‘1’の場合は配列変数buff3[x]に座標値yを格納し(S114)、処理をステップS118に進める。
【００６４】
また、T(x, y)≠‘1’の場合は、座標値yをデクリメントし(S115)、座標値yが読取画像1104の上端0を超えたか否かを判定する(S116)。座標値yが上端を超えていない場合（y≧0）は処理をステップS113に戻し、座標値yが上端を超えた場合（y＜0）は配列変数buff3[x]に-1を格納し(S117)、処理をステップS118に進める。
【００６５】
次に、座標値xをインクリメントし(S118)、座標値xが読取画像1104の右端W-1を超えたか否かを判定する(S119)。座標値xが右端を超えていない場合（x＜W）は処理をステップS112に戻し、座標値xが右端を超えた場合（x=W）は、バッファ603に境界座標値を格納する処理を終了する。
【００６６】
上記の処理により、バッファ601-603には、原稿画像1103と背景画像1105の境界座標値が格納される。
【００６７】
●原稿サイズ検知処理
図13は原稿サイズ検知処理を説明する図である。なお、原稿サイズ検知処理は、画像処理部401およびCPU404によって、バッファ601-603に格納された境界座標値を用いて行われる。図13に示すように、原稿サイズ検知処理において検知するサイズは、読取画像1104のうち、原稿画像1103のすべてを含む最小四角形1302のサイズである。
【００６８】
最小四角形1302の左上頂点の座標値xLは、バッファ601に格納された境界座標値の中で最小の値である（ただし-1は除く）。また、左上頂点の座標値yBに関して、ラインイメージセンサ120の読取開始位置が原稿の先端と同位置であるから座標値yBは常に0である。
【００６９】
同様に、最小四角形1302の右下頂点の座標値xRは、バッファ602に格納された境界座標値の中で最大の値である。また、右下頂点の座標値yTは、バッファ603に格納された境界座標値の中で最大の値である。
【００７０】
このように、境界座標値から最小四角形1302の座標値(xL, yB)と(xR, yT)を取得し、最小四角形1302の座標値から原稿サイズを検知する。
【００７１】
●原稿傾斜角検出処理
次に、原稿傾斜角検出処理について説明する。なお、原稿傾斜角検出処理は、CPU404によって、バッファ603に格納された境界座標値を用いて行われる。
【００７２】
図14はバッファ603に格納された境界座標値から得られる線分を示す図である。図14において、x軸方向の区間Aは、濃度変化がないため境界座標値が-1に設定された部分であり、区間Bは、境界座標値としてy座標値が格納された部分である。なお、バッファ603に格納された境界座標値は、原稿画像1103の下部の影部1106の位置に相当する。
【００７３】
まず、バッファ603に格納された境界座標値から線分P1-P2の端点のy座標、および、線分P2-P3の端点のy座標を抽出する。次に、線分P1-P2と線分P2-P3がなす角度（傾斜角）を検出する。
【００７４】
図15は線分P1-P2と線分P2-P3の傾斜角の検出を説明する図である。図15(a)に示すように、線分P1-P2の点P1から点P2に向かって、x座標方向に所定間隔aで配列変数buff3[x]のセルを点P2を超える手前まで移動する（点P1→点p11→ … →点p1n：nは自然数）。そして、各点のy座標値の間の差分b1、b2、…、bnを求め、それら差分の合計sum1（正の値）を算出する。
【００７５】
また、図15(b)に示すように、線分P2-P3の点P2から点P3に向かって、x座標方向に所定間隔aで配列変数buff3[x]のセルを点P3を超える手前まで移動する（点P2→p21→ … →p2m：mは自然数）。そして、各点のy座標値の間の差分c1、c2、…、cmを求め、それら差分の合計値sum2（負の値）を算出する。
【００７６】
次に、セルの移動数n、mが多かった線分を採用して、下式により傾きベクトル(g, h)を求め、傾きベクトルから原稿画像の傾斜角を検出する。なお、セルの移動数が多い線分の採用は、図14に示す区間Cと区間Dうち長い区間を採用することに相当する。
if (n ≧ m)
(g, h) = (a, sum1/n)；
else
(g, h) = (a, sum2/m)；      …(3)
【００７７】
原稿傾斜角検出処理によれば、バッファ603に格納された境界座標値を用いて読取画像中の原稿画像の傾斜角を検出することができる。
【００７８】
●外接長方形算出処理
次に、外接長方形算出処理を説明する。外接長方形算出処理は、画像処理部401およびCPU404により、原稿傾斜角検出処理で得られた傾きベクトル(g, h)とバッファ601、602に格納された境界座標値を用いて行われる。
【００７９】
図16は読取画像1104内において傾いた原稿画像1103を示す図である。図16において、境界線1604と1605はバッファ601に格納された境界座標値から得られ、境界線1606と1607はバッファ602に格納された境界座標値から得られる。直線1612aと1614aは傾きh/gを有し、直線1613aと1615aは傾き-g/hを有す。線分1612-1615はそれぞれ、直線1612a-1615aのうち、境界線1604-1607に接する直線に対応する。点1608-1611はそれぞれ、線分1612-1615のうち、互いに直交する線分の交点である。
【００８０】
まず、境界線1605に接する傾きh/gの線分1612の式を求める方法を説明する。なお、n≧m、傾きベクトル(g, h)=(a, sum1/n)の場合を説明する。まず、直線1612aの式を変形する。
直線1612a：y = (h/g)x ＋ b
b = -(h/g)x ＋ y      …(4)
【００８１】
次に、バッファ601の境界座標値（配列変数buff1[x]のインデックスと格納値y）を式(4)に代入してy切片bを求める。バッファ601のすべての境界座標値を式(4)に代入して求められるy切片bの中の最大値を選択し、この最大値を境界線1605に接する線分1612のy切片bとする。
【００８２】
境界線1607に接する線分1614の式を求める場合、直線1614aの式を変形した式(5)に、バッファ602のすべての境界座標値を代入して求められるy切片cの中の最小値を選択する。そして、この最小値を境界線1607に接する線分1614のy切片cとする。
直線1614a：y = (h/g)x ＋ c
c = -(h/g)x ＋ y      …(5)
【００８３】
境界線1604に接する線分1615の式を求める場合、直線1615aの式を変形した式(6)に、バッファ601のすべての境界座標値を代入して求められるy切片eの中の最小値を選択する。そして、この最小値を境界線1604に接する線分1615のy切片eとする。
直線1615a：y = -(g/h)x ＋ e
e = (g/h)x ＋ y      …(6)
【００８４】
境界線1606に接する線分1613の式を求める場合、直線1613aの式を変形した式(7)に、バッファ602のすべての境界座標値を代入して求められるy切片dの中の最小値を選択する。そして、この最小値を境界線1606に接する線分1613のy切片dとする。
直線1613a：y = -(g/h)x ＋ d
d = (g/h)x ＋ y      …(7)
【００８５】
次に、四つの線分1612-1615の交点1608-1611の座標を互いに直交する直線の連立方程式を解くことによって求める。なお、n＜mの場合の算出法は省略する。
【００８６】
このように、読取画像1104中の原稿画像1103に外接する長方形を検出することができる。この長方形を用いて周知のトリミングやクロップを行うことで原稿画像1103を抽出することができる。
【００８７】
●傾き補正処理
次に、傾き補正処理を説明する。傾き補正処理は、画像処理部401およびCPU404により、傾きベクトル(g, h)、原稿画像1103の四頂点（交点1608-1611）の座標が用いて行われる。
【００８８】
図17は傾きベクトル(g, h)と原稿の傾き方向の関係を示す図である。図17(a)はh＞0かつg＜hの場合を、図17(b)はh＞0かつg＞hの場合を、図17(c)はh＜0かつg＜|h|の場合を示し、図17(d)はh＜0かつg＞|h|の場合をそれぞれ示す。
【００８９】
原稿画像1103の左上頂点を回転軸として、h＞0かつg＜hの場合（図17(a)）は原稿画像1103を時計回りに角度θだけ回転させ、h＞0かつg＞hの場合（図17(b)）は原稿画像1103を反時計回りに角度θだけ回転させる。なお、g=hの場合は原稿画像1103を時計回りに回転させることにする。
【００９０】
また、原稿画像1103の左上頂点を回転軸として、h＜0かつg＜|h|の場合（図17(c)）は原稿画像1103を反時計回りに角度θだけ回転させ、h＜0かつg＞|h|の場合（図17(d)）は原稿画像1103を時計回りに角度θだけ回転させる。
【００９１】
なお、読み取る原稿が大きく傾く頻度は少なく、図17(b)または図17(d)の回転を行うことが多い。回転後、原稿画像1103の左上頂点をxy座標系の原点に合わせるように原稿画像1103を補正する。
【００９２】
図18は原稿画像1103の回転方法を説明する図である。図18(a)は回転前の画像Aを示し、図18(b)は回転後の画像Bを示す。
【００９３】
図18において、画像Bの幅wと高さhは下式を用いて、原稿画像1103の四頂点（交点1608-1611）のうち三点の座標から求められる。
w = √{(x1 - x4)2 + (y1 - y4)2}
h = √{(x1 - x2)2 + (y1 - y2)2}      …(8)
【００９４】
次に、画像Bの各画素の値を決定する方法を説明する。画像Bの各画素の値は、下式を用いて、画像Aの各画素の値を参照することで決定される。
x = X・cosθ - Y・sinθ + x1
y = X・sinθ + Y・cosθ + y1                        …(9)
ここで、(x, y)は回転前（画像A）の画素位置、
(X, Y)は回転後（画像B）の画素位置、
(x1, y1)は回転軸の頂点座標、
θは時計回りに測定される回転角度。
【００９５】
図19は傾き補正処理を説明するフローチャートである。
【００９６】
まず、図18に示す画像Bをラスタ順に走査して注目画素(X, Y)を設定し(S181)、式(9)により注目画素(X, Y)に対応する回転前の座標(x, y)を算出する(S182)。次に、回転前の座標(x, y)が画像A外か否かを判定し(S183)、画像A外の場合は注目画素(X, Y)の値として白に相当する値を設定する(S184)。また、座標(x, y)が画像A内の場合は回転前の座標(x, y)の画素値を注目画素(X, Y)の値に設定する(S185)。
【００９７】
次に、注目画素(X, Y)が画像Bの右下端に達したか否かを判定し(S186)、注目画素(X, Y)が右下端に達していない場合は処理をステップS181に戻す。また、注目画素(X, Y)が右下端に達した場合は傾き補正処理を終了する。
【００９８】
［画像処理機能の紹介機能］
次に、画像処理機能の紹介機能を説明する。CPU404は、例えば、原稿傾斜角検出処理の出力値である原稿画像の傾斜角をメモリ405に保持し、傾斜角の平均値に基づき、画像処理機能の紹介機能を動作させる。
【００９９】
図20は画像処理を設定する画面例であり、ホストコンピュータ(PC)などの外部装置200のモニタに表示された、ユーザが画像読取装置の画像処理を設定するためのGUIを示す画面である。ユーザは、GUIのチェックボックスをチェックし、チェックを外すことで画像処理の有効、無効を設定する。
【０１００】
図21は傾き補正処理が無効の場合の画像読取装置100の動作を示すフローチャートで、CPU404が実行する処理である。なお、傾き補正処理が無効の場合とは、図20に示すGUIの「斜行補正」チェックボックスがチェックされていない場合である。
【０１０１】
ユーザは、画像読取装置100に一枚以上の原稿をセットし、原稿画像の読み取りを指示する。CPU404は、変数sumを0に、変数cntを1に初期化し(S701)、画像読取装置100の各部を制御して一枚分の原稿画像を取得する(S702)。
【０１０２】
次に、CPU404は、原稿傾斜角度検出処理を実行し(S703)、原稿傾斜角度検出処理によって得た原稿画像の傾斜角θを変数sumに加算する(S704)。そして、変数sumを変数cntで除算した商と所定の閾値thを比較する(S705)。商が閾値よりも大きい（sum/cnt＞th）場合は画像処理機能の紹介機能を実行し(S706)、商が閾値よりも小さい（sum/cnt≦th）場合は変数cntをインクリメントする(S707)。
【０１０３】
画像処理機能の紹介機能を実行した場合、CPU404は、後述するGUIに対するユーザの操作を待ち、原稿画像の読み取りを中断する。
【０１０４】
画像処理機能の紹介機能を実行しなかった場合、または、後述するGUIに対するユーザの操作があった場合、CPU404は、セットされた原稿がなくなったか否かを判定する(S708)。そして、セットされた原稿がなくなるまでステップS702からS707の処理を繰り返す。
【０１０５】
つまり、CPU404は、原稿画像の傾斜角の積算値sumと、読み取った原稿の数cntを保持し、傾斜角の平均値sum/cntが閾値thを超えると、画像処理機能の紹介機能を実行する。言い換えれば、閾値thは、傾き補正処理を有効にすべき傾斜角の平均値sum/cntを示す。
【０１０６】
図22は画像処理機能の紹介機能によってGUIに表示されるダイアログボックスの一例を示す。このダイアログボックスは、現在の状態として原稿の斜行を表示（警告）し、より良い画像を取得するために有効にすべき画像処理機能、および、当該機能を有効にする操作をユーザに通知する。言い換えれば、紹介機能の実行により、現在の画像の読取状態、有効にすべき画像処理機能、および、当該機能を有効にする操作に関する情報をユーザに通知するユーザインタフェイス画面（UI画面）が生成される。
【０１０７】
UI画面を生成する際、CPU404は、現在の画像の読取状態、有効にすべき画像処理機能を示す情報を生成し、当該情報とともにUI画面の生成指示をPC200上で稼働する画像読取アプリケーションやスキャナ制御アプリケーションに送信する。画像読取アプリケーションやスキャナ制御アプリケーションは、受信した情報に基づきUI画面を生成し、PC200のモニタにUI画面を表示する。
【０１０８】
ダイアログボックスは、メニューを操作することなく傾き補正処理を有効にするための「斜行補正機能を有効にする」ボタンを備える。ユーザは、当該ボタンを押すだけで、極めて容易に傾き補正処理を有効にすることができる。ユーザが当該ボタンを押すと、CPU404は、傾き補正処理を有効にし、原稿画像の読み取りを再開する。
【０１０９】
また、ユーザは、原稿束の途中でスキャン設定を変更したくない場合、ダイアログボックスの「キャンセル」ボタンを押す。この場合、CPU404は、ダイアログボックスを閉じ、原稿画像の読み取りを再開し、好適なタイミングで画像処理機能の紹介機能を実行する。
【０１１０】
図23は傾き補正処理が無効の場合の画像読取装置100の別の動作を示すフローチャートである。CPU404は、例えば、画像処理機能の紹介機能に対して「キャンセル」ボタンが押された場合や、原稿画像の読み取り中の画像処理機能の紹介機能の実行が別途抑制されている場合に図23に示す処理を実行する。なお、図21と同様の処理には同一符号を付して、その詳細説明を省略する。
【０１１１】
CPU404は、原稿画像の読み取りの途中で、傾斜角の平均値sum/cntと閾値thの比較を行わない。そして、原稿画像の読み取りが終了すると、傾斜角の平均値sum/cntと閾値thを比較し(S709)、傾斜角の平均値が閾値よりも大きい（sum/cnt＞th）場合に画像処理機能の紹介機能を実行する(S710)。
【０１１２】
例えば、ユーザが原稿の斜行角度を保持するために、原稿束の途中でスキャン設定を変更したくない場合も、原稿画像の読取終了後のような好適なタイミングで画像処理機能の紹介機能を実行することができる。
【０１１３】
このように、原稿傾斜角度検出処理の結果から、好適なタイミングで、図21に示すようなダイアログボックスを表示することで、画像読取装置100が有する機能が必要とされる場面で、当該機能をユーザに効果的に紹介することができる。従って、ユーザは、マニュアルなどを調べることなく、当該機能を理解し、利用することが可能になる。
【０１１４】
上記では、原稿傾斜角度検出処理の結果に対して画像処理機能の紹介機能を実行する例を説明した。また、画像読取装置100が画像トリミング機能を有する場合、原稿サイズ検知処理を行い、検知した原稿サイズの偏差値を求め、偏差値が所定の閾値に達した場合に画像処理機能の紹介機能を実行して、画像トリミング機能に関する通知を行うこともできる。
【０１１５】
●ジョブスキャン機能の考慮
画像読取装置にはジョブスキャン機能を備えるものがある。ジョブスキャン機能を備える画像読取装置は、筐体上に画像読取開始を指示する本体ボタンを備える。そして、本体ボタンが操作された場合に、どのような画像処理設定で原稿画像を読み取るかをPC200に予め設定しておくことができる。例えば、原稿束がセットされ、本体ボタンが押された場合、カラー白黒検知処理を有効にし、原稿サイズをA4固定にして原稿画像を読み取る、などの設定が可能である。
【０１１６】
一般に、画像読取開始を本体ボタンによって指示した場合、ユーザは、画像読取装置が接続されたPC200の表示を注視せず、予め設定した処理が行われることを期待する。このため、原稿束を処理する途中で画像処理機能の紹介機能が動作すると、ユーザは、画像読取装置に異常が発生したと勘違いする危惧がある。
【０１１７】
図24はジョブスキャン機能を考慮して画像処理機能の紹介機能を実行する処理を説明するフローチャートで、CPU404により実行される処理である。
【０１１８】
CPU404は、図21や図23のフローチャートに示したように、原稿画像を取得するごとに、画像解析結果を示す値を積算し(S901)、積算値sumから所定の事象の値や比率rを計算する(S902)。そして、比率rが所定の閾値thを超えたか否かを判定し(S903)、比率が閾値を超える（r＞th）と、画像読取開始の指示が本体ボタンによって行われたか否かを判定する(S904)。
【０１１９】
なお、上記では「所定の事象の値」として傾斜角の平均値、原稿サイズの偏差値を挙げた。また「所定の事象の比率」として、例えば、後述する「読み込んだ原稿の枚数に対するカラー原稿の枚数の比率」などが挙げられる。
【０１２０】
なお、画像読取開始の指示が本体ボタン以外から行われる場合とは、例えば、PC200上で稼働する画像読取アプリケーションやスキャナ制御アプリケーションを介して行われる場合である。ステップS904の判定は、例えば、画像読取装置のメモリに画像読取開始時の本体ボタンの状態を保持し、画像読取開始時に本体ボタンが操作された状態の場合は画像読取開始の指示が本体ボタンによって行われたと判定する。また、そうでない場合は画像読取開始の指示が本体ボタン以外（例えばPC200）から行われたと判定すればよい。
【０１２１】
CPU404は、本体ボタンによって画像読取開始が指示されたと判定した場合は、画像処理機能の紹介機能を実行せずに、処理をステップS901に戻して原稿画像の読み取りを継続する。また、本体ボタン以外から画像読取開始が指示されたと判定した場合は、画像処理機能の紹介機能を実行する(S905)。つまり、図21に示すようなダイアログボックスが表示され、原稿画像の読み取りが中断する。なお、原稿画像の読み取りの再開については上述したとおりである。
【０１２２】
このように、ジョブスキャン機能を備える画像読取装置においても、ユーザの誤判断を防いで、画像読取装置がもつ画像処理機能を紹介することができる。
【０１２３】
また、図24に示す処理においては、画像読取開始の指示が本体ボタンから行われたか否かに応じて画像処理機能の紹介既往を実行するか否かを判断した。しかし、本体ボタンによって画像読取開始が指示された場合は図23に示す処理を実行し、本体ボタン以外から画像読取開始が指示された場合は図21に示す処理を実行するようにしてもよい。こうすれば、ジョブスキャンを実行するユーザの誤判断を防ぐとともに、画像処理装置がもつ画像処理機能を効果的に紹介することができる。
【０１２４】
［変形例］
例えばルーズリーフ記録紙などのように、原稿の端部にバインダ穴が存在する場合、その穴の部分が目立たないように補正を行うバインダ穴消し機能がある。
【０１２５】
このような機能を有する画像読取装置の場合、画像解析により原稿画像にバインダ穴が存在するか否かを判定するバインダ穴判定処理を行い、画像解析結果としてバインダ穴判定処理の結果を保持する。そして、読み取った原稿の枚数に対するバインダ穴が存在する原稿の枚数の比率が所定の閾値を超えた場合、画像処理機能の紹介機能を実行して、バインダ穴消し機能に関する情報をユーザに通知する。
【０１２６】
また、原稿画像に、意図しない裏面の画像が透けて映り込んでいる場合に映り込んだ裏面画像の成分を除去して、鮮明な原稿画像を取得する裏写り除去機能がある。
【０１２７】
このような機能を有する画像読取装置の場合、画像解析により原稿画像に裏写りが存在するか否かを判定する裏写り検知処理を行い、画像解析結果として裏移り検知処理の結果を保持する。そして、読み取った原稿の枚数に対する裏写りが存在する原稿画像の枚数の比率が所定の閾値を超えた場合、画像処理機能の紹介機能を実行して、裏写り除去機能に関する情報をユーザに通知する。
【０１２８】
また、カラー原稿画像に色ずれと呼ばれる色相の不一致が発生している場合、それを補正して鮮明なカラー原稿画像を取得する色ずれ補正処理がある。
【０１２９】
このような機能を有する画像読取装置の場合、画像解析により原稿画像に色ずれが発生しているか否かを検知する色ずれ検知処理を行い、画像解析結果として色ずれ検知処理の結果を保持する。そして、読み込んだ原稿の枚数に対する色ずれが存在する原稿画像の枚数の比率が所定の閾値を超えた場合、画像処理機能の紹介機能を実行して、色ずれ補正処理に関する情報をユーザに通知する。
【０１３０】
また、カラー原稿および白黒原稿を自動判別して読取画像の形式を決定するカラー白黒自動判定機能がある。
【０１３１】
このような機能を有する画像読取装置の場合、画像解析により原稿画像がカラー画像か否かを判定するカラー白黒検知処理を行い、画像解析結果としてカラー白黒検知処理の結果を保持する。そして、読み込んだ原稿の枚数に対するカラー原稿の枚数の比率が所定の閾値を超えた場合、画像処理機能の紹介機能を実行して、カラー白黒自動判定機能に関する情報をユーザに通知する。
【０１３２】
また、読み込んだ原稿の枚数に対する白黒原稿の枚数の比率が所定の閾値を超え、カラー原稿よりも白黒原稿の方が大きな割合を占める場合は、画像処理機能の紹介機能を実行して、固定出力フォーマットで画像を読み取る機能に関する情報をユーザに通知する。なお、固定出力フォーマットで画像を読み取る機能を利用すると、画像の読取速度が向上する。
【０１３３】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU等）がプログラムを読み出して実行する処理である。
【図１】
2014011669.tif 000003
【図２】
2014011669.tif 000004
【図３】
2014011669.tif 000005
【図４】
2014011669.tif 000006
【図５】
2014011669.tif 000007
【図６】
2014011669.tif 000008
【図７】
2014011669.tif 000009
【図８】
2014011669.tif 000010
【図９】
2014011669.tif 000011
【図１０】
2014011669.tif 000012
【図１１】
2014011669.tif 000013
【図１２】
2014011669.tif 000014
【図１３】
2014011669.tif 000015
【図１４】
2014011669.tif 000016
【図１５】
2014011669.tif 000017
【図１６】
2014011669.tif 000018
【図１７】
2014011669.tif 000019
【図１８】
2014011669.tif 000020
【図１９】
2014011669.tif 000021
【図２０】
2014011669.tif 000022
【図２１】
2014011669.tif 000023
【図２２】
2014011669.tif 000024
【図２３】
2014011669.tif 000025
【図２４】
2014011669.tif 000026