(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025020915
(43)【公開日】2025-02-13
(54)【発明の名称】画像読取システム
(51)【国際特許分類】
H04N 1/387 20060101AFI20250205BHJP
H04N 1/40 20060101ALI20250205BHJP
H04N 1/00 20060101ALI20250205BHJP
【FI】
H04N1/387
H04N1/40
H04N1/00 567H
H04N1/00 L
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023124553
(22)【出願日】2023-07-31
(71)【出願人】
【識別番号】000104652
【氏名又は名称】キヤノン電子株式会社
(72)【発明者】
【氏名】宮西 浩二
【テーマコード(参考)】
5C062
5C077
【Fターム(参考)】
5C062AA05
5C062AB02
5C062AB23
5C062AB40
5C062AB42
5C062AC05
5C062AC22
5C062AC24
5C062AC65
5C062AC67
5C062AF09
5C077LL16
5C077PP21
5C077PP51
(57)【要約】
【課題】分割位置を検出し、検出できない場合でも画像データに適した分割位置を特定し、分割した画像データの境界位置の視認性を向上させて分割した画像データを表示する画像読取システムを提供する。
【解決手段】原稿101を読み取る画像読取手段と、画像読取手段によって読み取られた画像データに係る画像の特徴情報を所定の間隔で走査し検出する特徴情報検出処理手段と、画像データに係る画像の分割位置を特定する分割位置特定処理手段と、分割位置に対応させて画像データを分割する分割処理手段と、分割された画像データの保存処理をする分割画像保存処理手段と、を有し、分割位置特定処理手段は、特徴情報の位置を分割位置とすることを特徴とする。
【選択図】
図7
【特許請求の範囲】
【請求項1】
原稿を読み取る画像読取手段と、
前記画像読取手段によって読み取られた画像データに係る画像の特徴情報を所定の間隔で走査し検出する特徴情報検出処理手段と、
前記画像データに係る前記画像の分割位置を特定する分割位置特定処理手段と、
前記分割位置に対応させて前記画像データを分割する分割処理手段と、
分割された前記画像データの保存処理をする分割画像保存処理手段と、を有し、
前記分割位置特定処理手段は、前記特徴情報の位置を前記分割位置とすることを特徴とする画像読取システム。
【請求項2】
前記原稿は折り目を有し、前記折り目の影が前記特徴情報として前記特徴情報検出処理手段により前記画像から検出され、前記画像データが前記影の位置で分割されることを特徴とする請求項1に記載の画像読取システム。
【請求項3】
前記特徴情報を所定サイズとし、前記画像データが前記所定サイズの位置で分割されることを特徴とする請求項1に記載の画像読取システム。
【請求項4】
分割された前記画像データに係る前記画像の前記分割位置による境界位置を画像領域である重複領域によって重複させて表示することを特徴とする請求項1から3のいずれか一項に記載の画像読取システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像読取システムに関し、スキャンした画像データの制御方法に関する。
【背景技術】
【0002】
従来、原稿台にセットされた原稿を、読み取り位置まで自動搬送する自動原稿送り機構ADF(AutoDocumentFeeder)を備えた画像読取装置では、読み取って得た画像データを出力する際に、画像データを処理する様々な技術が知られている。例えば、折り畳むことが可能な一枚の用紙からなり、折り目によって分けられた複数のページの其々に情報を付した媒体を読み取り、読み取った画像を処理する技術が知られている。この媒体の一例として、折り畳みパンフレットや飲食店のメニューなどがある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008-258913号公報
【特許文献2】特開2012-151586号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示された装置では、先に示した原稿を読み取った際に、画像データが分割出力される位置をユーザーが指定し、指定された区切り位置で画像データを分割する技術が提案されている。また、特許文献2に開示された装置では、折り畳まれた原稿の折り目の位置をページ区切りの位置として、画像データを分割処理する技術が提案されている。
【0005】
しかし、特許文献1に開示された装置では、区切り位置をユーザーが指定する必要があり、原稿が長い場合や、複数枚の原稿を読み取る場合に、繰り返し指定を行わなければならないという問題がある。また、特許文献2に開示された装置では、折り目を検知できない場合に、原稿の区切り位置の特定を行えず、画像データの分割処理ができないという問題がある。さらに、特許文献1、特許文献2に開示された装置では、複数のページにわたって連続した情報が記載されている原稿の場合にも画像が分割出力されるため、得た画像データを確認する際に、境界位置の視認性に欠けるといった問題がある。
【課題を解決するための手段】
【0006】
上記を鑑み、本発明に係る画像読取システムは、
原稿を読み取る画像読取手段と、
前記画像読取手段によって読み取られた画像データに係る画像の特徴情報を所定の間隔で走査し検出する特徴情報検出処理手段と、
前記画像データに係る前記画像の分割位置を特定する分割位置特定処理手段と、
前記分割位置に対応させて前記画像データを分割する分割処理手段と、
分割された前記画像データの保存処理をする分割画像保存処理手段と、を有し、
前記分割位置特定処理手段は、前記特徴情報の位置を前記分割位置とすることを特徴とする。
【発明の効果】
【0007】
本発明によれば、画像データの区切り位置をユーザーが繰り返し指定することなく特定することができ、原稿の折り目を検出できない場合でも、画像データの適した区切り位置を特定することができる。
【図面の簡単な説明】
【0008】
【
図1】本実施形態に係る画像読取システム全体の構成図。
【
図2】本実施形態に係る画像読取装置の概略的な構成図。
【
図3】本実施形態に係る画像読取ユニットの概略的な構成図。
【
図4】本実施形態に係る折り目のある原稿の一例を示した図。
【
図5】本実施形態に係る画像読取装置の制御構成図。
【
図6】(a)本実施形態に係るPCの構成図、(b)本実施形態に係る、スキャンアプリケーションに関する図、(c)本実施形態に係るPC上のアプリケーションソフトウェアとドライバの構成図。
【
図7】本実施形態に係る画像読取システムの処理の流れを示したフローチャート。
【
図8】本実施形態に係る特徴情報検知処理の流れを示したフローチャート。
【
図9】本実施形態に係る特徴情報による分割位置特定処理の流れを示したフローチャート。
【
図10】所定間隔毎に分割位置検知を行うことを示した図。
【
図11】本実施形態に係る所定サイズによる分割位置特定処理の流れを示したフローチャート。
【
図12】本実施形態に係る画像の分割処理や分割画像の保存処理の流れを示したフローチャート。
【
図13】本実施形態に係る、搬送異常が起きた際の処理を示したフローチャート。
【
図14】本実施形態による、読取再開確認画面に関する図。
【
図15】本実施形態に係る、ジャムを検出する処理を示したフローチャート。
【
図16】本実施形態に係る、斜行を検出する処理を示したフローチャート。
【
図17】本実施形態に係る、重送を検出する処理を示したフローチャート。
【
図18】本実施形態に係る、原稿の戻し量算出処理を示したフローチャート。
【
図19】本実施形態に係る、読取再開確認画面に関する図。
【
図20】(a)本実施形態に係る、重送が発生し搬送停止するまでの読取画像、(b)本実施形態に係る、重送発生後再読取した画像、(c)本実施形態に係る、重送発生前と発生後に読み取った画像を結合した画像。
【発明を実施するための形態】
【0009】
以下、本発明の例示的な実施形態について図面を参照して説明する。また、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。なお、以下の各実施形態は例示であり、本発明を各実施形態の内容に限定するものではない。
【0010】
図1は、本実施形態による画像読取システム全体の構成図である。
【0011】
画像読取装置100とパーソナルコンピュータ(PC)200は、USBケーブルを介して接続される構成となっている。画像読取装置100は、原稿の画像を読み取ると、読み取った画像データをPC200へ送信する。PC200は、受信した画像データを分割し、記憶領域へ出力する。
【0012】
本実施形態では、画像読取装置100とPC200は、USBケーブルで接続された構成となっているが、これに限るものではなく、画像読取装置100とPC200が通信できる接続方法であればよい。例えば、ネットワークを介して接続する構成でもよい。
【0013】
また、画像読取装置100は、PC200と接続される構成となっているが、これに限るものではなく、画像読取装置100と接続できるものであればよい。例えば、タブレット端末やスマートフォン端末と接続される構成でもよい。
【0014】
図2は、本実施形態による画像読取装置100の概略的な構成図である。
【0015】
原稿台102は、読取対象の原稿101を積載収納する。原稿台102上の原稿101は、給紙ローラ106により一枚ずつ分離されて搬送路108に送り出され、搬送ローラ107によって搬送路108に沿って搬送され、排出部103に排出される。レジストセンサ109は、搬送路108を搬送される原稿101を検出する。レジストセンサ109が原稿101を検出すると、画像読取ユニット104は、原稿上に形成された画像の読み取りを開始する。本実施形態において、画像読取ユニット104は、搬送路108を挟んで両側に2つ設けられており、一方が原稿101の表面を、他方が原稿101の裏面を読み取る。なお、画像読取ユニット104を1つのみとする構成であっても良い。各画像読取ユニット104の対向位置には、背景板105がそれぞれ設けられている。背景板105は、例えば、白色の部材である。
【0016】
エンコーダー110は、ロータリーエンコーダであり、搬送ローラ107と共に回転することで搬送路108を搬送される原稿101の移動量を検出する。斜行検知センサー111は、搬送路の左右両端に設けられており、原稿の傾きを検出する。重送検知センサー112は、搬送路108を挟んで両側に2つ設けられており、静電気等で原稿101などの搬送媒体同士が密着し、搬送路108を通過してきた場合、つまり、重なって搬送される重送状態の場合に、重送を検出するためのセンサーである。重送検知センサー112としては、種々のものが利用可能であるが、本実施形態の場合には、超音波センサーである。感圧検知センサー113は、搬送路108の上部に設けられており、搬送中の原稿101が詰まった際に、原稿101が上部に押し付けられた際の圧力を検知し、紙詰まりを検出する。上記の搬送異常が発生した際の処理については後述する。
【0017】
図3は、本実施形態による画像読取ユニット104の概略的な構成図である。
【0018】
画像読取ユニット104は、筐体1041と、搬送路108に面して設けられたガラス板1042とによって、内部が密封されている。画像読取ユニット104の内部には、ラインイメージセンサ1043と、発光部1044と、が設けられている。ラインイメージセンサ1043は原稿101の搬送方向と直交する方向(主走査方向)に延設され、主走査方向の1ライン分の画像を1度に読み取る。ラインイメージセンサ1043は、例えば、CCDラインセンサやコンタクトイメージセンサである。ラインイメージセンサ1043と、発光部1044は、略平行に延設されている。また、発光部1044は、例えば、複数のLEDからなるLEDアレイにより構成される。ラインイメージセンサ1043は、
図3において破線矢印で示すように、発光部1044が照射し、原稿101で反射した反射光を受光・検出して原稿101上の画像を読み取る。
図4のように、折り目がある原稿101を読み取る場合、ラインイメージセンサ1043が受光する光量において、原稿101の折り目の形成に起因する光量の濃度変化が顕著に現れ、影のような画像が出力される。
【0019】
図5は、本実施形態による画像読取装置100の制御構成を示す図である。
【0020】
画像読取装置100は、原稿101を読み取る画像読取ユニット104と、読み取られた画像に対して画像処理を行う画像処理回路14と、画像処理回路14から出力される画像データを一時的に記憶するRAM13と、画像読取装置100内で使用されるプログラムを格納するROM12と、ROM12に格納されたプログラムに従って画像読取装置全体を制御するCPU11と、CPU11から送信された画像データをPC200に転送すると共に、PC200からの画像読み取りを指示する割り込みをCPU11に転送する通信IF15を備える。
【0021】
図6(a)は、本実施形態におけるPCの構成を示す図で、
図6(b)は、本実施形態におけるスキャンアプリケーションのUIを示す図である。
【0022】
PC200は、外部の画像読取装置100に原稿読み取りなどの指示を送信し、外部の画像読取装置100から画像データを受信する通信IF505を備える。また、通信IF505で受信した画像データに対して、画像の分割などの画像処理を行うCPU500、通信IF505で受信した画像データや、CPU500が動作する際にデータを一時的に記憶するRAM501、PC200内で使用されるプログラムを格納するHDD502、設定画面などのユーザーインターフェイス(UI)をユーザーに表示するための表示部503、表示部503に表示されたUIに対して、操作を行うための操作部504と備える。
【0023】
表示部503に表示されるUIは、例えば
図6(b)のようなスキャンアプリケーションで、スキャンアプリケーションは、PC200上で動作し、スキャン設定を設定した後にスキャンボタンを押下することで、設定されたスキャン設定を画像読取装置100へ送信する。スキャン設定は、dpi設定「200dpi/300dpi」、モード設定「カラー/グレー」、長尺設定「ON/OFF」を設定することができる。画像読取装置100内のROM12に格納された制御プログラムは、スキャン設定を受信すると、スキャン設定に応じた原稿の読み取りを開始する。UIやスキャン設定の項目、設定候補はこの限りではない。
【0024】
また、本実施形態では、PC200上で動作するスキャンアプリケーションを利用するが、それに限るものではなく、画像読取装置100内にあってもよい。また、LANで接続されたタブレット端末などにあってもよいし、操作部504は、本実施形態ではPCに接続されたマウスを用いているが、これに限らず、キーボードやタッチパネルでも良い。
【0025】
図6(c)は、PC200上のアプリケーションソフトウェアとドライバの構成を示す図である。
【0026】
ユーザーは、あらかじめアプリケーションソフトウェア401とドライバ402をPC200にインストールする。インストールされたアプリケーションソフトウェア401は、ドライバ402を介して画像読取装置100と通信する。アプリケーションソフトウェア401とドライバ402の間と、ドライバ402と画像読取装置100の間は決められたプロトコルで通信する。本実施形態では、アプリケーションソフトウェア401とドライバ402はTwainという規格で決められたプロトコルで通信を行い、ドライバ402と画像読取装置100の間では、SCSIという規格で決められたプロトコルで通信を行っている。
【0027】
しかし、プロトコルはこれに限るものではなく、たとえばアプリケーションソフトウェア401とドライバ402の間の通信規格はISISやWIAであっても良く、またドライバ402と画像読取装置100の間の通信規格はUSB等のシリアル通信や無線通信の規格であってもよい。
【0028】
図7は、本実施形態による画像読取システムの処理の流れを示したフローチャートである。
【0029】
ユーザーは、PC200上で動作するアプリケーションソフトウェア401より、原稿の読取開始を指示する。本実施形態で扱う原稿は、
図4に示すような折り目のある長尺の原稿101である。原稿読取開始指示は、ドライバ402を介して、画像読取装置100へ送信される。原稿読取開始指示を受信した画像読取装置100は、原稿101を搬送し、原稿101の読み取りを行い、画像を取得する(S701)。生成した画像データをドライバ402に転送する。ドライバ402は、受信した画像データをRAM501に格納し、アプリケーションソフトウェア401へ画像の取得を通知する。
【0030】
本実施形態では、原稿読取開始指示をPC200上のアプリケーションソフトウェアより行っているが、これに限るものではない。例えば、図示しない画像読取装置100上のタッチパネルより画像の読取開始指示を行ってもよい。
【0031】
アプリケーションソフトウェア401は、格納された画像データに対して画像の特徴情報を検出し、特徴情報の位置を分割位置として分割位置の特定処理を行う(S702)。
【0032】
ステップS702における画像の特徴情報の位置を分割位置とする分割位置の特定処理では、終了時に、あらかじめ用意した変数statusに、処理結果(trueまたはfalse)が設定される。画像データの特徴情報の検出処理と分割位置特定処理については、後述する。
【0033】
画像の特徴情報の位置を分割位置として分割位置の特定処理を行ったあと(S702)、分割位置の特定に成功したか否かを判定する(S703)。変数statusの値がtrueの場合、分割位置の特定処理が正しく完了したとして処理を終了する。変数statusの値がfalseの場合、分割位置の特定処理が正しく完了しなかったとして所定サイズAによる分割位置の特定処理を行う(S704)。所定サイズAによる分割位置特定処理については、後述する。各々の処理方法で分割位置特定処理を行った後、画像は分割され、分割された画像は保存される(S705)。
【0034】
本実施形態では、CPU11が、画像データの特徴情報検出処理を行う特徴情報検出処理手段や、分割位置特定処理を行う分割位置特定処理手段としての役割を担い、CPU500が、画像データの分割処理を行う分割処理手段や分割画像の保存処理を行う分割画像保存処理手段としての役割を担っている。
【0035】
なお本実施形態では、画像の特徴情報を原稿の折り目による影とし、分割位置特定の手法として折り目のある原稿101を読み取った際に画像に発生する影を検出し、影位置を分割位置として利用しているが、これに限るものではない。分割位置の特定方法は、画像領域内から分割位置を特定する手法であればどのような方法を用いてもよい。例えば、原稿を横断するように付与されているミシン目を分割位置としてもよい。ミシン目の判断方法は一般的なものでよいが、例えば、原稿左端から主走査方向に、連続する画素が一定間隔で濃度差を持つ場合、ミシン目があると判断する方法でもよい。
【0036】
また、本実施形態では、影による分割位置特定処理が正しく完了しなかった場合、所定サイズAでの分割位置特定処理を行う流れとなっているが、これに限るものではなく、ユーザーに通知し、ユーザーが所定サイズでの分割処理を行うか否かを選択できるようにしてもよい。また、影による分割位置特定処理を行わず所定サイズによる分割位置特定処理のみを行うようにしてもよい。
【0037】
図8は、本実施形態による特徴情報検出処理の流れを示したフローチャートである。本実施形態では、特徴情報を原稿の折り目によって発生する影としているため、影の検出を行う。
【0038】
本実施形態では、影検出画素の濃度差を用いて、影を検出する。また、本実施形態では、原稿の折り目の影検出処理について記載する。折り目がある原稿を読み取る場合は、原稿の左端から右端に渡り、画像に影が発生する。画像の左端と右端からそれぞれ所定間隔αの範囲で影の検出を行い、検出した影の平均位置座標を原稿の折り目の影とする。
【0039】
なお、この処理方法は一例であり、画像領域内から影を検出する方法であれば、どのような方法を用いてもよい。
【0040】
原稿の折り目の影検出処理開始後、閾値T、検索開始位置Sを取得する(S801)。閾値Tは、画像から影を検出する際に用いるもので、隣り合う画素の濃度差が影に相当するものであるかを判定するために用いる。検索開始位置Sは、影の検索を行う際に、検索を開始する副走査方向の位置座標を示している。ただし、本実施形態では、閾値TはあらかじめRAM13に格納されているものとし、CPU11が値を読み出し、検索開始位置Sの値は後述する
図9のステップS902または、ステップS906にて設定される。
【0041】
閾値T、検索開始位置Sを取得後、CPU11はRAM13に格納された主走査方向座標を示すための変数xに0を、RAM13に格納された副走査方向座標を示すための変数yに検索開始位置Sの値を、画像左端の影の位置を示すための変数s1と画像右端の影の位置を示すための変数s2に-1を設定する(S802)。設定後、変数xと所定間隔αを比較する(S803)。
【0042】
変数xが所定間隔α以下であると判定した場合、y+1が画像の長さより小さいかどうか判定する(S804)。y+1が画像の長さより大きいと判定した場合、x方向に隣の座標の画素を処理するためにステップS810に進む。y+1が画像の長さより小さいと判定した場合、座標(x、y)の画素の濃度と、y方向に隣の座標(x、y+1)の画素の濃度を取得し(S805)、両濃度の差の絶対値が閾値T以上かどうかを判定する(S806)。
【0043】
濃度差の絶対値が閾値T未満と判定した場合、yに1だけ加算し(S807)、ステップS804に進みy方向に隣の座標の画素に対して処理を行っていく。濃度差の絶対値が閾値T以上と判定した場合、変数yと変数s1を比較する(S808)。変数yが変数s1より大きいと判定した場合、ステップS809で、変数s1に変数yの値を設定し、ステップS810に進む。変数yが変数s1以下と判定した場合、そのままステップS810に進む。
【0044】
x方向に隣の座標の画素に対して処理を行っていくために、ステップS810で、xに1だけ加算し、yに検索開始位置Sを設定する。設定後、ステップS803に進み処理を続けていく。
【0045】
ステップS803で、変数xが所定間隔αより大きいと判定した場合、ステップS811へ進み、変数s1の値が、-1かどうかを確認する。変数s1の値が-1の場合、画像終端の座標を影位置に設定し(S812)、処理を終了する。変数s1の値が-1ではない場合、画像左端の影の検出が完了したと判断し、右端の影の検出を行うため、変数xに画像の幅から所定間隔αを引いた値を設定する(S813)。
【0046】
設定後、変数xが画像の幅より小さいかどうかを判定する(S814)。変数xが画像の幅より小さいと判定した場合、y+1が画像の長さより小さいかどうか判定する(S815)。y+1が画像の長さより小さいと判定した場合、座標(x、y)の画素の濃度と、座標(x、y+1)の画素の濃度を取得し(S816)、両濃度の差の絶対値が閾値T以上かどうかを判定する(S817)。
【0047】
濃度差の絶対値が閾値T未満と判定した場合、変数yに1だけ加算し(S818)、ステップS815に進みy方向に隣の座標の画素に対して処理を行う。濃度差の絶対値が閾値T以上と判定した場合、変数yと変数s2を比較する(S819)。変数yが変数s2より大きいと判定した場合、変数s2に変数yの値を設定し(S820)、ステップS821に進む。変数yが変数s2以下と判定した場合、そのままステップS821に進む。
【0048】
ステップS815で、y+1が画像の長さ以上と判定した場合、そのままステップS821に進む。
【0049】
ステップS821で、変数xに1だけ加算し、変数yにSを設定する。設定後、ステップS814に進み、x方向に隣の座標の画素に対して処理を行う。
【0050】
ステップS814で、変数xが画像の幅より大きいと判定した場合、変数s2の値が、-1かどうかを確認する(S822)。変数s2の値が-1の場合、画像終端の座標を影位置と判定し(S823)、処理を終了する。変数s2の値が-1ではない場合、画像両端の影の検出が完了したと判断し、変数s1と変数s2の値の平均値を影の位置座標と判定し(S824)、処理を終了する。
【0051】
図9は、本実施形態による影の位置による分割位置特定処理の流れについて示したフローチャートである。
【0052】
原稿101の読み取りを行い画像を取得した後、画像データ全体の長さLenを取得する(S901)。画像データ全体の長さLenは、あらかじめRAM13に格納されているものとし、CPU11が値を読み出す。画像データ全体の長さLenを取得後、画像データの先頭の走査開始位置Sに、所定間隔Bを設定する。本実施形態では、所定間隔Bは0とする。検出した影の位置の座標を保持するリスト構造を変数Nとし、初期化して空のリストとする(S902)。
【0053】
走査開始位置Sを、
図8で示した画像の影検出を行うための検索開始位置Sとして設定し(S801)、
図8で示した方法で影検出を行う(S903)。
【0054】
画像の影検出を行った後、検出した影が原稿終端の影か否かを判定する(S904)。検出した影の位置と画像データ全体の長さLenの差分が所定の値内に存在する場合、原稿終端の影と判定する。
【0055】
検出した影の位置と画像データ全体の長さLenの差分が所定の値内に存在しなかった場合、影は原稿終端の影ではなく、原稿の折り目の影であると判定し、検出した影を分割位置としてリスト構造の変数Nに設定し保存する(S905)。変数Nはリスト構造になっているため、新しい分割位置は末尾に追加されていく。
【0056】
検出した影を分割位置としてリスト構造の変数Nに設定し保存した後、走査開始位置Sを変更し次の走査開始位置Sとする(S906)。リスト構造の変数Nの末尾の値を用いた分割位置の値に、所定間隔Bを追加したものを次の走査開始位置Sとして設定する。
【0057】
ステップS904で影が原稿終端の影であると判定した場合、走査開始位置Sが原稿の先頭(走査開始位置S=所定間隔B)か否かを判定する(S907)。走査開始位置Sの値が所定間隔Bではない場合、走査開始位置Sが先頭ではなく、正しく影の検出ができたと判定し、特定した分割位置(リスト構造の変数Nに格納された値)から分割した際の画像の長さである各分割サイズを取得し、全分割サイズの分散の値が、所定値より小さいかどうかを判定する(S908)。
【0058】
リスト構造の変数Nの先頭の場合、先頭値を分割サイズとして取得する。その後は、Nnext-Nを分割サイズとして取得する。リスト構造の変数Nの末尾の場合は、Len-Nendを分割サイズとして取得する。これらの全分割サイズの分散の値が所定の値より小さい場合、分割位置を適した間隔で特定できていると判断され、あらかじめ用意した変数statusにtrueを設定し(S909)、処理を終了する。
【0059】
走査開始位置Sが先頭である場合、また、全分割サイズの分散の値が所定値より大きい場合は、分割位置を適した間隔で特定できていないと判断し、あらかじめ用意した変数statusにfalseを設定し(S910)、後述の
図11に示す所定サイズAによる分割位置特定処理を行っていく。
【0060】
なお、本実施形態では、分割位置特定処理の妥当性を全分割サイズの分散の値が所定値より小さいか否かで判定を行っているが(S908)、これに限るものではない。正しく分割位置の妥当性を判断できる方法であれば、どのような方法を用いてもよい。
【0061】
また、本実施形態では、所定間隔Bに0を設定しているが、これに限るものではない。例えば、
図10のように、走査開始位置Sに所定間隔B=A4の長さ、B5の長さというような、所定間隔Bを設定してもよい。または、最初に検出した影の位置座標を基に算出してもよい。例えば、B=Nbegin-所定間隔Bでもよい。所定間隔を設定することで、影がある部分に近い場所から走査を開始することができ、処理を軽くすることができる。
【0062】
図11は、本実施形態による所定サイズAによる分割位置特定処理の流れを示したフローチャートである。
【0063】
原稿101の読み取りを行い画像を取得した後、画像データ全体の長さLenを取得する(S1101)。画像データ全体の長さは、あらかじめRAM13に格納されているものとし、CPU11が値を読み出す。画像データ全体の長さを取得後、画像データ全体の長さLenの値と、あらかじめ設定した所定サイズAの長さ×2を比較する(S1102)。本実施形態では、所定サイズAをA4の長さとする。画像データ全体の長さLenの値が所定サイズAの長さ×2より小さい場合、所定サイズAで分割する必要はないと判断し、処理を終了する。画像データ全体の長さLenの値が所定サイズAの長さ×2以上の場合、画像データの先頭の基準位置Sに0を設定する(S1103)。
【0064】
基準位置Sとしての変数Sに所定サイズAの長さを足した値を分割位置として、あらかじめ用意したリスト構造の変数Nに設定し保存する(S1104)。変数Nはリスト構造になっており、新しい分割位置は末尾に追加されていく。その後、基準位置Sを変更する(S1105)。ここで分割位置の値を次の基準位置Sとして設定する。分割位置の値はリスト構造の変数Nの末尾の値を取得し、用いている。原稿が後端であるかどうかを、基準位置Sと所定サイズAの長さを足した値が画像データ全体の長さLen以上かどうかで判定する(S1106)。基準位置Sの値と所定サイズAの長さを足した値が画像データ全体の長さLenより小さい場合、ステップS1904へ進み、処理を続ける。基準位置Sの値と所定サイズAの長さを足した値が画像データ全体の長さLen以上になる場合、分割位置特定処理が完了し原稿の後端であると判定し、処理を終了する。
【0065】
また、本実施形態では、所定サイズAをあらかじ定められた長さとしているが、これに限るものではなく、例えば、アプリケーションソフトウェア401上の図示しないUIよりユーザーが指定できるようにしてもよい。また、例えば、画像データ全体の長さのn分の1(nは自然数)など、画像データ全体の長さから算出するようにしても良い。
【0066】
図12は、本実施形態による画像データの分割処理や保存処理の流れを示したフローチャートである。
【0067】
画像データを取得し(S1201)、
図7に示すステップS705で保存したすべての分割位置を取得する(S1202)。画像データは、あらかじめRAM501に格納されているものとし、CPU500が値を読み出す。取得した分割位置は、分割位置をリスト構造の変数Nとして保持する。
【0068】
分割した画像データを表示する際に、分割した境界位置の視認性を良くするために重複させる画像領域のサイズYを取得する(S1203)。本実施形態では、重複領域のサイズYを3センチ(300dpiの場合は、354ピクセル)とする。ただし、重複領域のサイズYは、本実施形態に限るものではなく、可変にしてもよい。また、重複領域のサイズYは、あらかじめ定数として保持されていても良いし、0に設定するようにしてもよく、図示しないUIよりユーザーが設定できるようにしてもよい。
【0069】
ステップS1204で、ファイルに出力する画像の先頭位置Pを設定する。先頭位置Pには、初期値0を設定する。その後、変数iに分割位置数を設定し、変数jに0を設定する(S1205)。分割位置数は、リストNの先頭から終端までの個数をカウントすることで取得する。ファイルに出力する画像の後端位置P’を設定する。後端位置P’は、先頭位置Pに分割位置Nを足した値を設定する(S1206)。
【0070】
設定後、先頭位置Pの値が初期値(P=0)より大きいか否かを判定する(S1207)。先頭位置Pの値が初期値以下の場合、先頭位置Pと後端位置P’から重複領域のサイズYを含めた位置(P’+Y)までの画像データを取得し、HDD502にファイルとして出力する(S1208)。先頭位置Pが初期値より大きい場合、先頭位置Pから重複領域のサイズYを引いた位置(P-Y)と、後端位置P’から重複領域のサイズYを含めた位置(P’+Y)までの画像データを取得し、HDD502にファイルとして出力する(S1209)。HDD502にファイルとして出力後、変数jに1だけ加算し(S1210)、先の後端位置P’を新しい先頭位置として、先頭位置Pに設定する(P=P’)(S1211)。
【0071】
その後、すべての分割位置で分割処理を行ったかどうかを判定する(S1212)。変数jが分割位置数iより小さい場合(j<i)、分割位置が残っていると判定し、ステップS1206へ進み、次の分割処理を行っていく。変数jが分割位置数i以上の場合(j≧i)、すべての分割位置で分割処理を行ったと判定し、画像データの終端位置を後端位置P’に設定する(P’=画像終端位置)(S1213)。先頭位置Pから重複領域のサイズYを引いた位置(P-Y)と、後端位置P’までの画像データを取得し、HDD502にファイルとして出力する(S1214)。その後、画像データを一時記憶領域から削除し(S1215)処理を終了する。
【0072】
以降に、原稿搬送時に異常が発生した際の処理について説明する。
【0073】
図13は、本実施形態による長尺の原稿を読み取るなかで搬送異常が起きた際の処理を示したフローチャートである。本実施形態では、長尺原稿は1枚とする。
図14(a)、(b)は、原稿読取再開確認画面を示している。
【0074】
原稿の読み取りが開始されると(S1301)、原稿の搬送を開始する(S1302)。搬送中に異常が発生したか否かを搬送異常検知手段によって確認し(S1303)、異常が発生したと判定した場合は、原稿の搬送を停止する(S1304)。原稿の搬送中に搬送異常の発生を検出した際の詳細については、後述する。
【0075】
搬送を停止するまで読み取った画像データを、一時的にRAM13に保存する(S1305)。画像データを保存後、原稿位置戻し量算出手段によって原稿の位置の戻し量を算出する(S1306)。原稿の位置の戻し量の算出方法については、後述する。
【0076】
原稿の位置の戻し量の算出後、原稿の読み取りの再開を行うか否かを判定する(S1307)。判定は本実施例では、
図14(a)、(b)に示すように画像読取装置100が有する表示手段を用いてユーザーに確認する。ユーザーが「いいえ」を押下した場合、RAM13に保存した画像データを破棄して、処理を終了する(S1308)。ユーザーが、「はい」を押下した場合、ステップS1301に遷移し、読み取りを再開する。
【0077】
ステップS1303にて、異常が発生していないと判定した場合、原稿がまだ読み取り中であるかを確認する(S1309)。本実施例では、
図2に示すレジストセンサ109で原稿を検知すると、原稿がまだあると判定し、ステップS1302へ遷移し、原稿の搬送を繰り返す。原稿の読み取りが完了したと判定した場合は、搬送を停止する(S1310)。
【0078】
搬送停止後、ステップS1305にてRAM13に保存した画像データの有無を確認する(S1311)。画像データがあると判定した場合、読取再開後に読み取った画像データと保存されている画像データの結合処理を行い(S1312)、処理を終了する。画像データの結合処理方法については、後述する。画像データがないと判定した場合は、処理を終了する。
【0079】
なお、ステップS1312の画像の結合は、画像読取装置100内で行わず、画像読取装置100に接続された、PC200などの外部装置で行ってもよい。
【0080】
次に、
図13におけるステップS1303において、原稿の搬送中に搬送異常の発生を検出した際の詳細について説明する。
図15、
図16、
図17は、本実施形態による搬送中に異常が発生した際の処理を示したフローチャートである。
【0081】
搬送中の異常には、ジャムと斜行、重送がある。また、本実施形態では、ROM12に格納されるプログラムによって、ジャムと斜行、重送の異常を検出する制御を行う。
【0082】
図15は、
図13のステップS1303において、原稿の搬送中に発生したジャムを検知した際の処理を示したフローチャートである。
【0083】
本実施形態では、搬送中に原稿が詰まり、感圧検知センサー113を押し上げることでジャムを検知する。
【0084】
原稿の搬送中に搬送異常検知手段である感圧検知センサー113を確認し、感圧検知センサー113が圧力信号を検知したかどうかを判定する(S1501)。感圧検知センサー113が、圧力信号を検知していない場合は、
図13におけるステップS1309で画像読取装置100が画像を読み取り中であるか否かを判定する。
【0085】
一方で、ステップS1501にて、感圧検知センサー113が圧力信号を検知した場合、原稿101の搬送中に紙詰まり(ジャム)が発生したと判断し(S1502)、
図13におけるステップS1304へ進んで搬送を停止する。
【0086】
図16は、
図13のステップ1303において、原稿の搬送中に斜行を検出した際の処理を示したフローチャートである。
【0087】
原稿の搬送中に搬送異常検知手段である斜行検知センサー111を確認し、搬送路の左右両端にある斜行検知センサー111のどちらか一方が原稿101を検知したかどうかを判定する(S1601)。斜行検知センサー111で、原稿が検知されていない場合、
図13におけるステップS1309で画像読取装置100が画像を読み取り中か否かを判定する。
【0088】
一方で、斜行検知センサー111で原稿が検知された場合、斜行が発生し原稿101が傾いた状態で搬送路108を搬送されているものとし(S1602)、
図13におけるステップS1304へ進んで搬送を停止する。
【0089】
図17は、
図13のステップS1303において、原稿101の搬送中に重送を検出した際の処理を示したフローチャートである。
【0090】
原稿の搬送中に搬送異常検知手段である重送検知センサー112を確認することで、重送検知センサー112が重送状態を検知したかどうかを判定し(S1701)、重送状態が検出されなかった場合、画像読取装置100は、
図13におけるステップS1309で画像読取装置100が画像を読み取り中であるか否かを判定する。
【0091】
一方で、重送検知センサー112で重送状態が検知された場合、原稿101が重送状態で搬送路108を搬送されているものとし(S1702)、
図13におけるステップS1304へ進んで搬送を停止する。
【0092】
なお、本実施例では、重送検知センサー112は超音波重送検知センサーにより構成されており、搬送路108の上部に発信部が、そして、発信部とは搬送路108をはさんで下部に受信部が配置されており、1枚の原稿が発信部と受信部に挟まれた状態で発信部から発信された超音波が受信部で検出された際の減衰量と、2枚の原稿が挟まれた際の減衰量の差異に基づいて重送状態か否かを検出する検出方法を例としているが、他の方法で重送を検出する方法を採用しても構わない。
【0093】
次に、本実施形態の
図13におけるステップS1306における、原稿の位置の戻し量算出処理及び搬送異常発生から原稿読み取り再開までの処理について説明する。
図18は、本実施形態による、異常発生時の原稿の位置の戻し量算出処理及び搬送異常発生から原稿読み取り再開までの処理を示したフローチャートである。
図19は、原稿の読み取りを再開するか確認するダイアログを示している図である。
【0094】
異常が発生する(S1801)と、異常発生直後のエンコーダー110の値を取得する(S1802)。その後、原稿101の搬送を停止する(S1803)。原稿101の搬送が停止された後、画像読取装置100は、原稿搬送停止時のエンコーダー110の値を取得する(S1804)。
【0095】
ステップS1802とステップS1804で取得したそれぞれのエンコーダーの値から、異常発生して搬送が停止するまでの移動量lを算出する(S1805)。
【0096】
搬送異常判定手段として機能するCPU11が、発生した搬送異常の種類を判定し(S1806)、検出した搬送異常がジャムまたは斜行と判定した場合は、ステップS1905にて算出した移動量lの値を原稿位置の戻し量Lとする(S1807)。一方で、搬送異常がジャムまたは斜行ではないと判定した場合、発生した異常は「重送」であると判断する(S1808)。
【0097】
搬送異常が重送と判定された場合は、重送時の原稿位置の戻し量P算出処理を行い、重送時の原稿位置の戻し量Pを取得する(S1809)。重送時の原稿位置の戻し量Pの算出処理については後述する。
【0098】
ステップS1807にて算出した原稿位置の戻し量L、またはステップS1809にて算出した重送時の原稿位置の戻し量Pを、
図14(a)、(b)に示すような確認ダイアログを用いてユーザーに通知して(S1810)、処理を終了する。
【0099】
本実施形態では、搬送途中に発生したジャム、斜行、重送の搬送異常に応じて、原稿の位置の戻し量を算出しているが、それに限るものではない。ユーザーが、任意に搬送を停止させる機構であってもよい。例えば、PC200上で動作するスキャンアプリケーション上のストップボタンや、図示しない画像読取装置100が有するストップボタンを押下することで、搬送を停止させるようにしてもよい。その場合、ユーザーは、原稿位置を修正する必要はないので、
図19のような確認ダイアログを用いて、原稿位置を戻さず読み取りを再開するか否かを確認するようにしてもよい。
【0100】
次に、重送時の場合の原稿位置の戻し量Pの算出処理について説明する。本実施形態では、原稿101に付された不要な付箋により、重送が発生したものとする。
【0101】
図20(a)は、重送が発生して搬送が停止される前に読み取った画像である。
図20(b)は、ユーザーが原稿の位置を戻し、再読取を行った時の画像である。
図20(c)は、
図20(a)と
図20(b)を結合した画像である。
【0102】
原稿読み取り途中に重送が発生した場合、ユーザーは重送の原因となった不要な付箋を取り除いたのち、
図14(b)に示す確認ダイアログで示された指示に基づいて、読み取りを再開する作業を行う。その際、
図14(b)の確認ダイアログには、先述したように、不要な付箋により正しく読み取れなかった領域を読み取るために、原稿の位置を重送時の原稿位置の戻し量P分戻して再開させるような指示を示す。
【0103】
図20(a)に示す重送前に読み取った画像と、
図20(b)に示す読取再開後に読み取った画像を結合させる際に用いられる結合処理において、重送時の原稿位置の戻し量Pは、「重送」と検出された領域(重送領域)の長さを「J」とし、同一領域を読み取った画像であることを判定するのに必要な重複領域の長さを「M」とすると、P=J+Mという式であらわされる。
【0104】
原稿位置の戻し量Pが算出された後、
図18のステップS1810に示すように
図14(b)に示すダイアログでユーザーに原稿位置の戻し量Pを通知する。
【0105】
なお、本実施例では重複領域の長さMは定数とし、ROM12に予め保持しておくが、
図20(a)に示す重送前に読み取った画像と、
図20(b)に示す読取再開後に読み取った画像を結合する際に用いられる結合処理によっては可変値であり、重送時の原稿位置の戻し量Pではなく重複領域の長さMを算出しても構わない。
【0106】
また、重送領域Jについては、重送検知センサー112によって重送であることが検出された時点におけるエンコーダー110の値と、同センサーによって重送状態が解除された時点までのエンコーダー110の値との差によって求めることができる。
【0107】
次に、
図13に示すステップS1312における画像の結合処理について説明する。画像の結合については、ROM12に保存された画像処理プログラムにて行う。
【0108】
画像処理プログラムは、RAM13に保持されている原稿101の搬送異常が発生し搬送が停止する前までに読み取った第1画像と搬送異常発生後に原稿101の搬送を再開してから新たに読み取った第2画像との二つの画像から重複部分を検出する。なお、画像処理プログラムは、公知のパターンマッチング技術を用いて、第1画像と第2画像の重複部分を検出する。
【0109】
画像処理プログラムは、先に算出した原稿101の位置の戻し量に相当する領域を、第1画像と第2画像のそれぞれから抽出して、各領域との類似の程度を算出する。類似の程度として、正規化相互相関値が使用される。算出した類似の程度が閾値以上である場合、抽出した領域を重複部分として検出する。第1画像と第2画像を合成し、第1画像と第2画像を合成した合成画像を生成する。
【0110】
また、重複部分がないと判定した場合は、第1画像の後端と第2画像の先端を結合した合成画像を生成する。
【0111】
ユーザーが原稿を戻した量が、前述の原稿の位置の戻し量算出処理で算出した値より小さい場合、パターンマッチングが正しく行われない可能性がある。その場合、再度原稿読み取りを行うか、または、そのまま第1画像の後端と第2画像の先端を結合した合成画像を生成するかを、ユーザーが選択できるようにしてもよい。
【0112】
また、第1画像と第2画像との結合位置をユーザーが選択できるようにしてもよい。
【0113】
さらに、本実施形態では、原稿を長尺原稿とした際の搬送異常時について述べているが、長尺原稿でなくてもよい。
【0114】
本実施形態は、画像読取装置100が画像データの特徴情報検出処理や分割位置特定処理を行い、PC200が画像の分割処理や分割画像の保存処理を行う画像読取システムとしたが、全ての処理をどちらか一方だけで行っても良い。
【0115】
(付記1)
原稿を読み取る画像読取手段と
前記原稿を搬送している際に搬送の異常を検知する搬送異常検知手段と、
前記搬送異常検知手段が搬送異常を検知した際に、前記原稿の搬送を止める停止手段と、
前記搬送異常検知手段が搬送異常を検知した際に、前記原稿の搬送が停止されるまでの第1画像を保持する異常前画像データ保持手段と、
前記原稿の読み取りを再開するかユーザーに選択させる通知をする再スキャン通知手段と、
前記第1画像と、前記原稿の読み取りを再開し読み取った第2画像を結合する画像結合手段と、を備え、
前記原稿の搬送の停止後に、前記原稿の位置の戻し量を算出し前記原稿の読み取りを再開することを特徴とする画像読取システム。
【0116】
(付記2)
前記通知は前記搬送異常検知手段が検知した搬送異常の種類に応じて前記原稿の読み取り再開の指示内容を変更することを特徴とする付記1に記載の画像読み取りシステム。
【0117】
(付記3)
前記通知手段は、画像読取の再開を行う前に、ユーザーに前記原稿の位置を戻すことを要求することを特徴とする付記1または2に記載の画像読取システム。
【0118】
(付記4)
前記原稿の位置の戻し量は、前記異常検知手段が検知した異常の種類に応じて原稿位置戻し量算出手段によって算出されることを特徴とする付記1に記載の画像読取システム。
【0119】
(付記5)
前記異常検知手段は、重送検知手段を備え、前記原稿の位置の戻し量算出手段は、前記重送検知手段が検知した重送領域を用いて、前記原稿の位置の戻し量を決定することを特徴とする付記4に記載の画像読取システム。
【符号の説明】
【0120】
100 画像読取装置
101 原稿
102 原稿台
103 排出部
104 画像読取ユニット
105 背景板
106 給紙ローラ
107 搬送ローラ
108 搬送路
109 レジストセンサ
11 CPU
12 ROM
13 RAM
14 画像処理回路
15 通信IF
1041 筐体
1042 ガラス板
1043 ラインイメージセンサ
1044 発光部
200 PC
401 アプリケーションソフトウェア
402 スキャナードライバ