JP2010245885A - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP2010245885A JP2010245885A JP2009093202A JP2009093202A JP2010245885A JP 2010245885 A JP2010245885 A JP 2010245885A JP 2009093202 A JP2009093202 A JP 2009093202A JP 2009093202 A JP2009093202 A JP 2009093202A JP 2010245885 A JP2010245885 A JP 2010245885A
- Authority
- JP
- Japan
- Prior art keywords
- image data
- unit
- image
- feature amount
- processing apparatus
- 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.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】 破断部付近の画像や形状にかかわらず、各原稿破片の画像データをつなぎ合わせて、合成画像データを出力可能な画像処理装置を提供する。
【解決手段】 画像処理装置に、複数の原稿破片の画像を読み取って、それぞれの画像データを入力する画像データ入力部と、入力された各画像データから、それぞれの原稿破片の形状を示す特徴量を抽出する特徴量抽出部と、抽出された各特徴量に基づき、各画像データを位置合わせするための位置合わせパラメータを算出する算出部と、算出された位置合わせパラメータに基づいて、各画像データを合成し、合成画像データを出力する合成出力部とを設ける。
【選択図】 図1
【解決手段】 画像処理装置に、複数の原稿破片の画像を読み取って、それぞれの画像データを入力する画像データ入力部と、入力された各画像データから、それぞれの原稿破片の形状を示す特徴量を抽出する特徴量抽出部と、抽出された各特徴量に基づき、各画像データを位置合わせするための位置合わせパラメータを算出する算出部と、算出された位置合わせパラメータに基づいて、各画像データを合成し、合成画像データを出力する合成出力部とを設ける。
【選択図】 図1
Description
本発明は、複数の画像データを合成して、合成画像データを出力する画像処理装置に関する。
従来、この種の装置として、原稿の破れた破片である原稿破片の画像を読み取って、複数の画像データを取得し、これらをつなぎ合わせて、原稿の合成画像データを出力するものが知られている。
例えば、下記特許文献1には、各原稿破片を読み取って原稿データを取得し、つなぎ合わせ処理を行う画像処理装置の技術が開示されている。この画像処理装置は、各原稿破片の四辺各々について、一定範囲内の画像データを抽出し、これらを比較して一致判定を行った後、該判定結果に基づいて、各原稿破片がつながり合うように、原稿データの破断部の位置合わせを行う。
しかしながら、上記した従来の画像処理装置では、画像の特徴に基づいて破断部の位置合わせが行われるため、例えば、原稿破片の破断部付近が無地の場合、つなぎ合わせができないという問題があった。また、原稿破片が四角形ではない場合、即ち辺が四つではない場合や、破断部を辺として認識することが困難な場合等にも、やはり、つなぎ合わせができないという問題があった。
したがって、破断部付近の画像や形状にかかわらず、各原稿破片の画像データをつなぎ合わせて、合成画像データを出力可能な画像処理装置が望まれていた。
本発明は、以上の点を解決するために、次の構成を採用する。
〈構成〉
本発明に係る画像処理装置は、複数の原稿破片の画像を読み取って、それぞれの画像データを入力する画像データ入力部と、入力された各画像データから、それぞれの原稿破片の形状を示す特徴量を抽出する特徴量抽出部と、抽出された各特徴量に基づき、各画像データを位置合わせするための位置合わせパラメータを算出する算出部と、算出された位置合わせパラメータに基づいて、各画像データを合成し、合成画像データを出力する合成出力部とを備えることを特徴とする。
本発明に係る画像処理装置は、複数の原稿破片の画像を読み取って、それぞれの画像データを入力する画像データ入力部と、入力された各画像データから、それぞれの原稿破片の形状を示す特徴量を抽出する特徴量抽出部と、抽出された各特徴量に基づき、各画像データを位置合わせするための位置合わせパラメータを算出する算出部と、算出された位置合わせパラメータに基づいて、各画像データを合成し、合成画像データを出力する合成出力部とを備えることを特徴とする。
本発明に係る画像処理装置によれば、各原稿破片の形状自体が特徴として認識されるので、破断部が無地の場合や辺として認識できない場合にも、各原稿破片の画像データをつなぎ合わせて、合成画像データを出力可能となる。
以下、本発明の実施形態を、図を用いて詳細に説明する。ここでは、本発明をスキャナに適用した場合を例に、説明を行う。
図2は、本発明に係るスキャナの外観図である。
スキャナ10は、画像処理装置として、載置台11に載置された原稿や、破れた原稿の破片である原稿破片等の読取原稿から、読取面の画像を読み取って、画像データを取得し、該画像データに対して画像処理を施して、出力を行う。
スキャナ10は、画像処理装置として、載置台11に載置された原稿や、破れた原稿の破片である原稿破片等の読取原稿から、読取面の画像を読み取って、画像データを取得し、該画像データに対して画像処理を施して、出力を行う。
載置台11は、本実施例ではプラテンガラスからなり、開閉可能な載置台カバー12の下側に設けられている。読取原稿は、この載置台11の上面に、読取面が載置台11に当接するように、下向きに載置される。載置台カバー12は、読取原稿の読取時における外部からの環境光を遮断すべく、載置台11を覆い隠すように設置される。
なお、載置台11は、読取画質に影響が出ない透明であり且つ強度が保持されるものであれば、ガラスに限定されない。
なお、載置台11は、読取画質に影響が出ない透明であり且つ強度が保持されるものであれば、ガラスに限定されない。
載置台11の下方には、図2に示されるように、原稿検出センサ13と、イメージセンサ14とが配設されている。
原稿検出センサ13は、載置台11上への読取原稿の載置を検出する機能を有する。原稿検出センサ13としては、例えば、読取原稿の重みにより押下される機械的なスイッチ、即ち上部に読取原稿が載置されると、その重みによりスイッチが押下されて、読取原稿の載置を検出するスイッチや、光反射型素子、或いは、上部に読取原稿が載置されると、その読取原稿による光の遮断に基づき、読取原稿の載置を検出する遮光センサ等があるが、読取原稿の載置を検出可能であれば、何れも適用可能である。
イメージセンサ14は、例えば密着型ラインイメージセンサやCCDイメージセンサからなり、載置台11の下側を走行しながら、該載置台11上に載置された読取原稿を走査して、読取面の画像を読み取り、電気的信号に変換して、画像データを取得する。
スキャナ10は、更に、操作パネル部15を備えている。操作パネル部15には、図2に示されるように、操作ボタン16、開始ボタン17及び表示パネル18が設けられている。
操作ボタン16は、オペレータからの指示や情報を入力するための入力デバイスであり、本実施例ではテンキーからなる。
開始ボタン17は、読取動作の開始を指示するために使用される。
表示パネル18は、本実施例では液晶パネルからなり、スキャナ10の状態や各種情報の表示機能を有する。
開始ボタン17は、読取動作の開始を指示するために使用される。
表示パネル18は、本実施例では液晶パネルからなり、スキャナ10の状態や各種情報の表示機能を有する。
図3は、本発明に係るスキャナの要部構成を示す図である。
スキャナ10には、図3に示されるように、イメージセンサ14、CPU20、RAM21、プログラムROM22及びメイン制御部23が備えられ、これら各部がバスを介して接続されている。
スキャナ10には、図3に示されるように、イメージセンサ14、CPU20、RAM21、プログラムROM22及びメイン制御部23が備えられ、これら各部がバスを介して接続されている。
CPU(Central Processing Unit)20は、RAM21を作業領域として、プログラムROM22に格納されている制御プログラムを実行する。
RAM(Random Access Memory)21は、揮発性メモリからなり、イメージセンサ14により取得された画像データ等を記憶する。また、RAM21は、データが一時的に記憶される一時記憶部として、CPU20による制御プログラム実行時に使用される。
プログラムROM(Read Only Memory)22は、不揮発性の読み込み専用メモリからなり、イメージセンサ14による読取動作の制御や、RAM21への書込/読取処理の制御等に使用される種々の制御プログラムを格納している。
メイン制御部23は、プログラムROM22に格納されている制御プログラムを、CPU20により実行して、スキャナ10の統括制御を行う。
メイン制御部23には、更に、原稿検出センサ13、モータ部24、操作パネル部15及びI/F部25が、バスにより接続されている。
原稿検出センサ13は、載置台11における読取原稿の有無を検出して、メイン制御部23に通知する。
モータ部24は、イメージセンサ14による読取原稿の読取時に、該イメージセンサ14を走行させるために使用される。
操作パネル部15は、図3に示されるように、操作部26及び表示部27を備えている。
操作部26は、操作ボタン16及び開始ボタン17(図2)を含んで構成される。
表示部27は、表示パネル18(図2)を含んで構成される。
操作部26は、操作ボタン16及び開始ボタン17(図2)を含んで構成される。
表示部27は、表示パネル18(図2)を含んで構成される。
本実施例では、操作パネル部15は、スキャナ10において実行する各処理をオペレータに選択させるための処理選択画面等、各種画面や情報の表示を行う。また、操作パネル部15は、オペレータの操作に基づいて、複数の原稿破片の画像を読み取って合成する読取合成処理の実行を指示するための読取合成指示や、出力する画像のサイズを指定するための出力画像サイズ等の入力を行う。
I/F部25は、図示せぬ通信ケーブルを介して接続されたプリンタ等の外部機器との間で通信を行うために使用されるインタフェース部であり、イメージセンサ14により取得され、画像処理が施された画像データを、外部機器へ出力する。I/F部25には、例えば、USBやIEEE1394、Ethernet(登録商標)等を適用可能である。また、I/F部25として、無線LANを適用することも可能である。この場合、スキャナ10及び外部機器を通信ケーブルにより接続する必要はない。
次に、本実施例のスキャナ10の制御系統について、説明する。
図1は、本発明の実施例1に係るスキャナの機能構成を示すブロック図である。
図1は、本発明の実施例1に係るスキャナの機能構成を示すブロック図である。
スキャナ10は、画像処理装置として、図1に示されるように、画像データ入力部31、画像データ記憶部32、特徴量抽出部33、位置合わせパラメータ算出部34及び画像データ合成部35を含んで構成される。
画像データ入力部31は、イメージセンサ14により取得された読取原稿の画像データを、画像データ記憶部32に入力する。
画像データ記憶部32は、RAM21を含んで構成され、画像データ入力部31から入力された画像データを記憶する。また、画像データ記憶部32は、記憶している画像データを、特徴量抽出部33や画像データ合成部35に入力する。
特徴量抽出部33は、入力された画像データから、読取原稿の形状を示す特徴量として、後述する点群データを抽出し、該点群データを位置合わせパラメータ算出部34に入力する。
位置合わせパラメータ算出部34は、算出部としての機能を有し、特徴量抽出部33から入力された複数の点群データに対して、一対毎に位置合わせパラメータ(後述)を算出し、該位置合わせパラメータを画像データ合成部35に入力する。本実施例では、位置合わせパラメータ算出部34は、繰り返し型アルゴリズムにより、位置合わせパラメータの算出を行う。
画像データ合成部35は、合成出力部としての機能を有し、位置合わせパラメータ算出部34から入力された位置合わせパラメータに基づいて、画像データ記憶部32から入力された各画像データを合成し、合成画像データを出力する。
上記した各部31〜35のうち、特徴量抽出部33、位置合わせパラメータ算出部34及び画像データ合成部35は、プログラムROM22に格納された制御プログラムがRAM21に一時的に読み込まれ、CPU20により実行されて実現されるソフトウェア処理部である。
次に、これら各ソフトウェア処理部の詳細な機能構成について、説明する。
次に、これら各ソフトウェア処理部の詳細な機能構成について、説明する。
図4は、特徴量抽出部の機能構成を示すブロック図である。
特徴量抽出部33は、図4に示されるように、エッジ抽出部36、2値化処理部37、ラベリング処理部38、最外ラベル判定部39、直線検出部40、点群データ抽出部41及び点群データ記憶部42を有する。
特徴量抽出部33は、図4に示されるように、エッジ抽出部36、2値化処理部37、ラベリング処理部38、最外ラベル判定部39、直線検出部40、点群データ抽出部41及び点群データ記憶部42を有する。
エッジ抽出部36は、画像データ記憶部32(図1)から入力された各画像データに対して、エッジ抽出処理を施し、エッジ抽出画像データを出力する。本実施例では、エッジ抽出部36は、空間フィルタリングの一つである8方向ラプラシアンを用いて、エッジ抽出処理を行う。
2値化処理部37は、エッジ抽出部36から入力されたエッジ抽出画像データに対して、2値化処理を行って、画素値「0」を有する白画素と、画素値「1」を有する黒画素とからなる2値画像データを出力する。2値化処理部37は、所定の閾値T1及びT2(T1>T2)を用いて、2種類の2値画像データを取得する。本実施例では、2値化処理部37により使用される閾値T1は、2値化処理後の2値画像データに、読取原稿の紙片端のエッジが十分に残るべく設定された値であり、閾値T2は、破断部に特徴的なエッジが十分に残るべく設定された値である。
ラベリング処理部38は、白画素及び黒画素からなる2値画像データの各黒画素に対して、ラベリング処理を行う。ラベリング処理部38は、隣接する黒画素を連結すべく、同一のラベル番号を付与する。このラベリング処理により、2値画像データに含まれる各黒画素は、ラベル番号毎に分類可能となる。同一のラベル番号が付与された複数の黒画素を、黒画素群と記すこととする。
最外ラベル判定部39は、ラベリング処理部38により付与されたラベル番号に基づき、各黒画素群の領域面積を、ラベルサイズとして算出し、それぞれのラベルサイズを比較する。そして、ラベルサイズが最大となる黒画素群を、該2値画像データの最外ラベルと判定する。ここで、最外ラベル判定部39は、各黒画素群を走査方向に平行に包囲する矩形の面積を、それぞれの黒画素群のラベルサイズとして算出し、これらを比較することにより、最外ラベルの判定を行う。
直線検出部40は、読取原稿の紙片端に対応する位置を認識するために、最外ラベルに含まれる各画素に対して、エッジ抽出処理を行う。直線検出部40は、最外ラベルに対応する画像データから、エッジ領域を黒画素として抽出する。また、直線検出部40は、読取原稿の辺部分、即ち、非直線形状の破断部を除く紙片端の位置を認識すべく、抽出された各黒画素からなる画像データに対して、直線検出処理を施す。本実施例では、直線検出部40は、例えばHough変換等、公知の直線検出アルゴリズムを用いて、直線検出処理を行う。
点群データ抽出部41は、読取原稿の破断部に対応する各画素の2次元座標値を、点群データとして抽出し、出力する。
点群データ記憶部42は、RAM21を含んで構成され、点群データ抽出部41から入力された点群データを記憶する。また、点群データ記憶部42は、記憶している点群データの出力を行う。点群データ記憶部42から出力された点群データは、位置合わせパラメータ算出部34に入力される。
図5は、位置合わせパラメータ算出部の機能構成を示すブロック図である。
位置合わせパラメータ算出部34は、図5に示されるように、注目点群抽出部43、対応点探索部44、推定値算出部45、評価部46及び位置合わせパラメータ記憶部47を有する。
位置合わせパラメータ算出部34は、図5に示されるように、注目点群抽出部43、対応点探索部44、推定値算出部45、評価部46及び位置合わせパラメータ記憶部47を有する。
注目点群抽出部43は、複数の点群データのうち、2つの点群データを一対として、該一対の点群データのそれぞれに対応する点群から、注目点を1点ずつ、ランダムに選択する。また、注目点群抽出部43は、これらの点群から、選択された各注目点の近傍点を、それぞれ同一数ずつ抽出する。注目点群抽出部43により抽出された注目点及び近傍点を、以下、注目点群と記す。即ち、注目点群抽出部43は、一対の点群から、それぞれの注目点群を抽出する。
対応点探索部44は、注目点群の対応づけを一対毎に行う。対応点探索部44は、一対の注目点群のうち、何れかの注目点群を基準注目点群とし、他方の注目点群を対注目点群とする。そして、対応点探索部44は、基準注目点群に含まれる各点を基準点として、これらの各基準点に対して、対注目点群に含まれる各点の何れかを対応点として設定すべく、対注目点群の探索を行う。対応点探索部44は、対注目点群に含まれる各点のうち、基準点からの距離が最小となる点を、該基準点の対応点として設定する。
推定値算出部45は、RAM21を含んで構成され、一対の注目点群に対して、位置合わせパラメータの推定値を算出して記憶する。推定値算出部45は、対応点探索部44による対応点の設定に基づいて、2次元の平行移動量及び回転移動量からなる推定値の算出を行う。本実施例では、推定値算出部45は、繰り返し型アルゴリズムにより、推定値の算出を行う。
評価部46は、推定値算出部45から入力された推定値を、所定の評価式に基づき評価すべく、評価値の算出を行う。そして、評価部46は、算出された評価値に基づいて、推定値の評価を行い、評価結果に基づいて、位置合わせパラメータ記憶部47を更新する。
位置合わせパラメータ記憶部47は、RAM21を含んで構成され、番号i(i=1,2,・・・,N−1)に対応して、i番目の位置合わせパラメータと、該位置合わせパラメータの評価値とを記憶する。ここで、Nは、後述する読取原稿数である。また、位置合わせパラメータ記憶部47は、記憶している位置合わせパラメータを、画像データ合成部35に入力する。
座標変換部48は、推定値算出部45から入力された位置合わせパラメータの推定値に基づいて、基準注目点群の座標変換を行い、基準注目点群を更新する。
図6は、画像データ合成部の機能構成を示すブロック図である。
画像データ合成部35は、図6に示されるように、座標変換部49、合成部50、合成画像データ記憶部51、サイズ取得部52、補正部53及び出力部54を有する。
画像データ合成部35は、図6に示されるように、座標変換部49、合成部50、合成画像データ記憶部51、サイズ取得部52、補正部53及び出力部54を有する。
座標変換部49は、位置合わせパラメータ算出部34から入力された位置合わせパラメータに基づいて、合成画像データ記憶部51から入力された合成画像データに対して、2次元座標変換を実施し、変換合成画像データを出力する。本実施例では、座標変換部49は、補間処理を用いた公知の方法により、座標変換処理を行う。
合成部50は、座標変換部49から入力された変換合成画像データと、画像データ記憶部32(図1)から入力された画像データとを合成して、合成画像データを生成し、合成画像データ記憶部51を更新する。また、合成部50は、サイズ取得部52にサイズ取得指示を行う。
合成画像データ記憶部51は、RAM21を含んで構成され、合成画像データを記憶する。また、合成画像データ記憶部51は、記憶している合成画像データを、座標変換部49やサイズ取得部52、補正部53に入力する。
サイズ取得部52は、合成画像データに基づき合成画像サイズを取得する機能を有し、図6に示されるように、エッジ抽出部55、2値化処理部56、ラベリング処理部57及び最外ラベル判定部58を有する。これら各部54〜57は、特徴量抽出部33(図4)が有するエッジ抽出部36、2値化処理部37、ラベリング処理部38及び最外ラベル判定部39と同様の機能を有する。
エッジ抽出部55は、合成画像データに、8方向ラプラシアンを用いて、エッジ抽出処理を施し、エッジ抽出画像データを出力する。
2値化処理部56は、エッジ抽出部55から入力されたエッジ抽出画像データに対して、2値化処理を行って、白画素及び黒画素からなる2値画像データを出力する。2値化処理部56は、読取原稿の紙片端のエッジが十分に残るべく設定された所定の閾値T1を用いて、2値画像データを取得する。
ラベリング処理部57は、RAM21を含んで構成され、白画素及び黒画素からなる2値画像データの各黒画素に対して、ラベリング処理を行う。
最外ラベル判定部58は、ラベリング処理部57により付与されたラベル番号に基づき、同一のラベル番号が付与された各黒画素群の領域面積を算出して比較する。そして、領域面積が最大となる黒画素群を、該2値画像データにおける最外ラベルと判定し、最外ラベルの領域面積を、合成画像サイズとして出力する。
補正部53は、サイズ取得部52から入力された合成画像サイズと、操作パネル部15(図3)により入力された出力画像サイズとに基づいて、合成画像データの補正を行う。補正部53は、原稿の合成画像が出力画像の中央に位置するように、合成画像データの出力位置を補正する。
出力部54は、補正部53から入力された合成画像データの出力を行う。
次に、本実施例のスキャナ10の動作について、図7に沿って、説明する。
図7は、本発明に係るスキャナの実施例1における読取合成動作を示すフローチャートである。
図7は、本発明に係るスキャナの実施例1における読取合成動作を示すフローチャートである。
ここでは、原稿が破れて複数枚の原稿破片となっている場合に、スキャナ10が各原稿破片の画像を読み取ってつなぎ合わせ、原稿の合成画像データを出力する読取合成処理について、説明を行う。
図8は、読取原稿の一例を示す図(その1)である。
原稿60は、破れて3枚の原稿破片60−1、60−2、60−3となっている。原稿破片60−1は、破断部60−1aを有する。同様に、原稿破片60−2は破断部60−2aを有し、原稿破片60−3は破断部60−3aを有する。スキャナ10は、これらの原稿破片60−1、60−2、60−3に対して、読取合成処理を実行する。
原稿60は、破れて3枚の原稿破片60−1、60−2、60−3となっている。原稿破片60−1は、破断部60−1aを有する。同様に、原稿破片60−2は破断部60−2aを有し、原稿破片60−3は破断部60−3aを有する。スキャナ10は、これらの原稿破片60−1、60−2、60−3に対して、読取合成処理を実行する。
読取合成処理の開始に先立ち、オペレータは、原稿破片60−1、60−2、60−3の何れかを、読取原稿として、載置台11上に載置する。各原稿破片60−1、60−2、60−3は、前後の各原稿破片の破断部が互いにつながり合うような順で、画像を読み取られることが望ましい。本実施例では、オペレータが、原稿破片60−1、原稿破片60−2、原稿破片60−3の順で、スキャナ10への読取原稿の載置を行うものとするが、本発明はこれに限定されない。異なる順で載置を行っても良い。
スキャナ10の表示パネル18には、各処理をオペレータに選択させるための処理選択画面が表示される。オペレータは、読取合成処理を選択すべく、操作ボタン16を操作する。また、オペレータは、操作ボタン16を操作して、出力画像サイズの指定を行う。操作パネル部15は、オペレータの操作に基づいて、読取合成指示及び出力画像サイズを入力する(ステップS101)。
その後、原稿破片60−1を載置台11上に載置させた状態で、オペレータは、開始ボタン17を押下する。
スキャナ10は、開始ボタン17の押下を検知する(ステップS102)と、画像データ入力部31が、1枚目の読取原稿である原稿破片60−1の画像を読み取って、画像データを入力する(ステップS103)。画像データ入力部31は、イメージセンサ14を走査して、載置台11上に載置された原稿破片60−1の画像を読み取って、画像データを入力する。
画像データ記憶部32は、入力された画像データを、RAM21に記憶する(ステップS104)。
続いて、表示パネル18が、読取原稿の読み取りを続行するか否かをオペレータに選択させるべく、続行選択画面を表示する。オペレータは、載置台カバー12を開けて、載置台11上から原稿破片60−1を取り除いた後、次の原稿破片60−2を載置して、載置台カバー12を閉じ、読取続行を選択すべく、操作ボタン16を操作する。操作パネル部15は、オペレータの操作に基づき、読取続行指示を入力する(ステップS105)。
読取続行指示が入力されると、画像データ入力部31は、2枚目の読取原稿である原稿破片60−2の画像を読み取って、画像データを入力する(ステップS103)。そして、画像データ記憶部32が、入力された画像データを記憶する(ステップS104)。
続いて、載置台11上に原稿破片60−3が載置され、操作パネル部15が読取続行指示を入力する(ステップS105)と、画像データ入力部31が、3枚目の読取原稿である原稿破片60−3の画像を読み取って、画像データを入力し(ステップS103)、画像データ記憶部32が、該画像データを記憶する(ステップS104)。
そして、表示パネル18に表示された続行選択画面において、読取終了が選択され、読取終了指示が入力される(ステップS105)と、画像データ記憶部32は、記憶した画像データの数を示す読取原稿数Nを記憶する(ステップS106)。ここでは、画像データ記憶部32は、読取原稿数として、N=3を記憶する。
次に、特徴量抽出部33が、画像データ記憶部32に記憶されている各画像データから、特徴量である点群データを抽出する(ステップS107)。特徴量抽出部33は、各画像データから点群データを抽出し、位置合わせパラメータ算出部34に入力する。特徴量抽出部33による特徴量抽出処理の詳細については、図9で説明する。
続いて、位置合わせパラメータ算出部34が、特徴量抽出部33から入力された点群データに基づいて、位置合わせパラメータを算出する(ステップS108)。位置合わせパラメータ算出部34は、算出した位置合わせパラメータを画像データ合成部35に入力する。位置合わせパラメータ算出部34による位置合わせパラメータ算出処理の詳細については、図14で説明する。
その後、画像データ合成部35が、位置合わせパラメータ算出部34から入力された位置合わせパラメータに基づいて、画像データ記憶部32に記憶されている各画像データを合成して、合成画像データを生成する(ステップS109)。画像データ合成部35による画像合成処理の詳細については、図18で説明する。
そして、画像データ合成部35は、生成した合成画像データを出力する(ステップS110)。即ち、出力部54(図6)が、I/F部25により、合成画像データを出力する。これにより、スキャナ10における読取合成処理が終了する。
上記のように、各原稿破片60−1、60−2、60−3の画像が順に読み取られ、それぞれの画像データが入力された後、これらが合成されて出力される。
次に、図7のステップS107における特徴量抽出処理の詳細について、図9に沿って説明する。
図9は、本発明に係るスキャナの特徴量抽出動作を示すフローチャートである。
図9は、本発明に係るスキャナの特徴量抽出動作を示すフローチャートである。
特徴量抽出部33は、図示せぬカウンタを初期化して、現在処理中の画像データの画像番号を示すカウンタ値iを、i=1とする(ステップS201)。
次に、エッジ抽出部36が、画像データ記憶部32から、画像番号i、即ちi番目の画像データを取得し、該画像データからエッジを抽出するエッジ抽出処理を行う(ステップS202)。本実施例のエッジ抽出部36は、8方向ラプラシアンを用いて、エッジ抽出処理を行う。以下に、エッジ抽出処理について説明する。
画像データ入力部31により入力され、画像データ記憶部32に記憶されている画像データを構成する各画素を、2次元座標(x,y)で表す。ここで、xはイメージセンサ14の主走査方向座標であり、yは副走査方向座標である。また、i番目の画像データに含まれる各画素(x,y)の輝度値を、Vi(x,y)と記し、輝度値Vi(x,y)の最大輝度値をVmaxと表す。例えば、1画素あたりのビット数が8である場合、最大輝度値はVmax=255である。
エッジ抽出部36は、i番目の画像データに、8方向ラプラシアンによりエッジ抽出処理を施し、エッジ抽出画像データを取得する。このとき、エッジ抽出後の画像データ、即ちエッジ抽出画像データに含まれる各画素(x,y)の輝度値Ei(x,y)は、(式1)で表される。
エッジ抽出部36は、取得したエッジ抽出画像データを、2値化処理部37に入力する(ステップS202)。
続いて、2値化処理部37が、入力されたエッジ抽出画像データに2値化処理を行う(ステップS203)。2値化処理部37は、所定の閾値T1及びT2をそれぞれ用いて、画像番号iに対応するエッジ抽出画像データの各輝度値Ei(x,y)に2値化処理を行い、(式2)及び(式3)で示されるように、2種類の2値画像データBIN1i(x,y)及びBIN2i(x,y)を取得する。
以下、閾値T1を用いて2値化された2値画像データBIN1i(x,y)を、2値画像データBIN1iと記し、閾値T2を用いて2値化された2値画像データBIN2i(x,y)を、2値画像データBIN2iと記すこととする。ただし、T1>T2である。2値化処理部37は、2値画像データBIN1iをラベリング処理部38に入力し、2値画像データBIN2iを直線検出部40に入力する(ステップS203)。
次に、ラベリング処理部38が、入力された2値画像データBIN1iに対して、ラベリング処理を行う(ステップS204)。ラベリング処理部38は、2値画像データBIN1iに含まれる各画素について、BIN1i(x,y)=1となる画素(x,y)を黒画素、BIN1i(x,y)=0となる画素(x,y)を白画素として扱い、隣接する黒画素を連結して、同一のラベル番号を付与するラベリング処理を実行する。以下に、ラベリング処理の詳細について、図10及び図11を用いて説明する。
図10は、本発明に係るスキャナのラベリング動作を示すフローチャートであり、図11は、ラベリング処理を説明する図である。
図11(a)、図11(b)及び図11(c)には、一例として、5画素×5画素の25画素からなる2値画像データが、拡大されて示されている。破線で区切られた各矩形はそれぞれ1画素に相当し、塗り潰しの無い画素は白画素を、塗り潰しの有る画素は黒画素を、それぞれ意味している。また、図11(a)、図11(b)及び図11(c)において、右方向がx方向に対応し、下方向がy方向に対応している。
ここでは、図11に例示される2値画像データをBIN1iとし、この2値画像データBIN1iに対するラベリング処理について、図10に沿って説明する。
ラベリング処理部38は、2値化処理部37から2値画像データBIN1iが入力されると、該2値画像データBIN1iの各黒画素に対しラベル番号を付与するために、まず、RAM21に、フラグ格納部、ラベル番号格納部及び探索候補スタックを作成する(ステップS301)。
RAM21に作成されるフラグ格納部は、2値画像データBIN1iに含まれる各画素に対応する探索状態フラグが格納される部分である。ここで、探索状態フラグとは、対応する画素が探索済であるか否かを示す情報である。初期状態として、フラグ格納部には、未探索を示す探索状態フラグが、全画素に対応して格納される。
ラベル番号格納部は、ラベル番号と、該ラベル番号が付与された黒画素を特定するための情報とを、対応して格納する部分である。本実施例では、ラベル番号格納部は、黒画素を特定するための情報として、該黒画素の2次元座標(x,y)をラベル番号格納部に格納する。
探索候補スタックは、探索すべき画素を探索候補画素として、該探索候補画素を特定するための情報が順に格納される部分である。本実施例では、探索候補スタックには、探索候補画素の2次元座標(x,y)が格納される。なお、スタックへの情報の格納を「プッシュ」と呼び、スタックからの情報の取り出しを「ポップ」と記す。探索候補スタックは、探索候補画素をプッシュされた順にポップする機能を有する。
フラグ格納部、ラベル番号格納部及び探索候補スタックの作成(ステップS301)後、ラベリング処理部38は、2値画像データBIN1iの走査を開始する。ラベリング処理部38は、フラグ格納部の探索状態フラグを参照して、未探索の画素を中央画素として、3画素×3画素の探索ウインドウを設定する(ステップS302)。ラベリング処理部38は、図11(a)に示されるように、2値画像データBIN1iに、中央画素61aを含む探索ウインドウ61−1を設定する。
次に、ラベリング処理部38は、設定した探索ウインドウの中央画素が黒画素であるか否かを判定する(ステップS303)。中央画素が黒画素ではない場合(ステップS303)、ラベリング処理部38は、フラグ格納部を更新して、該中央画素に対応する探索状態フラグを探索済に書き換えた後、次の探索ウインドウの設定を行う(ステップS302)。
図11(a)に示される2値画像データBIN1iでは、探索ウインドウ61−1の中央画素61aは黒画素である。このとき、ラベリング処理部38は、付与済のラベル番号に重複しないラベル番号、例えばjを、該中央画素61aに付与する(ステップS304)。そして、ラベリング処理部38は、ラベリング画素の2次元座標を、付与されたラベル番号jに対応させて、ラベル番号格納部に格納する。
次に、ラベリング処理部38は、探索ウインドウ61−1において、中央画素61aの上下左右斜めの8方向に位置する各隣接画素について、フラグ格納部の探索状態フラグを参照する。そして、ラベリング処理部38は、未探索の各隣接画素を探索し、黒画素であるか否かの判定を行う(ステップS305)。何れかの隣接画素が黒画素である場合(ステップS305)、ラベリング処理部38は、該黒画素に中央画素61aと同一のラベル番号jを付与すると共に、探索候補画素として、探索候補スタックにプッシュする(ステップS306)。また、ラベリング処理部38は、フラグ格納部を更新し、各隣接画素の探索状態フラグを、探索済に書き換える。
例えば、図11(a)に示される探索ウインドウ61−1において、ラベリング処理部38は、中央画素61aの各隣接画素のうち、2つの隣接画素が黒画素であると判定すると(ステップS305)、これらの隣接画素を探索候補画素として、中央画素と同一のラベル番号を各探索候補画素に付与する(ステップS306)。即ち、探索候補画素61b及び61c(図11(a))に、中央画素61aと同一のラベル番号jが付与される。また、ラベリング処理部38は、各探索候補画素61b及び61cの2次元座標を、付与したラベル番号jに対応して、ラベル番号格納部に格納する(ステップS306)。更に、ラベリング処理部38は、探索候補画素61b及び61cの2次元座標を、探索候補スタックに格納する(ステップS306)。
次に、ラベリング処理部38は、探索候補スタックにおける探索候補画素の有無を判断する(ステップS307)。探索候補画素が有る場合、ラベリング処理部38は、探索候補スタックから探索候補画素のひとつをポップする(ステップS308)。例えば、ラベリング処理部38は、探索候補画素61bを、探索候補スタックからポップする。
続いて、ラベリング処理部38は、ポップされた探索候補画素61bを中央画素として、探索ウインドウを再設定する(ステップS309)。図11(b)に示されるように、探索候補画素61bを中央画素とする探索ウインドウ61−2が、2値画像データBIN1iに設定される。
そして、ラベリング処理部38は、設定された探索ウインドウ61−2において、未探索の隣接画素を探索し、黒画素であるか否かの判定を行う(ステップS305)。図11(b)に示される探索ウインドウ61−2において、各隣接画素には、未探索の黒画素は無い。ラベリング処理部38は、フラグ格納部を更新し、各隣接画素の探索状態フラグを、探索済に書き換える。
続いて、ラベリング処理部38は、探索候補スタックにおける探索候補画素の有無を判断する(ステップS307)。探索候補スタックには、探索候補画素61cがスタックされているので、ラベリング処理部38は、この探索候補画素61cを探索候補スタックからポップする(ステップS308)。
そして、ラベリング処理部38は、ポップされた探索候補画素61cを中央画素として、探索ウインドウを再設定する(ステップS309)。図11(c)に示されるように、探索候補画素61cを中央画素とする探索ウインドウ61−3が、2値画像データBIN1iに設定される。
次に、ラベリング処理部38は、設定された探索ウインドウ61−3において、未探索の隣接画素を探索し、黒画素であるか否かの判定を行う(ステップS305)。図11(c)に示される探索ウインドウ61−3には、2つの未探索黒画素が有り、ラベリング処理部38は、これらの隣接画素を探索候補画素として、中央画素である探索候補画素61cと同一のラベル番号jを付与し、探索候補スタックにプッシュする(ステップS306)。
このように、ラベリング処理部38は、探索候補スタックから探索候補画素を順にポップし(ステップS308)、該探索候補画素を中央画素として探索ウインドウを設定した(ステップS309)後、該探索ウインドウから、中央画素に隣接する黒画素を検出して(ステップS305)、中央画素と同一のラベル番号jを付与し、探索候補スタックにプッシュする(ステップS306)という再帰的処理を、探索候補スタックが空になるまで繰り返す。
探索候補スタックが空になる(ステップS307)と、ラベリング処理部38は、フラグ格納部を参照して、未探索画素を探索する(ステップS310)。そして、未探索画素を中央画素として、探索ウインドウを設定し(ステップS302)、次のラベル番号、例えばラベル番号j+1の付与を開始する。未探索画素が無い場合(ステップS310)、ラベリング処理部38は、ラベリング処理を終了する。
上記のように、8方向に連結される各黒画素からなる黒画素群に、同一のラベル番号が付与される。
図9に戻って、2値画像データBIN1iに対するラベリング処理が実行され、全黒画素にラベル番号が付与される(ステップS204)と、最外ラベル判定部39が、各黒画素群のラベルサイズを算出する(ステップS205)。
最外ラベル判定部39は、ラベル番号格納部に、同一のラベル番号jに対応して格納されている各2次元座標(xj,yj)を参照し、x座標xj及びy座標yjのそれぞれについて、最大値及び最小値の差分値を算出する。そして、最外ラベル判定部39は、これらの差分値の積を、ラベルサイズとして算出する。例えば、ラベル番号jに対応するx座標の最大値及び最小値が、それぞれxjmax及びxjminであり、y座標の最大値及び最小値が、それぞれyjmax及びyjminである場合、最外ラベル判定部39は、ラベル番号jに対応するラベルサイズsjを、(式4)に基づき算出する(ステップS205)。
続いて、最外ラベル判定部39は、各ラベル番号jに対応して算出されたラベルサイズsjを、それぞれ比較する(ステップS206)。そして、ラベルサイズsjが最大となる黒画素群を、2値画像データBIN1iの最外ラベルと判定する(ステップS206)。最外ラベル判定部39は、判定結果を直線検出部40に出力する。
次に、直線検出部40が、2値化処理部37から入力された2値画像データBIN2iに基づき、最外ラベルに対して、2値画像データBIN1i及び2値画像データBIN2iのAND演算を行う。直線検出部40は、最外ラベルに含まれる各画素のうち、2値画像データBIN1i及び2値画像データBIN2iの何れにおいても黒画素となる画素を、黒画素として抽出する(ステップS207)。直線検出部40は、この抽出処理により、最外ラベルから、原稿破片の紙片端に特徴的なエッジを、黒画素群として抽出する。
続いて、直線検出部40は、抽出された黒画素群に対して、直線検出処理を行う(ステップS208)。直線検出部40は、例えばHough変換を施して、最外ラベルのエッジから、直線を検出する。
そして、点群データ抽出部41が、最外ラベルのエッジとして抽出された黒画素群からから、直線検出部40により検出された直線を構成する各黒画素を削除する。点群データ抽出部41は、削除後に残った各黒画素の2次元座標を、点群データとして抽出する(ステップS209)。抽出された点群データは、点群データ記憶部42に入力されて、カウンタ値iと共に記憶される(ステップS209)。
図12は、点群データの抽出例を示す図(その1)である。
図12に示される点群62−1は、原稿破片60−1(図8)に対応する画像データに、ステップS202〜ステップS209の各処理を施して得られた画像例である。原稿破片60−1の中央部の描画図形は情報として欠落し、紙片端の画像のうち、非直線形状を有する破断部60−1aの画像のみが抽出されている。
図12に示される点群62−1は、原稿破片60−1(図8)に対応する画像データに、ステップS202〜ステップS209の各処理を施して得られた画像例である。原稿破片60−1の中央部の描画図形は情報として欠落し、紙片端の画像のうち、非直線形状を有する破断部60−1aの画像のみが抽出されている。
特徴量抽出部33は、画像番号i=1に対応する原稿破片60−1の画像データから、紙片端のエッジを抽出した後、直線部分、即ち紙片端の辺部分を削除して、図12に示されるように、非直線形状の破断部60−1aに対応する点群62−1のみを取得し、この点群62−1の2次元座標(x,y)を、点群データとして抽出する。なお、点群に含まれる各画素を、以降、点と記すこととする。
次に、特徴量抽出部33は、カウンタ値iと、画像データ記憶部32に記憶されている読取原稿数Nとを比較する(ステップS210)。カウンタ値iが読取原稿数N未満である場合(ステップS210)、特徴量抽出部33は、カウンタ値iに1を加算する(ステップS211)。
そして、特徴量抽出部33は、更新されたカウンタ値iに対応する画像データを、画像データ記憶部32から取得して、該画像データに対して、ステップS202〜ステップS209の処理を実施する。
図13は、点群データの抽出例を示す図(その2)である。
図13に示される点群62−2は、画像番号i=2に対応する原稿破片60−2(図8)の画像データに、ステップS202〜ステップS209の各処理を施して得られた画像例であり、破断部60−2aに対応する点群62−2の画像である。
図13に示される点群62−2は、画像番号i=2に対応する原稿破片60−2(図8)の画像データに、ステップS202〜ステップS209の各処理を施して得られた画像例であり、破断部60−2aに対応する点群62−2の画像である。
ステップS210において、カウンタ値iが読取原稿数Nと等しい場合、特徴量抽出部33は、特徴量抽出処理を終了する。
上記のように、各原稿破片の画像データから、破断部の形状を示す特徴量として、点群データが抽出される。
次に、図7のステップS108における位置合わせパラメータ算出処理の詳細について、図14に沿って説明する。
図14は、本発明に係るスキャナの位置合わせパラメータ算出動作を示すフローチャートである。
図14は、本発明に係るスキャナの位置合わせパラメータ算出動作を示すフローチャートである。
位置合わせパラメータ算出部34は、図示せぬカウンタを初期化して、現在処理中の画像番号を示すカウンタ値iを、i=1とする(ステップS401)。
次に、位置合わせパラメータ算出部34は、特徴量抽出部33の点群データ記憶部42から、i番目の点群データと、i+1番目の点群データとを、それぞれ取得する(ステップS402)。
そして、位置合わせパラメータ算出部34は、取得した2つの点群データを1対として、i番目の点群データに対応する点群を、i+1番目の点群データに対応する点群に合わせ込むような位置合わせパラメータの算出処理、即ちパラメータ算出処理を実施する(ステップS403)。
各点群の位置合わせは、2次元剛体の座標変換である平行移動及び回転移動で表現される。ここで、i番目の点群をF、i+1番目の点群をGとし、点群Fを点群Gに合わせ込んで位置合わせしたときの位置合わせ後の点群Fを点群F´とすると、該点群F´に対応する点群データは、(式5)で表現される。ただし、点群Fのj番目の点に対応する2次元座標を(Fxj,Fyj)とし、位置合わせ後の該点の2次元座標を(F´xj,F´yj)と表すこととする。
(式5)において、パラメータθiは、点群Fを点群F´に移動させる場合の回転移動角度であり、回転移動量に相当する。また、パラメータtxiはx方向の平行移動量であり、パラメータtyiはy方向の平行移動量である。
位置合わせパラメータ算出部34は、これら3つのパラメータθi、txi及びtyiを、i番目の位置合わせパラメータとして算出する(ステップS403)。位置合わせパラメータ算出部34は、点群F´と点群Gとの距離が最も近くなるような位置合わせパラメータを算出する。このパラメータ算出処理の詳細については、図15で説明する。
i番目の位置合わせパラメータが算出されると、位置合わせパラメータ算出部34は、カウンタ値iと、画像データ記憶部32に記憶されている読取原稿数Nから1を減じた数値N−1とを比較する(ステップS404)。カウンタ値iがN−1未満である場合(ステップS404)、位置合わせパラメータ算出部34は、カウンタ値iに1を加算する(ステップS405)。
そして、位置合わせパラメータ算出部34は、更新されたカウンタ値iに基づき、i番目及びi+1番目の点群データを取得して(ステップS402)、パラメータ算出処理を実施し(ステップS403)、i番目の位置合わせパラメータを算出する。
ステップS404において、カウンタ値iが数値N−1と等しい場合、位置合わせパラメータ算出部34は、位置合わせパラメータ算出処理を終了する。
上記のように、N個の点群データを2つずつ1対として、N−1組の位置合わせパラメータ(θi,txi,tyi)(i=1,2,・・・,N−1)が算出される。
次に、図14のステップS403におけるパラメータ算出処理の詳細について、図15に沿って説明する。
図15は、本発明に係るスキャナのパラメータ算出動作を示すフローチャートである。
図15は、本発明に係るスキャナのパラメータ算出動作を示すフローチャートである。
位置合わせパラメータ算出部34は、上述したように、i番目の点群Fをi+1番目の点群Gに合わせ込むべく、i番目の位置合わせパラメータ(θi,txi,tyi)を算出する。本実施例では、位置合わせパラメータ算出部34は、繰り返し型アルゴリズムにより、位置合わせパラメータ(θi,txi,tyi)の算出を行う。
位置合わせパラメータ算出部34は、まず、繰り返し回数をカウントするための図示せぬカウンタを初期化して、カウンタ値kを、k=1とする(ステップS501)。
続いて、注目点群抽出部43が、点群Fから注目点をランダムに1点選ぶ(ステップS502)。ここでは、点群Fから選ばれた注目点を、oFと表す。また、注目点群抽出部43は、点群Gからも同様に、注目点をランダムに1点選ぶ(ステップS502)。点群Gから選ばれた注目点を、oGと表す。
次に、注目点群抽出部43は、点群Fから、注目点oFからの距離が小さい近傍点を抽出する(ステップS503)。ここで、2次元座標(x1,y1)を有する点1と、(x2,y2)を有する点2との距離dは、(式6)に基づき計算される。
注目点群抽出部43は、(式6)に基づいて、点群Fからの近傍点の抽出を行う。注目点群抽出部43により抽出される近傍点の点数は、MNear−1点である。ここで、MNearは、点群Fに含まれる点数MFと、点群Gに含まれる点数MGとの何れよりも小さい整数の中から、ランダムに決定される。注目点群抽出部43により抽出されたMNear−1点の近傍点は、抽出済の注目点oFと共に、新たな点群fを構成する。この点群fを、点群Fの注目点群と記す。注目点群fに含まれる点数は、MNearである。
同様に、注目点群抽出部43は、(式6)に基づいて、点群Gから、注目点oGからの距離が小さい近傍点を、MNear−1点抽出する(ステップS503)。抽出されたMNear−1点の近傍点と、抽出済の注目点oGとは、新たな点群gを構成する。この点群gを、点群Gの注目点群gと記す。注目点群gに含まれる点数は、MNearである。
そして、位置合わせパラメータ算出部34は、抽出された注目点群f及び注目点群gについて、i番目の位置合わせパラメータ(θi,txi,tyi)を算出するために、まず、該位置パラメータの推定値(θik,txik,tyik)を算出する推定値算出処理を実施する(ステップS504)。算出された推定値(θik,txik,tyik)は、評価部46に入力される。この推定値算出処理の詳細については、図16で説明する。
i番目の位置合わせパラメータ(θi,txi,tyi)の推定値(θik,txik,tyik)が入力されると、評価部46は、該推定値を評価すべく、まず、所定の評価式に基づき現在評価値を算出する評価値算出処理を実施する(ステップS505)。評価部46は、点群F及び点群Gを用いて、推定値(θik,txik,tyik)に対する現在評価値Jikを算出する。この評価値算出処理の詳細については、図17で説明する。
続いて、評価部46は、位置合わせパラメータ記憶部47に記憶されているi番目の評価値Jiを取得し、この評価値Jiと、ステップS505で算出された現在評価値Jikとを比較する(ステップS506)。ここで、位置合わせパラメータ記憶部47に記憶されている評価値Jiは、評価部46により(k−1)回算出された現在評価値のうち、最も良いと評価された評価値である。
評価部46は、現在評価値Jikが評価値Ji未満である場合(ステップS506)、推定値(θik,txik,tyik)に対して算出された現在評価値Jikが、記憶されている評価値Jiよりも良い、即ちi番目の位置合わせパラメータの推定値(θik,txik,tyik)が良いと判断する。そして、評価部46は、位置合わせパラメータ記憶部47を、(式7)に基づき更新する(ステップS507)。
評価部46は、推定値(θik,txik,tyik)をi番目の位置合わせパラメータ(θi,txi,tyi)として、位置合わせパラメータ記憶部47に入力して記憶させる(ステップS507)。また、評価部46は、評価値Jiを現在評価値Jikに更新する(ステップS507)。
なお、ステップS506において、カウンタ値k=1の場合、位置合わせパラメータ記憶部47には位置合わせパラメータ(θi,txi,tyi)及び評価値Jiが記憶されていない。このとき、評価部46は、(式7)に基づき位置合わせパラメータ記憶部47を更新する。即ち、評価部46は、推定値(θi1,txi1,tyi1)をi番目の位置合わせパラメータ(θi,txi,tyi)とすると共に、現在評価値Jikを評価値Jiとして、位置合わせパラメータ記憶部47に入力して記憶させる(ステップS507)。
次に、位置合わせパラメータ算出部34は、カウンタ値kと、予め定められた繰り返し回数の最大値MAXkとを比較する(ステップS508)。カウンタ値kが最大値MAXk未満である場合(ステップS508)、位置合わせパラメータ算出部34は、カウンタ値kに1を加算する(ステップS509)。
そして、位置合わせパラメータ算出部34は、ステップS502〜ステップS507の処理を繰り返す。
カウンタ値kが最大値MAXkと等しい場合、位置合わせパラメータ算出部34は、パラメータ算出処理を終了する。
上記のように、繰り返し型アルゴリズムにより、i番目の位置合わせパラメータ(θi,txi,tyi)の推定値が、予め定められたMAXk回繰り返して算出され、これらの推定値のうち、最も良いと評価された推定値が、i番目の位置合わせパラメータ(θi,txi,tyi)として、位置合わせパラメータ記憶部47に記憶される。
次に、図15のステップS504における推定値算出処理の詳細について、図16に沿って説明する。
図16は、本発明に係るスキャナの推定値算出動作を示すフローチャートである。
図16は、本発明に係るスキャナの推定値算出動作を示すフローチャートである。
位置合わせパラメータ算出部34は、繰り返し型アルゴリズムにより、i番目の点群Fから抽出された注目点群fと、i+1番目の点群Gから抽出された注目点群gとについて、i番目の位置合わせパラメータ(θi,txi,tyi)の推定値(θik,txik,tyik)を算出する。
位置合わせパラメータ算出部34において、対応点探索部44は、まず、繰り返し回数をカウントするための図示せぬカウンタを初期化して、カウンタ値jを、j=1とする(ステップS601)。
対応点探索部44は、i番目の注目点群fを基準注目点群とし、i+1番目の注目点群gを基準注目点群fに対する対注目点群として、基準注目点群f及び対注目点群gの対応づけを行う(ステップS602)。対応づけは、基準注目点群fに含まれる各点、即ち各基準点について行われ、対応点探索部44は、それぞれの基準点について、対注目点群gに含まれる全ての点から、最も距離が小さい点を対応点として選択する。対注目点群gについては、重複して対応づけられることを許すこととする。なお、対応点探索部44は、(式6)に基づいて、2点間の距離の算出を行い、対応点を選択する。
次に、推定値算出部45が、基準注目点群f及び対注目点群gの位置合わせパラメータ(θi,txi,tyi)の推定値(θik,txik,tyik)を算出すべく、j番目の推定値
を、以下のように算出する(ステップS603)。
j番目の推定値を位置合わせパラメータとして、基準注目点群fに含まれるm番目の基準点(fxm,fym)を座標変換して得られる点は、対注目点群gのm番目の対応点(gxm,gym)の推定値であり、(式8)で表される。ただし、m=1,2,・・・,MNearである。
この推定値が対注目点群gのm番目の対応点(gxm,gym)に一致すると仮定した場合、(式8)は(式9)に書き下すことができる。
更に、行列b,A及びxを導入して、(式9)を(式10)で表すこととする。
このとき、行列xは、(式11)に基づき導出できる。ただし、(式11)において、Tは行列の転置を表し、()−1は逆行列を表す。
次に、(式12)を満たすように、行列xを(式13)によりスケーリングし、更新する。
推定値算出部45は、このスケーリング後の行列xを、推定値(θik,txik,tyik)のj番目の推定値として算出する(ステップS603)。ただし、回転移動角度θikの推定値は、(式14)に基づき計算される。
推定値算出部45は、算出されたj番目の推定値を記憶する(ステップS604)。
次に、座標変換部48が、j番目の推定値を位置合わせパラメータとして、基準注目点群fの座標変換を行う(ステップS605)。座標変換部48は、基準注目点群fのm番目の基準点(fxm,fym)を、(式15)に基づき座標変換し、点(f´xm,f´ym)を得る。ただし、m=1,2,・・・,MNearである。
そして、座標変換部48は、(式16)で示されるように、基準注目点群fを、座標変換後の基準注目点群f´に更新する(ステップS605)。
次に、対応点探索部44は、カウンタ値jと、予め定められた繰り返し回数の最大値MAXjとを比較する(ステップS606)。カウンタ値jが最大値MAXj未満である場合(ステップS606)、対応点探索部44は、カウンタ値jに1を加算する(ステップS607)。
そして、対応点探索部44及び推定値算出部45は、更新された基準注目点群fと、対注目点群gとに対して、ステップS602〜ステップS605の処理を繰り返す。
カウンタ値jが最大値MAXjと等しい場合、推定値算出部45が、j=1〜MAXj番目の各推定値を連結して、i番目の位置合わせパラメータの推定値(θik,txik,tyik)を算出する(ステップS608)。推定値算出部45による推定値の連結は、以下の手順で行われる。
推定値算出部45は、j=1から、jを1ずつカウントアップして、j=MAXj−1まで、推定値を順次連結し、最終的に得られた推定値
を、i番目の位置合わせパラメータ(θi,txi,tyi)の推定値(θik,txik,tyik)として取得する。ただし、推定値算出部45は、カウントアップ前に、j+1番目の推定値を(式18)に基づき更新することとする。
推定値算出部45は、取得された推定値(θik,txik,tyik)を出力する。これにより、推定値算出処理は終了する。
上記のように、繰り返し型アルゴリズムにより、i番目の位置合わせパラメータ(θi,txi,tyi)の推定値が、予め定められたMAXj回繰り返して算出され、これらを連結して、推定値(θik,txik,tyik)が取得される。
次に、図15のステップS505における評価値算出処理の詳細について、図17に沿って説明する。
図17は、本発明に係るスキャナの評価値算出動作を示すフローチャートである。
図17は、本発明に係るスキャナの評価値算出動作を示すフローチャートである。
評価部46は、i番目の位置合わせパラメータ(θi,txi,tyi)の推定値(θik,txik,tyik)を評価するために、i番目の点群F及びi+1番目の点群Gを用いて、現在評価値Jikを算出する。ここで、点群Fは、画像番号iの読取原稿の破断部に対応する点群であり、点群Gは、画像番号i+1の読取原稿の破断部に対応する点群である。
まず、評価部46は、推定値算出部45から入力された推定値(θik,txik,tyik)を位置合わせパラメータとして、点群Fを点群F´に座標変換する(ステップS701)。点群Fのm番目の点に対応する2次元座標を(Fxm,Fym)とし、座標変換後の点に対応する2次元座標を(F´xm,F´ym)とすると、点群Fのm番目の点は、(式19)に基づき座標変換される。ただし、m=1,2,・・・,MFである。
次に、評価部46は、点群F´及び点群Gについての対応づけを行う(ステップS702)。対応づけは、点群F´の全ての点について行われ、評価部46は、点群F´の各点について、点群Gに含まれる全ての点から、最も距離が小さい点を対応点として選択する。点群Gについては、重複して対応づけられることを許すこととする。
また、評価部46は、対応点間の距離を算出する(ステップS702)。評価部46は、点群F´のm番目の点(F´xm,F´ym)と、点群Gの対応点(Gxm,Gym)との間の距離dmを、(式20)に基づき算出する。ただし、m=1,2,・・・,MFである。
次に、評価部46は、m=1,2,・・・,MFに対応して算出された各距離dmと、予め定められた閾値εとをそれぞれ比較し、条件式dm<εを満たす対応点の組を求め、組数Mεを取得する(ステップS703)。また、評価部46は、条件式dm<εを満たす対応点の組について、距離dmの総和Eεを算出する(ステップS703)。
そして、評価部46は、組数Mε及び距離dmを、(式21)の評価式に代入して、現在評価値Jikを算出する(ステップS704)。これにより、評価値算出処理は終了する。
ここで、パラメータwM及びwEは、それぞれ、対応点の組数Mεと、対応点間の距離dmとの何れを重視して、推定値の評価を行うかを制御するための重みパラメータであり、予め所定値が設定される。
上記のように、i番目の位置合わせパラメータ(θi,txi,tyi)の推定値(θik,txik,tyik)を評価するための現在評価値Jikが、所定の評価式に基づき算出される。
次に、図7のステップS109における画像合成処理の詳細について、図18に沿って説明する。
図18は、本発明に係るスキャナの画像合成動作を示すフローチャートである。
図18は、本発明に係るスキャナの画像合成動作を示すフローチャートである。
画像データ合成部35において、合成部50は、画像データ記憶部32に記憶されている画像番号i=1、即ちi番目の画像データを取得して、該画像データを合成画像データとして、合成画像データ記憶部51に記憶する(ステップS801)。
次に、合成部50は、図示せぬカウンタを初期化して、現在処理中の画像データの画像番号を示すカウンタ値iを、i=1とする(ステップS802)。
続いて、座標変換部49が、位置合わせパラメータ算出部34の位置合わせパラメータ記憶部47から、i番目の位置合わせパラメータ(θi,txi,tyi)を取得し、この位置合わせパラメータを用いて、合成画像データの2次元座標変換を行い、変換合成画像データを出力する(ステップS803)。本実施例では、座標変換部49は、補間処理を用いて、画像データの2次元座標変換を行う。
次に、合成部50は、画像データ記憶部32からi+1番目の画像データを取得する。そして、合成部50は、該画像データと、座標変換部49から入力された変換合成画像データとを合成し、合成画像データを生成する(ステップS804)。合成部50は、合成する2つの画像データの互いに重なり合う画素については平均処理を行い、合成画像データを平均値に置き換える。また、重なり合わない画素については、そのままの値とする。合成部50は、生成した合成画像データを合成画像データ記憶部51に入力して、合成画像データ記憶部51を更新する(ステップS804)。
続いて、合成部50は、カウンタ値iと画像データ記憶部32に記憶されている読取原稿数Nから1を減じた数値N−1とを比較する(ステップS805)。カウンタ値iがN−1未満である場合(ステップS805)、合成部50は、カウンタ値iに1を加算する(ステップS806)。
そして、画像データ合成部35は、更新されたカウンタ値iに基づき、ステップS803及びステップS804の処理を実施し、合成画像データ記憶部51を更新する。
ステップS805において、カウンタ値iが数値N−1と等しい場合、合成部50は、サイズ取得部52にサイズ取得指示を行う。
サイズ取得部52は、合成部50からのサイズ取得指示に基づいて、合成画像データの画像サイズを、合成画像サイズとして取得する(ステップS807)。サイズ取得部52は、合成画像データに対して、図9のステップS202からステップS205と同様の処理を施して、合成画像の形状を最外ラベルとして認識し、この最外ラベルに基づき、幅サイズ及び高さサイズからなる合成画像サイズを取得して、出力する。
続いて、補正部53が、サイズ取得部52から入力された合成画像サイズと、操作パネル部15から入力された出力画像サイズとに基づいて、合成画像データの補正を行う(ステップS808)。補正部53は、合成画像が出力画像の上下左右の中央に位置するように、合成画像データの補正を行い、補正された合成画像データを、出力部54に入力する。これにより、画像データ合成部35による画像合成処理が終了する。
上記のように、位置合わせパラメータ算出部34から入力された位置合わせパラメータ(θi,txi,tyi)(i=1,2)に基づいて、各原稿破片60−1、60−2、60−3から取得された画像データが合成され、原稿60の合成画像データが生成される。
以上のように、本実施例のスキャナは、各原稿破片の形状自体を特徴として認識すると共に、高い一致度が得られる特徴のみを使用して位置合わせパラメータを算出するので、原稿破片の破断部が無地のように特徴のない場合や、原稿破片の辺の数が4つではない場合、また、破断部を辺として認識することが困難な場合や、対向する破断部が不揃いな場合等にも、確実に各原稿破片がつながり合うように位置合わせして、画像データを合成して出力可能となる。
図19は、本発明の実施例2に係るスキャナの機能構成を示すブロック図である。
本実施例のスキャナ70は、画像データ分割部73が追加される構成が、実施例1と異なる。
なお、本実施例において、実施例1と同一の構成については同一の符号で示し、これらについての詳しい説明を省略する。
本実施例のスキャナ70は、画像データ分割部73が追加される構成が、実施例1と異なる。
なお、本実施例において、実施例1と同一の構成については同一の符号で示し、これらについての詳しい説明を省略する。
本実施例のスキャナ70の要部構成は、図2及び図3に示される実施例1のスキャナ10と同様であるので、説明を省略する。
スキャナ70は、図19に示されるように、画像データ入力部71、画像データ記憶部72、画像データ分割部73、特徴量抽出部33、位置合わせパラメータ算出部34及び画像データ合成部35を含んで構成される。
画像データ入力部71は、イメージセンサ14により取得された画像データを、画像データ記憶部72に入力する。
画像データ記憶部72は、RAM21を含んで構成され、画像データ入力部71や画像データ分割部73から入力された画像データを記憶する。画像データ記憶部72は、記憶している画像データを、特徴量抽出部33や画像データ合成部35、画像データ分割部73に入力する。
画像データ分割部73は、分割部としての機能を有し、画像データ記憶部72から入力された画像データを、読取原稿毎に分割して、分割後の画像データを画像データ記憶部72に入力する。
この画像データ分割部73は、特徴量抽出部33、位置合わせパラメータ算出部34及び画像データ合成部35と同様に、プログラムROM22に格納された制御プログラムがRAM21に一時的に読み込まれ、CPU20により実行されて実現されるソフトウェア処理部である。
次に、画像データ分割部73の詳細な機能構成について、説明する。
次に、画像データ分割部73の詳細な機能構成について、説明する。
図20は、画像データ分割部の機能構成を示すブロック図である。
画像データ分割部73は、図20に示されるように、エッジ抽出部74、2値化処理部75、ラベリング処理部76、最外ラベル判定部77、分割部78及び更新部79を有する。
画像データ分割部73は、図20に示されるように、エッジ抽出部74、2値化処理部75、ラベリング処理部76、最外ラベル判定部77、分割部78及び更新部79を有する。
上記した各部74〜79のうち、エッジ抽出部74、2値化処理部75、ラベリング処理部76及び最外ラベル判定部77は、特徴量抽出部33(図4)が有するエッジ抽出部36、2値化処理部37、ラベリング処理部38及び最外ラベル判定部39と同様の機能を有する。
エッジ抽出部74は、8方向ラプラシアンを用いて、画像データにエッジ抽出処理を施し、エッジ抽出画像データを取得する。
2値化処理部75は、エッジ抽出部74から入力されたエッジ抽出画像データに対して、2値化処理を行って、白画素及び黒画素からなる2値画像データを出力する。2値化処理部56は、特徴量抽出部33の2値化処理部37と同一の閾値T1を用いて、2値画像データを取得する。
ラベリング処理部76は、RAM21を含んで構成され、2値画像データの各黒画素に対して、ラベリング処理を行う。
最外ラベル判定部77は、ラベリング処理部76により付与されたラベル番号に基づき、同一のラベル番号が付与された各黒画素群の領域面積を、ラベルサイズとして算出し、比較する。そして、ラベルサイズが最大となる黒画素群を、該2値画像データにおける第1最外ラベルと判定する。また、第1最外ラベルを除く各黒画素群から、次にラベルサイズが最大となる黒画素群を選択して、該黒画素群を第2最外ラベルと判定する。
分割部78は、画像データを2つに分割して、分割画像データとしての各画像データを生成する。分割部78は、第1最外ラベル及び第2最外ラベルに基づいて、画像データの分割を行う。
更新部79は、分割部78から入力された画像データに基づいて、画像データ記憶部72を更新する。
次に、本実施例のスキャナ70の動作について、図21に沿って、説明する。
図21は、本発明に係るスキャナの実施例2における読取合成動作を示すフローチャートである。
図21は、本発明に係るスキャナの実施例2における読取合成動作を示すフローチャートである。
ここでは、図22に示される読取原稿に対する読取合成処理について、説明を行う。
図22は、読取原稿の一例を示す図(その2)である。
原稿80は、破れて4枚の原稿破片80−1、80−2、80−3、80−4となっている。スキャナ70は、これらの原稿破片80−1、80−2、80−3、80−4に対して、読取合成処理を実行する。
図22は、読取原稿の一例を示す図(その2)である。
原稿80は、破れて4枚の原稿破片80−1、80−2、80−3、80−4となっている。スキャナ70は、これらの原稿破片80−1、80−2、80−3、80−4に対して、読取合成処理を実行する。
読取合成処理の開始に先立ち、オペレータは、原稿破片80−1、80−2、80−3、80−4をそれぞれ読取原稿として、スキャナ70の載置台11上に載置する。原稿破片80−1、80−2、80−3、80−4は、前後の各原稿破片の破断部が互いにつながり合うような順で、画像を読み取られることが望ましい。本実施例では、オペレータが、原稿破片80−1、原稿破片80−2、原稿破片80−3、原稿破片80−4の順で、スキャナ70への載置を行うものとするが、本発明はこれに限定されない。異なる順で載置を行っても良い。
また、本実施例では、各原稿破片80−1、80−2、80−3、80−4は、2枚ずつ載置台11上に載置される。
図23は、読取原稿の載置例を示す図(その1)である。
図23は、読取原稿の載置例を示す図(その1)である。
スキャナ70の載置台11上には、図23に示されるように、2枚の原稿破片80−1、80−2が、読取原稿として載置される。図23において、載置台11の左側11aには、1番目の読取原稿となる原稿破片80−1が載置され、載置台11の右側11bには、2番目の読取原稿となる原稿破片80−2が載置されている。本実施例では、各読取原稿は、読取順が前のものが載置台11の左側11aに、読取順が後のものが右側11bに、それぞれ載置されるものとする。ここで、載置台11の左右方向は主走査方向に対応し、イメージセンサ14は、ライン毎に、左側11aから右側11bの順で、画像の読取を行う。
なお、図23において、載置台11の中央には、説明のために破線が示されているが、本実施例は、2枚の原稿破片の載置位置を、この破線により限定するものではない。各原稿破片は、相対的に左側及び右側に分かれていれば良い。
オペレータは、スキャナ70の操作ボタン16を操作して、読取合成処理の選択及び出力画像サイズに指定を行う。操作パネル部15は、オペレータの操作に基づいて、読取合成指示及び出力画像サイズを入力する(ステップS101)。
その後、原稿破片80−1及び原稿破片80−2を載置台11上に載置させた状態で、オペレータは、開始ボタン17を押下する。
スキャナ70は、開始ボタン17の押下を検知する(ステップS102)と、画像データ入力部71が、読取原稿である原稿破片80−1及び原稿破片80−2を含む画像を読み取って、画像データを入力する(ステップS901)。画像データ入力部71は、イメージセンサ14を走査して、載置台11上の読取面の画像を、左側11aから右側11bの順で読み取って、1つの画像データを入力する。
画像データ記憶部72は、入力された画像データをRAM21に記憶する(ステップS104)。
続いて、表示パネル18が、続行選択画面を表示する。オペレータは、載置台カバー12を開けて、載置台11上から各原稿破片80−1、80−2を取り除いた後、次の2枚の原稿破片80−3、80−4を載置する。
図24は、読取原稿の載置例を示す図(その2)である。
載置台11上には、図23に示されるように、左側11aに3番目の読取原稿となる原稿破片80−3が載置され、右側11bに4番目の読取原稿となる原稿破片80−4が載置される。
載置台11上には、図23に示されるように、左側11aに3番目の読取原稿となる原稿破片80−3が載置され、右側11bに4番目の読取原稿となる原稿破片80−4が載置される。
オペレータは、原稿破片80−3、80−4を載置した後、載置台カバー12を閉じて、読取続行を選択すべく、操作ボタン16を操作する。操作パネル部15は、この操作に基づき、読取続行指示を入力する(ステップS105)。
読取続行指示が入力されると、画像データ入力部71は、読取原稿である原稿破片80−3及び原稿破片80−4を含む画像を読み取って、画像データを入力する(ステップS901)。そして、画像データ記憶部72が、入力された画像データを記憶する(ステップS104)。
そして、表示パネル18に表示された続行選択画面において、読取終了が選択され、読取終了指示が入力される(ステップS105)と、画像データ記憶部72が、記憶した画像データの数nを、画像データ数として記憶する(ステップS902)。ここでは、画像データ記憶部72は、画像データ数として、n=2を記憶する。
次に、画像データ分割部73が、画像データ記憶部72に記憶された各画像データを読取原稿毎に分割する画像分割処理を実施する(ステップS903)。以下に、画像分割処理の詳細について、図25及び図26を用いて説明する。
図25は、本発明に係るスキャナの画像分割動作を示すフローチャート(その1)であり、図26は、本発明に係るスキャナの画像分割動作を示すフローチャート(その2)である。
画像データ分割部73は、図示せぬカウンタを初期化して、現在処理中の画像データの画像番号を示すカウンタ値iを、i=1とする(ステップS1001)。
次に、エッジ抽出部74が、画像データ記憶部72からi番目の画像データを取得して、該画像データにエッジ抽出処理を行い、エッジ抽出画像データを取得する(ステップS1002)。エッジ抽出部74によるエッジ抽出処理は、実施例1のエッジ抽出部36によるエッジ抽出処理(図9ステップS202)と同様であるので、説明を省略する。
続いて、2値化処理部75が、エッジ抽出画像データに2値化処理を施し、2値画像データを取得する(ステップS1003)。2値化処理部75は、読取原稿の紙片端のエッジが十分に残るべく設定された閾値T1を用いて、(式2)に基づき、エッジ抽出画像データを2値化する。
次に、ラベリング処理部76が、2値画像データに対して、隣接する各黒画素に同一のラベル番号を付与するラベリング処理を行う(ステップS1004)。ラベリング処理の詳細については、実施例1のラベリング処理部38によるラベリング処理(図10)と同様であるので、説明を省略する。
続いて、最外ラベル判定部77が、同一のラベル番号が付与された黒画素からなる各黒画素群のラベルサイズを、それぞれ算出する(ステップS1005)。最外ラベル判定部77は、(式4)に示されるように、同一ラベル番号を有する黒画素群のx、y方向の最大値と最小値との差分の積に基づき、ラベルサイズを算出する。
そして、最外ラベル判定部77は、各ラベル番号に対応して算出されたラベルサイズを比較し、ラベルサイズが最大となる黒画素群を第1最外ラベルと判定する(ステップS1006)。また、最外ラベル判定部77は、ラベルサイズが2番目に大きい黒画素群を第2最外ラベルと判定する(ステップS1006)。
ここで、最外ラベル判定部77は、カウンタ値iが画像データ記憶部72に記憶されている画像データ数nに等しいか否かを判断する(ステップS1007)。カウンタ値iが画像データ数n未満である場合、現在処理中の画像データには、2枚の読取原稿に対応する各画像データが含まれる。したがって、最外ラベル判定部77は、分割部78に画像データの分割指示を行う。
分割部78は、分割指示に基づき、i番目の画像データを分割する(ステップS1008)。分割部78は、一方の画像データが第1最外ラベルを含み、他方の画像データが第2最外ラベルを含むように、画像データの分割を行う。
続いて、分割部78は、分割して得られた各画像データに、画像番号を付与する(ステップS1009)。分割部78は、各画像データに含まれるx座標の最小値をラベル座標として取得し、これらのラベル座標の大小を比較する。そして、分割部78は、ラベル座標が小さい方の画像データを、載置台11の左側11aに載置された読取原稿であると判断し、画像番号2i−1を付与する。また、他方の画像データを、載置台11の右側11bに載置された読取原稿であると判断し、画像番号2iを付与する。
そして、画像データ分割部73は、カウンタ値iに1を加算する(ステップS1010)。
続いて、画像データ分割部73は、更新されたカウンタ値iに対応する画像データを、画像データ記憶部72から取得して、該画像データに対して、ステップS1002〜ステップS1006の処理を実施する。
ステップS1007において、カウンタ値iが画像データ数nに等しいと判断された場合、現在処理中の画像データは最終読取時の画像データであり、1枚の読取原稿に対応する画像データしか含まれない可能性もある。そこで、最外ラベル判定部77は、分割部78への分割指示に先立ち、第2最外ラベルのラベルサイズ、即ち第2最外ラベルサイズs2を、所定のサイズ閾値sthと比較する(ステップS1011)。
第2最外ラベルサイズs2がサイズ閾値sth以上である場合(ステップS1011)、最外ラベル判定部77は、該画像データが2枚の読取原稿の画像データを含むと判断し、分割部78への分割指示を行う。図22に示される原稿80の場合、n=2に対応する画像データには、原稿破片80−3及び原稿破片80−4に対応する画像データが含まれるので、第2最外ラベルサイズs2がサイズ閾値sth以上となり、最外ラベル判定部77は、分割部78への分割指示を行うこととなる。
分割部78は、最外ラベル判定部77からの分割指示に基づき、i=n番目の画像データを分割し(ステップS1012)、分割して得られた各画像データに、画像番号2n−1、2nをそれぞれ付与する(ステップS1013)。各画像データへの画像番号の付与については、ステップS1009と同様であるので、説明を省略する。
ステップS1011において、第2最外ラベルサイズs2がサイズ閾値sth未満である場合、最外ラベル判定部77は、該画像データが1枚の読取原稿に対応すると判断し、第2最外ラベルについてのデータを破棄する(ステップS1014)。そして、分割部78が、i=n番目の画像データを分割することなく、該画像データに画像番号2n−1を付与する(ステップS1015)。
i=n番目の画像データに対する処理が完了する(ステップS1013、ステップS1015)と、更新部79が、各画像データを出力し、画像データ記憶部72を更新する(ステップS1016)。ここでは、画像データ記憶部72には、画像番号i=1〜4に対応する画像データが記憶される。
また、更新部79は、出力した画像データの数に基づいて、読取原稿数Nを取得して出力し、画像データ記憶部72が、入力された読取原稿数Nを記憶する(ステップS1017)。画像データ記憶部72には、読取原稿数N=4が記憶される。これにより、画像データ分割部73による画像分割処理が終了する。
上記のように、画像データ記憶部72に記憶されている各画像データが、読取原稿毎に分割される。
図21に戻って、画像分割処理が終了し、i=1〜Nに対応する画像データと、読取原稿数Nとが、画像データ記憶部72に記憶される(ステップS903)と、特徴量抽出部33が、画像データ記憶部72に記憶されている各画像データから、特徴量である点群データを抽出する(ステップS107)。特徴量抽出部33による特徴量抽出処理は、実施例1(図9)と同一であるので、説明を省略する。
続いて、位置合わせパラメータ算出部34が、特徴量抽出部33から入力された点群データに基づいて、位置合わせパラメータを算出する(ステップS108)。位置合わせパラメータ算出部34による位置合わせパラメータ算出処理は、実施例1(図14)と同一であるので、説明を省略する。
その後、画像データ合成部35が、位置合わせパラメータ算出部34から入力された位置合わせパラメータに基づいて、画像データ記憶部72に記憶されている各画像データを合成して、合成画像データを生成する(ステップS109)。画像データ合成部35による画像合成処理は、実施例1(図18)と同一であるの、説明を省略する。
そして、画像データ合成部35は、生成した合成画像データを出力する(ステップS110)。これにより、スキャナ70における読取合成処理が終了する。
上記のように、各原稿破片80−1、80−2、80−3、80−4を2枚ずつ読み取って入力された画像データが、読取原稿毎に分割された後、合成されて、原稿80の合成画像データが出力される。
以上のように、本実施例のスキャナは、入力された画像データを読取原稿毎に分割できるので、複数の原稿破片を同時に読み取って、原稿全体の画像データを取得可能となる。したがって、実施例1の効果に加えて、更に、読取処理の手間を軽減可能となり、利便性が向上される。
上記した各実施例では、本発明をスキャナに適用した場合を例に説明を行ったが、本発明はこれに限定されない。例えば、画像処理装置として、複写機やFAX、スキャナ部及びプリンタ部を備える複合機等にも適用可能である。
10,70 スキャナ
31,71 画像データ入力部
32,72 画像データ記憶部
33 特徴量抽出部
34 位置合わせパラメータ算出部
35 画像データ合成部
73 画像データ分割部
31,71 画像データ入力部
32,72 画像データ記憶部
33 特徴量抽出部
34 位置合わせパラメータ算出部
35 画像データ合成部
73 画像データ分割部
Claims (17)
- 複数の原稿破片の画像を読み取って、それぞれの画像データを入力する画像データ入力部を備え、各前記画像データを合成して出力するための画像処理装置であって、
入力された各前記画像データから、それぞれの前記原稿破片の形状を示す特徴量を抽出する特徴量抽出部と、
抽出された各前記特徴量に基づき、各前記画像データを位置合わせするための位置合わせパラメータを算出する算出部と、
算出された前記位置合わせパラメータに基づいて、各前記画像データを合成し、合成画像データを出力する合成出力部と、
を備えることを特徴とする画像処理装置。 - 前記画像データ入力部により入力された各前記画像データを記憶する画像データ記憶部を更に備え、
前記特徴量抽出部は、前記画像データ記憶部に記憶された各前記画像データから、前記特徴量の抽出を行い、
前記合成出力部は、前記画像データ記憶部に記憶された各前記画像データを合成し、前記合成画像データを出力する
ことを特徴とする請求項1記載の画像処理装置。 - 前記特徴量抽出部は、各前記画像データの2値化処理を行って、それぞれの2値化データを取得する2値化処理部と、取得された各前記2値化データに基づいて、それぞれの前記特徴量を2次元点群データとして抽出する点群データ抽出部と、を有し、
前記算出部は、抽出された各前記2次元点群データに基づいて、前記位置合わせパラメータの算出を行う
ことを特徴とする請求項1記載の画像処理装置。 - 前記特徴量抽出部は、各前記2値化データから直線データを検出する直線検出部を更に有し、前記点群データ抽出部は、該直線検出部による検出結果に基づいて、各前記2次元点群データの抽出を行うことを特徴とする請求項3記載の画像処理装置。
- 前記直線検出部は、Hough変換により前記直線データの検出を行うことを特徴とする請求項4記載の画像処理装置。
- 前記特徴量抽出部は、各前記画像データにエッジ抽出処理を行うエッジ抽出部を更に有し、前記2値化処理部は、エッジ抽出処理が施された各前記画像データに2値化処理を行うことを特徴とする請求項3記載の画像処理装置。
- 前記エッジ抽出部は、空間フィルタリングにより前記エッジ抽出処理を行うことを特徴とする請求項6記載の画像処理装置。
- 前記エッジ抽出部は、ラプラシアンフィルタにより前記空間フィルタリングを行うことを特徴とする請求項7記載の画像処理装置。
- 前記算出部は、各前記2次元点群データのうち、2つの前記2次元点群データを一対とし、各前記2次元点群データ間の距離が最小となるべく、一対毎に前記位置合わせパラメータの算出を行うことを特徴とする請求項3記載の画像処理装置。
- 前記算出部は、前記一対の2次元点群データの平行移動量及び回転移動量を、該一対の2次元点群データに対応する前記位置合わせパラメータとして算出することを特徴とする請求項9記載の画像処理装置。
- 前記特徴量抽出部は、各前記画像データの2値化処理を行って、それぞれの2値化データを取得する2値化処理部と、取得された各前記2値化データに基づいて、それぞれの前記特徴量を2次元点群データとして抽出する点群データ抽出部と、を有し、
前記算出部は、抽出された各前記2次元点群データのうち、2つの前記2次元点群データを一対とし、各前記2次元点群データ間の距離が最小となるべく、一対毎に前記位置合わせパラメータの算出を行い、
前記合成出力部は、算出された各前記位置合わせパラメータに基づいて、対応する前記画像データの位置合わせを行って、前記合成画像データを生成する
ことを特徴とする請求項1記載の画像処理装置。 - 前記算出部は、前記一対の2次元点群データの平行移動量及び回転移動量を、該一対の2次元点群データに対応する前記位置合わせパラメータとして算出し、
前記合成出力部は、算出された前記平行移動量及び前記回転移動量に基づき、対応する前記画像データを座標変換する座標変換部を有し、座標変換された各前記画像データの平均演算を行って、前記合成画像データの生成を行う
ことを特徴とする請求項11記載の画像処理装置。 - 前記座標変換部は、補間処理により前記座標変換を行うことを特徴とする請求項12記載の画像処理装置。
- 出力画像サイズを入力する画像サイズ入力部を更に備え、
前記合成出力部は、前記合成画像データの合成画像サイズを取得するサイズ取得部と、入力された前記出力画像サイズ及び取得された前記合成画像サイズに基づいて、前記合成画像データの出力位置の補正を行う補正部と、補正された前記合成画像データを出力する出力部と、を有する
ことを特徴とする請求項1記載の画像処理装置。 - 各画像データを分割するための分割部を更に備え、
前記特徴量抽出部は、前記画像データ入力部により入力された各画像データから、少なくとも一つの原稿破片の特徴量を抽出し、
前記分割部は、抽出された前記特徴量に基づいて、前記画像データを前記原稿破片毎に分割して、分割画像データを生成し、
前記特徴量抽出部は、更に、各前記分割画像データから、それぞれの特徴量を抽出し、
前記算出部は、該特徴量に基づき、各前記分割画像データを位置合わせするための位置合わせパラメータを算出し、
前記合成出力部は、該位置合わせパラメータに基づいて、各前記分割画像データを合成して、合成画像データを出力する
ことを特徴とする請求項1記載の画像処理装置。 - 前記分割部は、前記特徴量に基づいて、前記原稿破片を含む領域のサイズを検出し、該サイズが所定サイズ以上となる場合、前記分割を行うことを特徴とする請求項15記載の画像処理装置。
- 各前記分割画像データを記憶する画像データ記憶部を更に備え、
前記特徴量抽出部は、前記画像データ記憶部に記憶された各前記分割画像データから、前記特徴量の抽出を行い、
前記合成出力部は、前記画像データ記憶部に記憶された各前記画像データを合成し、前記合成画像データを出力する
ことを特徴とする請求項15記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009093202A JP2010245885A (ja) | 2009-04-07 | 2009-04-07 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009093202A JP2010245885A (ja) | 2009-04-07 | 2009-04-07 | 画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010245885A true JP2010245885A (ja) | 2010-10-28 |
Family
ID=43098411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009093202A Pending JP2010245885A (ja) | 2009-04-07 | 2009-04-07 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010245885A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015008350A (ja) * | 2013-06-24 | 2015-01-15 | 富士通株式会社 | 読み取り装置、読み取り方法及び読み取りプログラム |
JP2018074342A (ja) * | 2016-10-28 | 2018-05-10 | 京セラドキュメントソリューションズ株式会社 | 画像処理装置、および画像処理方法 |
JP2020086059A (ja) * | 2018-11-21 | 2020-06-04 | コニカミノルタ株式会社 | 判別装置、画像形成装置、判別方法および判別プログラム |
JP2021044701A (ja) * | 2019-09-11 | 2021-03-18 | キヤノン株式会社 | 画像読取装置およびその制御方法 |
-
2009
- 2009-04-07 JP JP2009093202A patent/JP2010245885A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015008350A (ja) * | 2013-06-24 | 2015-01-15 | 富士通株式会社 | 読み取り装置、読み取り方法及び読み取りプログラム |
JP2018074342A (ja) * | 2016-10-28 | 2018-05-10 | 京セラドキュメントソリューションズ株式会社 | 画像処理装置、および画像処理方法 |
US10298806B2 (en) | 2016-10-28 | 2019-05-21 | Kyocera Document Solutions Inc. | Image processing apparatus and processing method for combining multiple images with accuracy verification thereof |
JP2020086059A (ja) * | 2018-11-21 | 2020-06-04 | コニカミノルタ株式会社 | 判別装置、画像形成装置、判別方法および判別プログラム |
JP7293619B2 (ja) | 2018-11-21 | 2023-06-20 | コニカミノルタ株式会社 | 判別装置、画像形成装置、判別方法および判別プログラム |
JP2021044701A (ja) * | 2019-09-11 | 2021-03-18 | キヤノン株式会社 | 画像読取装置およびその制御方法 |
JP7341808B2 (ja) | 2019-09-11 | 2023-09-11 | キヤノン株式会社 | 画像読取装置およびその制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8224131B2 (en) | Image processing apparatus and image processing method | |
JPH07141463A (ja) | 2値画像内の機械印刷された金額の検出方法 | |
JP5934174B2 (ja) | 印刷文書を認証するための方法及びプログラム | |
US8606049B2 (en) | Image management apparatus, image management method, and storage medium | |
JP2010245885A (ja) | 画像処理装置 | |
JP4532331B2 (ja) | 情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、及び情報抽出プログラム | |
JP6628279B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体 | |
JP2011216080A (ja) | 画像処理装置、画像処理方法、および記憶媒体 | |
JP4905275B2 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP6010318B2 (ja) | 画像検査装置、画像検査方法、及びプログラム | |
JP2021012589A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP7014921B2 (ja) | 画像処理装置 | |
JP2018041304A (ja) | 画像解析装置 | |
JP2017028447A (ja) | 画像処理装置、画像処理方法 | |
JP2896919B2 (ja) | 画像処理装置 | |
US8553294B2 (en) | Outlining method for properly representing curved line and straight line, and image compression method using the same | |
JP4803243B2 (ja) | 画像処理装置および画像処理プログラム | |
JP2005301713A (ja) | 帳票画像の地紋除去方法及び装置 | |
JP2017163407A (ja) | 画像処理装置、情報処理装置、および画像処理方法 | |
JP2006277089A (ja) | ドキュメント処理装置 | |
JP2000285240A (ja) | 画像処理装置、画像処理方法及び画像処理プログラムを記録した記録媒体 | |
JP2021135868A (ja) | 改ざん検知システム及び改ざん検知方法 | |
JP2016038655A (ja) | 画像処理装置、画像形成装置およびプログラム | |
JP4816757B2 (ja) | 画像処理装置および画像処理プログラム | |
JP4944720B2 (ja) | 画像処理装置及び方法並びに記憶媒体 |