(57)【要約】【課題】  雑に半分に折った原稿を、折り目の方向を気にすることなく原稿給紙口にセットして「半折り読取」機能によりスキャンしたとしても、良質な合成画像を作成するための技術を提供すること。【解決手段】  ２つ折りにした原稿の一方面及び他方面の読み取り画像のそれぞれを原稿画像として取得する。原稿画像中の原稿の輪郭上の凹部もしくは凸部に特徴点を設定する。原稿画像中の原稿の傾きを有し且つ特徴点を通過する線分、該線分と直交し且つ特徴点を通過する線分、で規定される領域を原稿領域として特定する。原稿領域内の画像を傾きに応じて回転させた回転画像の並び順を、原稿画像中の特徴点の配置分布に基づいて決定する。それぞれの回転画像を、それぞれの回転画像について決定した並び順で並べて連結させることで１枚の合成画像を生成する。【選択図】  図１
2017028447.tif 000002
【特許請求の範囲】
【請求項１】
２つ折りにした原稿の一方面を読み取ることで得られる読み取り画像及び該原稿の他方面を読み取ることで得られる読み取り画像のそれぞれを原稿画像として取得する取得手段と、
前記原稿画像中の原稿の輪郭を求め、該輪郭上の凹部もしくは凸部に特徴点を設定する手段と、
前記原稿画像内における原稿の傾きを求め、該傾きを有し且つ前記特徴点を通過する線分、該線分と直交し且つ前記特徴点を通過する線分、で規定される領域を原稿領域として特定する特定手段と、
前記原稿領域内の画像を前記傾きに応じて回転させた回転画像の並び順を、前記原稿画像内における前記特徴点の配置分布に基づいて決定する決定手段と、
前記一方面の読み取り画像について生成した回転画像と、前記他方面の読み取り画像について生成した回転画像とを、それぞれの回転画像について決定した並び順で並べて連結させることで１枚の合成画像を生成する生成手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記決定手段は、
前記原稿画像中の原稿の輪郭の重心画素位置の左側に位置する特徴点の数が該重心画素位置の右側に位置する特徴点の数よりも多い場合には、該原稿画像に対応する回転画像の並び順を左として決定し、
前記原稿画像中の原稿の輪郭の重心画素位置の右側に位置する特徴点の数が該重心画素位置の左側に位置する特徴点の数よりも多い場合には、該原稿画像に対応する回転画像の並び順を右として決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記生成手段は、
並び順が右として決定した回転画像内の前記特徴点の画素位置を用いて、並び順が左として決定した回転画像と重ね合わせるための重ね合わせ領域を求め、
並び順が左として決定した回転画像内の前記特徴点の画素位置を用いて、並び順が右として決定した回転画像と重ね合わせるための重ね合わせ領域を求め、
並び順が右として決定した回転画像について求めた重ね合わせ領域と、並び順が左として決定した回転画像について求めた重ね合わせ領域と、を重ね合わせて、並び順が右として決定した回転画像と並び順が左として決定した回転画像とを連結させることで、１枚の合成画像を生成する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記取得手段は、前記原稿の一方面及び他方面を読み取ることで、該一方面の読み取り画像及び該他方面の読み取り画像のそれぞれを原稿画像として取得することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記取得手段は、前記一方面を読み取ることで得られる読み取り画像及び前記他方面を読み取ることで得られる読み取り画像のそれぞれを原稿画像としてメモリ装置若しくは外部装置から取得することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項６】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、２つ折りにした原稿の一方面を読み取ることで得られる読み取り画像及び該原稿の他方面を読み取ることで得られる読み取り画像のそれぞれを原稿画像として取得する取得工程と、
前記画像処理装置の設定手段が、前記原稿画像中の原稿の輪郭を求め、該輪郭上の凹部もしくは凸部に特徴点を設定する工程と、
前記画像処理装置の特定手段が、前記原稿画像内における原稿の傾きを求め、該傾きを有し且つ前記特徴点を通過する線分、該線分と直交し且つ前記特徴点を通過する線分、で規定される領域を原稿領域として特定する特定工程と、
前記画像処理装置の決定手段が、前記原稿領域内の画像を前記傾きに応じて回転させた回転画像の並び順を、前記原稿画像内における前記特徴点の配置分布に基づいて決定する決定工程と、
前記画像処理装置の生成手段が、前記一方面の読み取り画像について生成した回転画像と、前記他方面の読み取り画像について生成した回転画像とを、それぞれの回転画像について決定した並び順で並べて連結させることで１枚の合成画像を生成する生成工程と
を備えることを特徴とする画像処理方法。
【請求項７】
コンピュータを、請求項１乃至５の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、読み取った原稿の画像における該原稿の傾き補正を行うための技術に関するものである。
【背景技術】
【０００２】
従来から、スキャナの読取可能サイズより大きなサイズの原稿を読み取る為に、原稿を半分に折って両面スキャンし、読み取った表面と裏面の画像が隣り合わせになるように合成して一つの画像を出力する「半折り読取」機能に対応したスキャナが提供されている。こういったスキャナは、たとえば、Ａ４原稿までを読み取ることのできるＡ４対応スキャナであっても、この「半折り読取」機能を使うことで、Ａ３原稿を読み取ることができる。
【０００３】
また「半折り読取」機能で作成した合成画像は、たとえば、表面画像を右側、裏面画像を左側といったように、スキャンした面にもとづいて画像の配置を決定していることが多い。しかしこの場合、ユーザが半分に折った原稿をスキャナの原稿給紙台にセットしてスキャンしたとき、セットした方向によってはユーザの所望しない合成画像（左右が逆になった画像）になってしまうという問題があった。
【０００４】
これについて、特許文献１に開示されている装置では、読み取った画像データから折り目を検出し、その検出結果にもとづいて画像の配置を決めるようにしたことで、ユーザが原稿をセットした方向によらず所望の合成画像を取得できるように対応している。このように、「半折り読取」機能に対して、ユーザが便利に使えるように様々な対応が行われている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2012-15817号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ユーザが原稿を半分に折る際に、例えば、図３の原稿を図４（図４（ａ）は雑に半折りした原稿の一方の面、図４（ｂ）は雑に半折りした原稿の他方の面、を表している）のように雑に折った場合、原稿が中途半端に重なってしまっている。然るに、このような原稿を上記の「半折り読取」機能を用いて読み取って作成した合成画像は、図５のように一部原稿の裏側が見えたり、実際の原稿のサイズよりも大きい画像になったりして見栄えが悪い。このような場合、良質な合成画像を得るためには、ユーザは原稿を端と端が重なるように丁寧に半分に折るといった面倒な作業が必要になってしまう。
【０００７】
本発明はこのような問題に鑑みてなされたものであり、雑に半分に折った原稿を、折り目の方向を気にすることなく原稿給紙口にセットして「半折り読取」機能によりスキャンしたとしても、良質な合成画像を作成するための技術を提供する。
【課題を解決するための手段】
【０００８】
本発明の一様態は、２つ折りにした原稿の一方面を読み取ることで得られる読み取り画像及び該原稿の他方面を読み取ることで得られる読み取り画像のそれぞれを原稿画像として取得する取得手段と、前記原稿画像中の原稿の輪郭を求め、該輪郭上の凹部もしくは凸部に特徴点を設定する手段と、前記原稿画像内における原稿の傾きを求め、該傾きを有し且つ前記特徴点を通過する線分、該線分と直交し且つ前記特徴点を通過する線分、で規定される領域を原稿領域として特定する特定手段と、前記原稿領域内の画像を前記傾きに応じて回転させた回転画像の並び順を、前記原稿画像内における前記特徴点の配置分布に基づいて決定する決定手段と、前記一方面の読み取り画像について生成した回転画像と、前記他方面の読み取り画像について生成した回転画像とを、それぞれの回転画像について決定した並び順で並べて連結させることで１枚の合成画像を生成する生成手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明の構成によれば、雑に半分に折った原稿を、折り目の方向を気にすることなく原稿給紙口にセットして「半折り読取」機能によりスキャンしたとしても、良質な合成画像を作成することができる。
【図面の簡単な説明】
【００１０】
【図１】原稿読み取り装置１の断面図。
【図２】原稿読み取り装置１の概略構成を示すブロック図。
【図３】原稿の一例を示す図。
【図４】雑に半折りした原稿を示す図。
【図５】図４の原稿を「半折り読取」機能を用いて読み取って作成した合成画像を示す図。
【図６】読み取り画像の一例を示す図。
【図７】原稿の輪郭及び特徴点を示す図。
【図８】合成部１０５が行う処理を示す図。
【図９】重ね合わせ領域を説明する図。
【図１０】読み取り画像の一例を示す図。
【図１１】各画素位置におけるＹ方向の微分値を示す図。
【図１２】各画素位置におけるＸ方向の微分値を示す図。
【図１３】読み取り画像においてＹ方向の微分値を計算する為に行う処理のフローチャート。
【図１４】読み取り画像においてＸ方向の微分値を計算する為に行う処理のフローチャート。
【図１５】図１１に示した微分値に対する２値化結果を示す図。
【図１６】図１２に示した微分値に対する２値化結果を示す図。
【図１７】各画素位置における合計値を示す図。
【図１８】特徴点となる輪郭画素、特徴点には成り得ない輪郭画素を示す図。
【図１９】傾き検出部１０４の動作を説明する図。
【図２０】特徴点を説明する図。
【図２１】合成部１０５による一連の処理のフローチャート。
【図２２】原稿読み取り装置１が行う処理のフローチャート。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１２】
［第１の実施形態］
本実施形態では、原稿を読み取る原稿読み取り装置に適用した場合の画像処理装置について説明する。先ず、本実施形態で用いる原稿読み取り装置１における原稿読み取り機構について、該原稿読み取り装置１の断面図を示す図１を用いて説明する。なお、本実施形態に適用可能な原稿読み取り機構は、図１に示した機構に限るものではなく、様々な機構が適用可能である。
【００１３】
この原稿読み取り機構は、下部フレーム２ａ及び上部フレーム２ｂから構成され、上部フレーム２ｂが不図示の回動軸を中心に回動可能であり、搬送された原稿の紙詰まり等が発生した際に原稿読み取り装置１内に滞留した原稿を取り除くため、手動での装置の開閉が可能な構成となっている。
【００１４】
給紙ローラ３は不図示のモータにより回転駆動され、規定方向に（図１では反時計回りに）回転することで、給紙トレイ４に積載（セット）された原稿Ｄは本装置内に給紙される。
【００１５】
分離ローラ５は不図示のモータにより回転駆動され、給紙ローラ３と同じ方向に回転することで、給紙ローラ３により給紙された原稿Ｄは１枚ずつ分離されて搬送路１０に搬送される。なお、半折り原稿を読み取るモードが設定されている場合、分離ローラ５は給紙ローラ３とは逆の方向に回転し、上記分離動作を行うことなく、給紙ローラ３により本装置内に給紙された半折り原稿をそのまま搬送路１０に搬送する。
【００１６】
ここで、不図示のレジストセンサが、搬送路１０に搬送された原稿（１枚ずつ分離された原稿Ｄ若しくは半折り原稿）の先端部分を検知すると、１対のレジストローラ１１ａ、１１ｂはこの原稿を更に後段に搬送し、読み取りユニット６ａ、６ｂはそれぞれ、レジストローラ１１ａ、１１ｂにより搬送された原稿の一方面（例えば表面）、他方面（例えば裏面）を読み取る。
【００１７】
読み取りユニット６ａ、６ｂは何れも、ラインイメージセンサ及び光源を有しており、対称面を光源によって照射し、ラインイメージセンサで該対称面に記されている情報を画像として読み取る。
【００１８】
１対の排紙ローラ１２ａ、１２ｂは、読み取りユニット６ａ、６ｂにより読み取られた原稿を本装置外に排出する為のものである。
【００１９】
以上説明した読み取り機構により、原稿読み取り装置１は次のような動作によって原稿読み取りを行う。給紙ローラ３は、給紙トレイ４に積載（セット）された原稿Ｄを本装置内に給紙し、分離ローラ５は、給紙ローラ３により給紙された原稿Ｄを１枚ずつ分離して搬送路１０に搬送する。上記の通り、半折り原稿を読み取るモードが設定されている場合、分離ローラ５は給紙ローラ３とは逆の方向に回転し、上記分離動作を行うことなく、給紙ローラ３により本装置内に給紙された半折り原稿をそのまま搬送路１０に搬送する。
【００２０】
不図示のレジストセンサが、搬送路１０に搬送された原稿の先端部分を検知すると、１対のレジストローラ１１ａ、１１ｂはこの原稿を更に後段に搬送し、読み取りユニット６ａ、６ｂはそれぞれ、レジストローラ１１ａ、１１ｂにより搬送された原稿の一方面、他方面を、主走査方向（原稿搬送方向と直交する方向）に読み取る。排紙ローラ１２ａ、１２ｂは、読み取りユニット６ａ、６ｂにより読み取られた原稿を本装置外に排出する。
【００２１】
次に、原稿読み取り装置１において、原稿を読み取り、読み取った画像を用いて各種の処理を実行するための機構について、その概略構成を示す図２のブロック図を用いて説明する。なお、図２に示した構成はあくまでも一例であり、同等以上の機能を有するのであれば、如何なる構成を採用しても構わない。
【００２２】
画像入力部１０１は、画像読み取り部１０１Ａ、画像処理部１０１Ｂを有する。
【００２３】
画像読み取り部１０１Ａは、上記の読み取りユニット６ａ、６ｂ及びＡ／Ｄ変換部を有するものであり、原稿に光源から光を照射して原稿から反射された光を、ラインイメージセンサを介して規定の解像度で画素に分解して光電変換した後、Ａ／Ｄ変換部で規定の色深度の画像として出力する。
【００２４】
画像処理部１０１Ｂは、画像読み取り部１０１Ａから出力された画像に対してシェーディング補正や２値化等の画像処理を施して出力する。
【００２５】
記憶部１０２は、ＯＳ（オペレーティングシステム）や、原稿読み取り装置１が行うものとして後述する各処理を制御部１０６に実行若しくは制御させるためのコンピュータプログラムやデータを保存するためのＨＤＤ、制御部１０６が各種の処理を実行する際に用いるワークエリアや、ＨＤＤからロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアや、画像入力部１０１から出力された画像を一時的に記憶するためのエリアや、転送部１０７が外部から受信した各種の情報を一時的に記憶するためのエリア、を有するＲＡＭ、等のメモリ装置により構成されている。
【００２６】
合成部１０５は、画像入力部１０１が読み取った半折り原稿のそれぞれの面の画像を、特徴点検出部１０３及び傾き検出部１０４による処理結果に応じた並び順で並べて連結させることで１枚の合成画像を生成する。この生成した合成画像は上記のＨＤＤに保存されても良いし、転送部１０７によって外部に送出されても良い。合成部１０５は、後述する処理において、原稿領域内の画像を傾きに応じて回転させた回転画像の並び順を、前記原稿画像内における前記特徴点の配置分布に基づいて決定する決定手段として機能する。また、合成部１０５は、一方面の読み取り画像について生成した回転画像と、前記他方面の読み取り画像について生成した回転画像とを、それぞれの回転画像について決定した並び順で並べて連結させることで１枚の合成画像を生成する生成手段として機能する。
【００２７】
特徴点検出部１０３は、画像入力部１０１によって得られたそれぞれの面の読み取り画像について、該読み取り画像中の原稿の輪郭を規定する特徴点を設定するための各種の処理を行う。特徴点検出部１０３は、後述する処理において、原稿画像中の原稿の輪郭を求め、該輪郭上の凹部もしくは凸部に特徴点を設定する手段として機能する。
【００２８】
傾き検出部１０４は、画像入力部１０１によって得られたそれぞれの面の読み取り画像について、該読み取り画像内における原稿の傾きを求める処理を行う。傾き検出部１０４は、後述する処理において原稿画像内における原稿の傾きを求め、該傾きを有し且つ特徴点を通過する線分、該線分と直交し且つ前記特徴点を通過する線分、で規定される領域を原稿領域として特定する特定手段として機能する。
【００２９】
制御部１０６は、例えば、ＣＰＵ、ＭＰＵ等であり、記憶部１０２に格納されているコンピュータプログラムやデータを用いて各種の処理を実行することで、原稿読み取り装置１全体の動作制御を行うと共に、原稿読み取り装置１が行うものとして後述する各処理を実行若しくは制御する。制御部１０６は、本発明の実施例において、記憶部１０２や外部の記憶装置を用いて、特徴点検出部１０３、傾き検出部１０４、合成部１０５等の動作を制御するが、特徴点検出部１０３、傾き検出部１０４、合成部１０５等は、メモリ等に読み込まれてＣＰＵ等に実行されるプログラムであっても構わない。
【００３０】
転送部１０７は、本装置内のデータを外部機器に対して転送したり、外部機器からの様々な指示や情報（例えばスキャン指示やスキャン設定）を受信する。
【００３１】
上記の各部は何れもバス１０８に接続されている。
【００３２】
以下では、画像入力部１０１から「２つ折りにした原稿の一方面を読み取ることで得られる読み取り画像及び該原稿の他方面を読み取ることで得られる読み取り画像」が得られた場合に、他の各機能部が行う処理について説明する。
【００３３】
＜特徴点検出部１０３＞
特徴点検出部１０３は先ず、一方面の読み取り画像及び他方面の読み取り画像のそれぞれから原稿の輪郭（例えば、図７の右側に太線で示す輪郭）を抽出する。輪郭抽出技術には様々な技術があり、本実施形態では如何なる輪郭抽出技術を採用しても構わないが、ここでは一例として、画素値の微分値を用いて輪郭抽出を行う技術について説明する。
【００３４】
図１０は、水平方向（Ｘ方向）の画素数ｍ＝１６、垂直方向（Ｙ方向）の画素数ｎ＝２４の読み取り画像の一例を示している。各矩形は画素を表しており、矩形内の数値は画素値（０〜２５５）を表している。また、図１０の読み取り画像では、左上隅を原点Ｏ（画素位置（０，０））とし、原点における画素値をＰ００と表している。また、右上隅を右上点ＲＴとし、右上点ＲＴにおける画素値をＰｍ０と表している。また、右下隅を右下点ＲＢとし、右下点ＲＢにおける画素値をＰｍｎと表している。また、左下隅を左下点ＬＢとし、左下点ＬＢにおける画素値をＰ０ｎと表している。
【００３５】
図１０の読み取り画像において、原稿が写っている領域はグレーで示しており、この領域の画素値は、原稿が写っていない領域（背景領域）の画素値（図１０では２００）とは異なる画素値となっている。然るに、原稿の輪郭を抽出する場合、隣接画素との画素値の差分が大きい画素を、輪郭を構成する画素として検出すればよい。このことをふまえ、特徴点検出部１０３は先ず、Ｘ方向及びＹ方向のそれぞれについて、隣接画素との画素値の差分（微分値）を計算する必要がある。
【００３６】
特徴点検出部１０３が、読み取り画像においてＹ方向の微分値を計算する為に行う処理について、図１３のフローチャートを用いて説明する。なお、図１３のフローチャートに従った処理は、一方面の読み取り画像及び他方面の読み取り画像のそれぞれについて行うことになる。
【００３７】
ステップＳ１０１では、画素位置（ｘ座標値、ｙ座標値）を表す変数Ｘ，Ｙを共に０に初期化する。
【００３８】
ステップＳ１０２では、変数Ｙの値を１つインクリメントする。
【００３９】
ステップＳ１０３では、変数Ｙの値がｎを超えたか否か、即ち、画素位置（Ｘ，Ｙ）が読み取り画像の下端を超えたか否かを判断する。この判断の結果、Ｙ＞ｎの場合には、超えたと判断して処理はステップＳ１０４に進み、Ｙ≦ｎの場合には、超えていないと判断し、処理はステップＳ１０５に進む。
【００４０】
ステップＳ１０４では、変数Ｘの値を１つインクリメントする。
【００４１】
ステップＳ１０６では、変数Ｘの値がｍを超えたか否か、即ち、画素位置（Ｘ，Ｙ）が読み取り画像の右端を越えたか否かを判断する。この判断の結果、Ｘ＞ｍの場合には、超えたと判断し、図１３のフローチャートに従った処理は終了する。一方、Ｘ≦ｍの場合には、超えていないと判断し、処理はステップＳ１０７に進む。
【００４２】
ステップＳ１０５では、読み取り画像において画素位置（Ｘ，Ｙ）における画素値Ｐｘｙと画素位置（Ｘ，Ｙ−１）における画素値Ｐｘ（ｙ−１）との間の差分を、画素位置（Ｘ，Ｙ）におけるＹ方向の微分値として求める。この微分値は、例えば記憶部１０２に格納する。そして処理はステップＳ１０２に進む。
【００４３】
ステップＳ１０７では、変数Ｙの値を０に初期化する。そして処理はステップＳ１０２に進む。
【００４４】
図１０の読み取り画像に対して図１３のフローチャートに従った処理を行うことで得られる、各画素位置におけるＹ方向の微分値を図１１に示す。なお、図１３のフローチャートに従った処理では、読み取り画像の上端から下端に向けて微分値を計算しているが、逆に下端から上端にむけて微分値を計算しても良い。
【００４５】
次に、特徴点検出部１０３が、読み取り画像においてＸ方向の微分値を計算する為に行う処理について、図１４のフローチャートを用いて説明する。なお、図１４のフローチャートに従った処理は、一方面の読み取り画像及び他方面の読み取り画像のそれぞれについて行うことになる。
【００４６】
ステップＳ２０１では、画素位置（ｘ座標値、ｙ座標値）を表す変数Ｘ，Ｙを共に０に初期化する。
【００４７】
ステップＳ２０２では、変数Ｘの値を１つインクリメントする。
【００４８】
ステップＳ２０３では、変数Ｘの値がｍを超えたか否か、即ち、画素位置（Ｘ，Ｙ）が読み取り画像の右端を越えたか否かを判断する。この判断の結果、Ｘ＞ｍの場合には、超えたと判断し、処理はステップＳ２０４に進む。一方、Ｘ≦ｍの場合には、超えていないと判断し、処理はステップＳ２０５に進む。
【００４９】
ステップＳ２０４では、変数Ｙの値を１つインクリメントする。
【００５０】
ステップＳ２０６では、変数Ｙの値がｎを超えたか否か、即ち、画素位置（Ｘ，Ｙ）が読み取り画像の下端を超えたか否かを判断する。この判断の結果、Ｙ＞ｎの場合には、超えたと判断して、図１４のフローチャートに従った処理は終了する。一方、Ｙ≦ｎの場合には、超えていないと判断し、処理はステップＳ２０７に進む。
【００５１】
ステップＳ２０５では、読み取り画像において画素位置（Ｘ，Ｙ）における画素値Ｐｘｙと画素位置（Ｘ−１，Ｙ）における画素値Ｐ（ｘ−１）ｙとの間の差分を、画素位置（Ｘ，Ｙ）におけるＸ方向の微分値として求める。この微分値は、例えば記憶部１０２に格納する。そして処理はステップＳ２０２に進む。
【００５２】
ステップＳ２０７では、変数Ｘの値を０に初期化する。そして処理はステップＳ２０２に進む。
【００５３】
図１０の読み取り画像に対して図１４のフローチャートに従った処理を行うことで得られる、各画素位置におけるＸ方向の微分値を図１２に示す。なお、図１４のフローチャートに従った処理では、読み取り画像の左端から右端に向けて微分値を計算しているが、逆に右端から左端にむけて微分値を計算しても良い。
【００５４】
以上、図１３，１４に示したフローチャートに従った処理を行うことで、読み取り画像（一方面の読み取り画像及び他方面の読み取り画像）の各画素位置について、Ｘ方向の微分値及びＹ方向の微分値を求めることができる。次に、特徴点検出部１０３は、各画素位置におけるＸ方向の微分値及びＹ方向の微分値を２値化する。微分値を２値化する場合、該微分値の絶対値が閾値（例えば１０）以上であれば該微分値の２値結果を１とし、閾値未満であれば該微分値の２値化結果を０とする。これにより、各画素位置におけるＸ方向の微分値及びＹ方向の微分値のそれぞれを１か０に２値化することができる。
【００５５】
各画素位置におけるＹ方向の微分値、即ち、図１１に示した微分値に対する２値化結果を図１５に示す。また、各画素位置におけるＸ方向の微分値、即ち、図１２に示した微分値に対する２値化結果を図１６に示す。
【００５６】
次に、特徴点検出部１０３は、読み取り画像における各画素位置について、該画素位置におけるＸ方向の微分値の２値化結果とＹ方向の微分値の２値化結果との合計値を求める。例えば、図１５及び図１６を参照すると、画素位置（２，３）におけるＸ方向の微分値の２値化結果は「１」、Ｙ方向の微分値の２値化結果は「１」である。そのため、画素位置（２，３）におけるＸ方向の微分値の２値化結果及びＹ方向の微分値の２値化結果の合計値は「２」となる。このような演算を、それぞれの画素位置について行う。図１５に示したＹ方向の微分値の２値化結果と図１６に示したＸ方向の微分値の２値化結果と、を用いて計算した、各画素位置における合計値を図１７に示す。
【００５７】
次に、特徴点検出部１０３は、図１７に示したような各画素位置における合計値を用いて、読み取り画像における原稿の輪郭抽出を行う。輪郭抽出は既知の輪郭追跡方法で行う。先ず、読み取り画像における原点からＸ方向に走査し、最初に合計値が１以上になっている画素を、追跡開始点の画素とする。図１７では（ｘ，ｙ）＝（３，０）の画素が該当する。一般的に追跡方法では、着目画素に隣接する８個の画素から合計値が１以上になる画素を、前回の追跡点で調査済みの画素が一番最後になるような順番で反時計回りで見つけ、最初に見つけた画素を追跡点にする。ただし周囲に合計値が１以上の画素がない場合には孤立点であるから、追跡開始点を再度探す。ここでは、追跡点として（ｘ，ｙ）＝（３，１）の画素が該当するので、該追跡点（（ｘ，ｙ）＝（３，１）の画素）の画素位置を記憶部１０２に格納する。そして今度は該追跡点を着目画素として同様に次の追跡点を探してその画素位置を記憶部１０２に格納する。これを繰り返し行い、追跡点が開始点の画素（（ｘ，ｙ）＝（３，０）の画素）と一致するまで続ける。また追跡点は、見つけた順番に記憶しているので、記憶部１０２には、反時計回りの方向で連続した画素として並んで、その画素位置が記憶されている。以下では、このようにして見つけた、原稿の輪郭を構成する画素を輪郭画素と呼称する。なお、このような処理では、読み取り画像において合計値が「１」以上の画素のうち、各水平ライン（垂直ラインでも良い）において左端、右端の画素が追跡の対象となる。また、特徴点検出部１０３は、読み取り画像において原稿の輪郭の外側に位置する画素、即ち、背景領域を構成する画素の画素値を記憶部１０２に格納する。
【００５８】
次に、特徴点検出部１０３は、図７の右側に示す如く、求めた輪郭上の凹部もしくは凸部に特徴点（図７の右側では黒丸で示している）を設定する。ここでいう特徴点とは、図形（ここでは輪郭）の形状を規定する点のことであり、自点とその左右に隣接する点の３点が直線上に並ばない点のことを示す。
【００５９】
然るに特徴点検出部１０３は、記憶部１０２に格納した輪郭画素の画素位置をその格納順に参照し、着目輪郭画素、該着目輪郭画素に隣接する２つの輪郭画素、の３画素が１本の直線上に位置しているか否かを調べる。そして直線上に位置していない場合には、着目輪郭画素に特徴点を設定する。
【００６０】
たとえば、輪郭画素Ａ、Ｂ、Ｃの順でその画素位置が記憶部１０２に格納されているとする。また、輪郭画素Ａ、Ｂ、Ｃのそれぞれの画素位置が（Ａｘ，Ａｙ）、（Ｂｘ，Ｂｙ）、（Ｃｘ，Ｃｙ）であるとする。このとき、輪郭画素Ａと輪郭画素Ｂとを結ぶ線分の傾きＭ１は（Ａｙ−Ｂｙ）／（Ａｘ−Ｂｘ）を計算することで求めることができる。また、輪郭画素Ｂと輪郭画素Ｃとを結ぶ線分の傾きＭ２は（Ｂｙ−Ｃｙ）／（Ｂｘ−Ｃｘ）を計算することで求めることができる。このとき、Ｍ１＝Ｍ２（もしくはＭ１とＭ２との差異が十分に小さい閾値以下）であれば、輪郭画素Ｂに特徴点は設定しない。一方、Ｍ１＜Ｍ２若しくはＭ１＞Ｍ２であれば、輪郭画素Ｂは輪郭上の凹部若しくは凸部に位置していることになるため、輪郭画素Ｂには特徴点を設定する。
【００６１】
図１７に基づく輪郭画素を用いた場合に、特徴点となる輪郭画素、特徴点には成り得ない輪郭画素を図１８に示す。図１８では、輪郭上において凹部もしくは凸部となる輪郭画素が９個あり、このような輪郭画素に特徴点が設定されている。特徴点を原稿画像の図形における点として捉えて言い換えると特徴点は、原稿と背景との境界であって、原稿画像の角部を示している。つまり原稿領域を規定する各辺が直交して形成される角部（頂点）を特徴点として抽出する。
【００６２】
なお、上記の説明では、着目輪郭画素と、該着目輪郭画素に隣接する２つの輪郭画素と、を用いて、着目輪郭画素が特徴点となりうる輪郭画素であるかを調べていた。しかし、特徴点となる輪郭画素を特定する方法は上記の方法に限るものではない。例えば、「着目輪郭画素に隣接する２つの輪郭画素」の代わりに「着目輪郭画素を挟んで該着目輪郭画素数個離間した２つの輪郭画素」を用いても構わない。
【００６３】
以上説明した処理により、特徴点検出部１０３は、一方面の読み取り画像及び他方面の読み取り画像のそれぞれに対し、原稿の輪郭を抽出することができると共に、該輪郭上の凹部もしくは凸部に特徴点を設定することができる。
【００６４】
＜傾き検出部１０４＞
傾き検出部１０４は、一方面の読み取り画像及び他方面の読み取り画像のそれぞれについて、該読み取り画像内における原稿の傾きを求める。この技術には様々な技術があり、本実施形態では如何なる技術を採用しても構わないが、ここでは一例を説明する。
【００６５】
傾き検出部１０４は、図１９に示す如く、読み取り画像において輪郭画素で囲まれた領域内の画像を抽出し、該抽出した画像をたとえば、０度、１度、２度と１度きざみに３６０度回転させ、３６０個の回転画像すべてをＯＣＲ（光学文字認識）処理し、認識した文字が一番多かった角度を「読み取り画像内の原稿の傾き」とする。以下では説明上、「読み取り画像内の原稿の傾き」を１１度とする。
【００６６】
なお、文字以外でも、たとえば所定の図形をあらかじめ原稿に付加しておき、その図形をパターンマッチングするなど、画像の内容から原稿の傾きを決定できるのであれば、他の技術を用いても構わない。
【００６７】
＜合成部１０５＞
合成部１０５は先ず、一方面の読み取り画像及び他方面の読み取り画像を左右方向に隣接させて並べて結合させることで１枚の合成画像を生成する場合において、それぞれの読み取り画像を左側に配置するのか、それとも右側に配置するのかを、それぞれの読み取り画像内の特徴点の配置分布に基づいて決定する。
【００６８】
例えば、一方面の読み取り画像が図６（ａ）に示すような画像である場合、原稿の輪郭において右側と左側とでは、凹部や凸部の数が大きく異なる。すなわち、右側に比べて左側では凹部や凸部の数は多い。すなわち、図６（ａ）の場合、折り目側（すなわち右側）よりも、折り目側とは反対側（即ち左側）の方が特徴点が多く配置される。然るにこのような場合には、一方面の読み取り画像（図６（ａ））は、左側に配置する画像と判断することができる。
【００６９】
同様に、例えば、他方面の読み取り画像が図６（ｂ）に示すような画像である場合、原稿の輪郭において右側と左側とでは、凹部や凸部の数が大きく異なる。すなわち、左側に比べて右側では凹部や凸部の数は多い。すなわち、図６（ｂ）の場合、折り目側（すなわち左側）よりも、折り目側とは反対側（即ち右側）の方が特徴点が多く配置される。然るにこのような場合には、他方面の読み取り画像（図６（ｂ））は、右側に配置する画像と判断することができる。
【００７０】
一般には、読み取り画像において輪郭画素で囲まれた領域内の位置（例えばそれぞれの輪郭画素の画素位置から計算される重心画素位置）を境に左側と右側とで特徴点の数を比較する。そして、左側の方が多ければ、該読み取り画像は左側に配置する画像として決定し、右側の方が多ければ、該読み取り画像は右側に配置する画像として決定する。なお、この方法は、読み取り画像内で折り目が左側か右側にあることを前提としたものであって、原稿のスキャン方向によっては、折り目が上側か下側にある場合も考えられる。そのような場合には、読み取り画像において輪郭画素で囲まれた領域内の位置（例えばそれぞれの輪郭画素の画素位置から計算される重心画素位置）を境に上側と下側とで特徴点の数を比較する。そして、上側の方が多ければ、該読み取り画像は上側に配置する画像として決定し、下側の方が多ければ、該読み取り画像は下側に配置する画像として決定する。もちろん、画像の連結方向によっては、それぞれの読み取り画像の配置位置は上記に限るものではない。
【００７１】
また、特徴点の数が左右で同じだった場合、つまり丁寧に半分に折られた原稿の読み取り画像の場合には、例えば、その旨を不図示の表示装置に表示し、ユーザにそれぞれの読み取り画像の配置位置を指示してもらうようにしても構わない。また、一方面の読み取り画像と他方面の読み取り画像とを用いて、前者を左に配置し後者を右に配置した合成画像、前者を右に配置し後者を左に配置した合成画像、をそれぞれ生成して表示装置に表示し、ユーザに選択させても良い。何れにせよ、ユーザは不図示の操作部を用いて指示を入力することになるので、この場合、合成部１０５は、ユーザによって指示された順序を採用することになる。
【００７２】
次に、合成部１０５は、一方面の読み取り画像及び他方面の読み取り画像のそれぞれについて、実際に連結用に用いる画像を生成する。以下では図６（ａ）に示す読み取り画像を例にとって、実際に連結用に用いる画像を生成する処理を説明するが、図６（ｂ）に示す読み取り画像から実際に連結用に用いる画像を生成する場合においても同様の処理を行うことになる。
【００７３】
図６（ａ）に示す如く、雑に半折した原稿の画像は、原稿の裏側など余計な部分が含まれており、そのまま連結用に用いることはできないので、これをふまえて実際に連結用に用いる画像を生成する。
【００７４】
図８の上段の左端に示す如く、傾き検出部１０４は上記の処理により、読み取り画像中の原稿の傾きを計算した。然るに合成部１０５は先ず、図８の上段の中央に示す如く、隣接する特徴点間ごとに、該特徴点間を結ぶ線分の傾きを計算する。そして合成部１０５は、計算したそれぞれの線分のうち、傾き検出部１０４が求めた「原稿の傾き」と一致する（厳密には「原稿の傾き」との差分が十分に小さい閾値以下となる）傾きを有する線分を特定し、該特定した線分の両端の特徴点を特定する。
【００７５】
ここで、図２０の左側に示す如く、原稿の輪郭上に特徴点Ｐ１〜Ｐ９が設定されており、且つ図２０の右側に示す如く、特徴点Ｐ１〜Ｐ９のそれぞれの画素位置（Ｘ，Ｙ）が記憶部１０２に格納されていたとする。この場合、例えば、特徴点Ｐ１に着目すると、特徴点Ｐ１に隣接する特徴点はＰ２及びＰ９であり、特徴点Ｐ４に着目すると、特徴点Ｐ４に隣接する特徴点はＰ３とＰ５である。
【００７６】
隣接する特徴点間を結ぶ線分は周知の如くｙ＝ａｘ＋ｂ（ａは傾き、ｂはｙ切片）という式（直線式）で表されるため、例えば、特徴点Ｐ１と特徴点Ｐ２とを結ぶ線分を求める（即ちａ及びｂを求める）ためには、特徴点Ｐ１の画素位置（ｘ、ｙ）＝（２００、２０）、特徴点Ｐ２の画素位置（ｘ、ｙ）＝（１８０、２００）をこの直線式に代入して傾きａ及びｙ切片ｂを求めれば良い。より具体的には、この直線式に特徴点Ｐ１の画素位置を代入した式１と、直線式に特徴点Ｐ２の画素位置を代入した式２と、からａ、ｂを求めることになる。
【００７７】
２０  ＝２００ａ＋ｂ    式１
２００＝１８０ａ＋ｂ    式２
このようなａ、ｂを求める計算を、隣接する特徴点間ごとに行うことで、線分Ｐ１Ｐ２、Ｐ２Ｐ３、Ｐ３Ｐ４、Ｐ４Ｐ５、Ｐ５Ｐ６、Ｐ６Ｐ７、Ｐ７Ｐ８、Ｐ８Ｐ９、Ｐ９Ｐ１の９つの直線式が確定する（ａ、ｂが確定する）。ちなみに、線分Ｐ２Ｐ３、Ｐ３Ｐ４、Ｐ６Ｐ７、Ｐ７Ｐ８の直線式は、それぞれ以下のような式になる。
【００７８】
線分Ｐ２Ｐ３：ｙ＝−０．２ｘ＋２３６    式３
線分Ｐ３Ｐ４：ｙ＝５ｘ−１８０          式４
線分Ｐ６Ｐ７：ｙ＝５ｘ−１８０          式５
線分Ｐ７Ｐ８：ｙ＝−０．２ｘ＋１１７２  式６
ここでは上記の通り、傾き検出部１０４が求めた「原稿の傾き」は１１度としている。１１度を直線の傾きで表すと、ｔａｎ（１１度）＝０．２になる。またその傾きはマイナスなので、「原稿の傾き」は−０．２となる。然るにこのような場合、線分Ｐ１Ｐ２、Ｐ２Ｐ３、Ｐ３Ｐ４、Ｐ４Ｐ５、Ｐ５Ｐ６、Ｐ６Ｐ７、Ｐ７Ｐ８、Ｐ８Ｐ９、Ｐ９Ｐ１のそれぞれの傾きのうち、「−０．２」と一致する（厳密には「−０．２」との差分が十分に小さい閾値以下となる）傾きを有する線分は、線分Ｐ２Ｐ３と線分Ｐ７Ｐ８の２つになる。
【００７９】
次に、「原稿の傾き」と一致する（厳密には「原稿の傾き」との差分が十分に小さい閾値以下となる）傾きを有する線分のそれぞれについて、該線分を延長した場合に該延長した線分上を通る（通過する）全ての特徴点を特定する。
【００８０】
上記の例では、「原稿の傾き」と一致する（厳密には「原稿の傾き」との差分が十分に小さい閾値以下となる）傾きを有する線分は、線分Ｐ２Ｐ３、線分Ｐ７Ｐ８の２つである。
【００８１】
線分Ｐ２Ｐ３を延長した直線を考えると、特徴点Ｐ１〜Ｐ９のうち、Ｐ２，Ｐ３は当然ながらこの直線上にあるが、特徴点Ｐ９もこの直線上にあることが、特徴点Ｐ９の画素位置が線分Ｐ２Ｐ３の直線式を満足することから分かる。然るにこの場合、線分Ｐ２Ｐ３を延長した直線上には特徴点Ｐ１〜Ｐ９のうち特徴点Ｐ２、Ｐ３、Ｐ９が存在することが分かる。
【００８２】
線分Ｐ７Ｐ８を延長した直線を考えると、特徴点Ｐ１〜Ｐ９のうち、Ｐ７，Ｐ８は当然ながらこの直線上にあるが、他の特徴点の画素位置は線分Ｐ７Ｐ８の直線式を満足しない。然るにこの場合、線分Ｐ７Ｐ８を延長した直線上には特徴点Ｐ１〜Ｐ９のうち特徴点Ｐ７、Ｐ８が存在することが分かる。
【００８３】
次に、図８の上段の右端に示す如く、「原稿の傾き」と直交する傾きを有する直線上を通る特徴点を特定する。上記の例では、「原稿の傾き」は「−０．２」であるから、この傾きと直交する傾きは「５」と計算することができる。線分Ｐ１Ｐ２、Ｐ２Ｐ３、Ｐ３Ｐ４、Ｐ４Ｐ５、Ｐ５Ｐ６、Ｐ６Ｐ７、Ｐ７Ｐ８、Ｐ８Ｐ９、Ｐ９Ｐ１のそれぞれの傾きのうち、「５」と一致する（厳密には「５」との差分が十分に小さい閾値以下となる）傾きを有する線分は、線分Ｐ３Ｐ４と線分Ｐ６Ｐ７の２つになる。また、線分Ｐ３Ｐ４と線分Ｐ６Ｐ７は上記の式４及び式５からも分かるように、同じ線分を表していることから、これらの線分上の特徴点、すなわち、特徴点Ｐ３、Ｐ４、Ｐ６、Ｐ７は何れも同じ直線上に位置している特徴点であることが分かる。然るにこの場合、「原稿の傾き」と直交する傾きを有する直線上を通る特徴点は、特徴点Ｐ３、Ｐ４、Ｐ６、Ｐ７となる。
【００８４】
次に、図８の下段の右端に示す如く、「原稿の傾き」と一致する（厳密には「原稿の傾き」との差分が十分に小さい閾値以下となる）傾きを有する線分と、「原稿の傾き」と直交する傾きを有する線分と、で規定される領域を原稿領域として抽出する。
【００８５】
上記の例の場合、「原稿の傾き」に一致する（厳密には「原稿の傾き」との差分が十分に小さい閾値以下となる）傾きを有する直線上に存在する特徴点が、Ｐ２、Ｐ３、Ｐ９とＰ７、Ｐ８で、「原稿の傾き」に直交する傾きを有する直線上に存在する特徴点が、Ｐ３、Ｐ４、Ｐ６、Ｐ７であることから、これらの直線に囲まれた領域を検出する。
【００８６】
まず、特徴点Ｐ２、Ｐ３、Ｐ９を通る直線の両端に位置する特徴点を特定する。これは、Ｐ２とＰ３、Ｐ３とＰ９、Ｐ９とＰ２のそれぞれの間の距離を求め、最大距離になる特徴点の組み合わせが直線の両端になる。距離は、２つの特徴点の画素位置のｘ成分の差の２乗とｙ成分の差の２乗の和が最大になる組み合わせである。
【００８７】
特徴点Ｐ２の画素位置（ｘ２，ｙ２）＝（１８０，２００）
特徴点Ｐ３の画素位置（ｘ３，ｙ３）＝（  ８０，２２０）
特徴点Ｐ９の画素位置（ｘ９、ｙ９）＝（７４０，  ８８）
であるから、ここでは特徴点Ｐ３と特徴点Ｐ９との組み合わせが最大距離になるので、この場合、特徴点Ｐ２，Ｐ３，Ｐ９を通る直線の両端に位置する特徴点はＰ３とＰ９となる。特徴点Ｐ７とＰ８とを通る直線上には特徴点Ｐ７と特徴点Ｐ８以外の特徴点は存在しないので、この場合、特徴点Ｐ７と特徴点Ｐ８とを通る直線の両端に位置する特徴点はＰ７とＰ８となる。また、同様にして、特徴点Ｐ３、Ｐ４、Ｐ６、Ｐ７を通る直線の両端に位置する特徴点を求める。ここでは、特徴点Ｐ３と特徴点Ｐ７との組み合わせが最大距離になるので、この場合、特徴点Ｐ３，Ｐ４，Ｐ６、Ｐ７を通る直線の両端に位置する特徴点はＰ３とＰ７となる。
【００８８】
然るに、抽出する対象となる領域は、線分Ｐ３Ｐ９、Ｐ３Ｐ７、Ｐ７Ｐ８の３辺に囲まれていることがわかる。つまり、抽出する対象となる領域（原稿領域）の頂点は、Ｐ３、Ｐ７、Ｐ８、Ｐ９の特徴点で構成される。
【００８９】
次に、図８の下段の中央に示す如く、抽出した原稿領域に外接する矩形、即ち原稿領域の外接矩形を求める。外接矩形は、上記の例の場合、各頂点Ｐ３、Ｐ７、Ｐ８、Ｐ９の画素位置を用いれば規定することができる。特徴点Ｐ３，Ｐ７，Ｐ８，Ｐ９のそれぞれの画素位置は図２０に示す如く、以下の通りである。
【００９０】
特徴点Ｐ３の画素位置（ｘ３，ｙ３）＝（  ８０，  ２２０）
特徴点Ｐ７の画素位置（ｘ７，ｙ７）＝（２６０，１１２０）
特徴点Ｐ８の画素位置（ｘ８，ｙ８）＝（８００，１０１２）
特徴点Ｐ９の画素位置（ｘ９、ｙ９）＝（７４０，    ８８）
これらの特徴点の画素位置におけるｘ成分のうち最小値をｍｉｎ、最大値をＸｍａｘ、ｙ成分のうち最小値をＹｍｉｎ、最大値をＹｍａｘとすると、以下のようになる。
【００９１】
（Ｘｍｉｎ，Ｙｍｉｎ）＝（  ８０，    ８８）
（Ｘｍａｘ，Ｙｍａｘ）＝（８００，１１２０）
然るに、外接矩形の左上隅の位置を（Ｘｍｉｎ，Ｙｍｉｎ）、右下隅の位置を（Ｘｍａｘ，Ｙｍａｘ）、とすれば良く、これにより、外接矩形を規定することができる。
【００９２】
次に、図８の下段の左端に示す如く、外接矩形内の画像を、「原稿の傾き」に応じて回転させることで、実際に連結用に用いる画像を生成する。周知の如く、ある点（ｘ１、ｙ１）を、中心位置（Ｃｘ，Ｃｙ）を中心にしてθだけ回転させて（ｘ２、ｙ２）を求める為には以下の式を用いるのが一般的である。
【００９３】
Ｘ２＝（Ｘ１−Ｃｘ）ｃｏｓθ―（ｙ１−Ｃｙ）ｓｉｎθ＋Ｃｘ
Ｙ２＝（Ｘ１−Ｃｘ）ｓｉｎθ＋（ｙ１−Ｃｙ）ｃｏｓθ＋Ｃｙ
然るに、中心位置（Ｃｘ，Ｃｙ）に外接矩形の中心位置を設定し、θに「原稿の傾き」を設定し、（ｘ１，ｙ１）に外接矩形内の各画素位置を設定することで、外接矩形内の画像を「原稿の傾き」だけ回転させることができる。なお、回転後の画像については周知の通り、画素間の補間処理などを施す必要があるが、これについては周知の技術であるため、説明は省略する。
【００９４】
このようにして得られた回転後の画像は、実際に連結用に用いる画像となる。然るに以上の処理により、合成部１０５は、一方面の読み取り画像及び他方面の読み取り画像のそれぞれについて、実際に連結用に用いる画像を生成することができる。
【００９５】
次に、合成部１０５は、一方面の読み取り画像及び他方面の読み取り画像のそれぞれについて生成した（対応する）連結用画像を連結させて１枚の合成画像を生成する。上記の例では、図６（ａ）の読み取り画像について生成した連結用画像は左側、図６（ｂ）の読み取り画像について生成した連結用画像は右側、に配置してそれぞれの連結用画像を連結させる。
【００９６】
ここで、雑に半分に折った原稿の画像は、図９に示すように、折り目側が斜線であるから、特徴点で囲まれた領域は台形になっており、それぞれの連結用画像を点線で挟まれた部分を重ね合わせて合成する必要がある。
【００９７】
図９の上部において左側の連結用画像、即ち、左側に配置する連結用画像において４隅の点Ａ１〜Ａ４はそれぞれ、連結用画像内（回転画像内）における特徴点Ｐ３，Ｐ７，Ｐ８，Ｐ９を表しており、読み取り画像上の特徴点Ｐ３，Ｐ７，Ｐ８，Ｐ９を上記の回転処理で回転させて移動させた点である。左側に配置する連結用画像に対しては右側から、右側に配置する連結用画像を結合させるわけであるから、左側に配置する連結用画像の右側に、右側に配置する連結用画像と重ね合わせる領域が存在する。そこで、この重ね合わせ領域を求める。重ね合わせ領域の幅は、結合側の点Ａ３（１２，３２）、Ａ４（１６，０）から１６−１２で「４」を算出できる。然るに、左側の連結用画像の右端から幅４画素分の長方形領域を、右側に配置する連結用画像と重ね合わせる領域として求めることができる。
【００９８】
なお、右側に配置する連結用画像についても同様にして重ね合わせ領域を求める。右側に配置する連結用画像の場合、左側に重ね合わせる領域が存在するので、結合側の点（回転処理で回転移動させた特徴点）の画素位置からその幅を算出できる。
【００９９】
なお、左側の連結用画像における重ね合わせ領域を右側の連結用画像における重ね合わせ領域上に重ねるのか、それとも、右側の連結用画像における重ね合わせ領域を左側の連結用画像における重ね合わせ領域上に重ねるのかは、何れであっても良く、予め定められていても良いし、ユーザが適宜選択しても構わない。
【０１００】
なお、何れの連結用画像における重ね合わせ領域にも背景領域が存在するので、この領域に規定の画素値を割り当てる（上記の重ね合わせの前であっても良いし後であっても良い）。背景領域の画素値は上記の通り、特徴点検出部１０３によって記憶部１０２に格納されているので、重ね合わせ領域において背景領域の画素値を有する画素の画素値を例えば「０」に更新する。これにより、重ね合わせ領域において背景領域を構成する画素の画素値を「０」に更新することができる。
【０１０１】
なお、一方の連結用画像の重ね合わせ領域上に他方の連結用画像の重ね合わせ領域を重ね合わせる際に、一方の連結用画像の重ね合わせ領域において背景領域には、重ね合わせないようにしても構わない。なお、背景領域と非背景領域との境界部分は、連結用画像内における特徴点の位置から計算することができる。
【０１０２】
以上説明した合成部１０５による一連の処理を図２１のフローチャートを用いて説明する。なお、図２１に示した各ステップにおける処理の詳細については上記の通りであるので、ここでは各ステップにおける処理については簡単に説明する。
【０１０３】
ステップＳ３０１では、一方面の読み取り画像及び他方面の読み取り画像のそれぞれの読み取り画像を左側に配置するのか、それとも右側に配置するのかを、それぞれの読み取り画像内の特徴点の配置分布に基づいて決定する。
【０１０４】
次に、一方面の読み取り画像について、ステップＳ３０２〜Ｓ３０５の処理を行う。
【０１０５】
ステップＳ３０２では、読み取り画像について、隣接する特徴点間ごとに、該特徴点間を結ぶ線分の傾きを計算する。そして、計算したそれぞれの線分のうち、傾き検出部１０４が求めた「原稿の傾き」と一致する（厳密には「原稿の傾き」との差分が十分に小さい閾値以下となる）傾きを有する線分を特定し、該特定した線分の両端の特徴点を特定する。そして、「原稿の傾き」と一致する（厳密には「原稿の傾き」との差分が十分に小さい閾値以下となる）傾きを有する線分のそれぞれについて、該線分を延長した場合に該延長した線分上を通る全ての特徴点を特定する。
【０１０６】
ステップＳ３０３では、「原稿の傾き」と直交する傾きを有する直線上を通る特徴点を特定する。
【０１０７】
ステップＳ３０４では、「原稿の傾き」と一致する（厳密には「原稿の傾き」との差分が十分に小さい閾値以下となる）傾きを有する線分と、「原稿の傾き」と直交する傾きを有する線分と、で規定される領域を原稿領域として抽出する。
【０１０８】
ステップＳ３０５では、抽出した原稿領域に外接する矩形、即ち原稿領域の外接矩形を求める。そして、外接矩形内の画像を、「原稿の傾き」に応じて回転させることで、実際に連結用に用いる画像を生成する。
【０１０９】
ステップＳ３０６では、他方面の読み取り画像についてステップＳ３０２〜Ｓ３０５の処理を行ったか否かを判断する。この判断の結果、行った場合には、処理はステップＳ３０７に進み、行っていない場合には、処理はステップＳ３０２に戻る。そして、他方面の読み取り画像について、ステップＳ３０２〜Ｓ３０５の処理を行う。
【０１１０】
ステップＳ３０７では、一方面の読み取り画像及び他方面の読み取り画像のそれぞれについて、重ね合わせ領域を求める。
【０１１１】
ステップＳ３０８では、一方面の読み取り画像及び他方面の読み取り画像における重ね合わせ領域の幅が１以上であるか否か、即ち、両方の読み取り画像に重ね合わせ領域が存在するか否かを判断する。この判断の結果、幅が１以上ある、即ち両方の読み取り画像に重ね合わせ領域が存在する場合には、処理はステップＳ３０９に進み、幅が１以上ない、即ち両方の読み取り画像に重ね合わせ領域が存在しない場合には、処理はステップＳ３１０に進む。
【０１１２】
ステップＳ３０９では、重ね合わせ領域において背景領域の画素値を有する画素の画素値を例えば「０」に更新する。
【０１１３】
ステップＳ３１０では、それぞれの連結用画像を、ステップＳ３０１にて決定した並び順で並べて連結させて１枚の合成画像を生成する。ステップＳ３０９からステップＳ３１０に処理が進んだ場合、ステップＳ３１０では、一方の連結用画像の重ね合わせ領域上に他方の連結用画像の重ね合わせ領域を重ね合わせることでそれぞれの連結用画像を連結させる。一方、ステップＳ３０８からステップＳ３１０に処理が進んだ場合には、単に左側の連結用画像の右端に右側の連結用画像の左端を結合させて１枚の合成画像を生成する。
【０１１４】
最後に、以上説明した、１枚の合成画像を生成するために、原稿読み取り装置１が行う処理について、図２２のフローチャートを用いて説明する。
【０１１５】
ステップＳ４０１では、制御部１０６は、スキャン指示が入力されたか否かを判断する。このスキャン指示は、原稿読み取り装置１に備わっている不図示の操作部に対する操作指示により本装置に入力されても良いし、本装置に接続されている外部装置から転送部１０７を介して本装置に入力されても良い。この判断の結果、スキャン指示の入力を検知した場合には、処理はステップＳ４０２に進み、検知していない場合には、処理はステップＳ４０１で待機する。
【０１１６】
ステップＳ４０２では、制御部１０６は、分離ローラ５用のモータを駆動制御して、分離ローラ５を給紙ローラ３と同じ方向に回転させ、これにより、給紙ローラ３により給紙された原稿Ｄを１枚ずつ分離して搬送路１０に搬送させる。なお、スキャン指示が示す読み取りモードが「半折り原稿を読み取るモード」であれば、制御部１０６は、分離ローラ５用のモータを駆動制御して、分離ローラ５を給紙ローラ３とは逆の方向に回転させ、これにより、上記分離動作を行うことなく、給紙ローラ３により本装置内に給紙された半折り原稿をそのまま搬送路１０に搬送させる。
【０１１７】
ステップＳ４０３では、制御部１０６は、給紙トレイ４に原稿がセットされているか否かを判断する。給紙トレイ４に原稿がセットされているか否かは、不図示のセンサにより検知されるもので、この技術については周知であるため、ここではこれに係る詳細な説明は省略する。ここで、給紙トレイ４に原稿がセットされている場合には、処理はステップＳ４０４に進み、セットされていない場合には、図２２のフローチャートに従った処理は終了する。
【０１１８】
ステップＳ４０４では、画像読み取り部１０１Ａは、搬送路１０を介して搬送されてきた原稿の両面を読み取り、一方面の読み取り画像及び他方面の読み取り画像を取得する。画像処理部１０１Ｂはそれぞれの面の読み取り画像に対して適当な画像処理を施す。
【０１１９】
ステップＳ４０５では、特徴点検出部１０３は、画像入力部１０１によって得られたそれぞれの面の読み取り画像について、該読み取り画像中の原稿の輪郭を規定する特徴点を設定するための処理を行う。
【０１２０】
ステップＳ４０６では、傾き検出部１０４は、画像入力部１０１によって得られたそれぞれの面の読み取り画像内における原稿の傾きを求める処理を行う。
【０１２１】
ステップＳ４０７では、合成部１０５は、図２１のフローチャートに従った処理を行うことで、１枚の合成画像を生成する。
【０１２２】
［第２の実施形態］
第１の実施形態では、原稿を読み取る原稿読み取り装置に適用した場合について説明した。しかし、第１の実施形態で説明した、特徴点検出部１０３、傾き検出部１０４、合成部１０５のそれぞれが行う処理は、一般のＰＣ（パーソナルコンピュータ）等の原稿読み取り構成を有していない画像処理装置で実行しても構わない。例えば、ＰＣ等のコンピュータ装置が、ハードディスクや、ネットワークを介して外部装置から「２つ折りにした原稿の一方面を読み取ることで得られる読み取り画像及び該原稿の他方面を読み取ることで得られる読み取り画像」のそれぞれを原稿画像として取得し、該取得した原稿画像に対して、第１の実施形態で特徴点検出部１０３、傾き検出部１０４、合成部１０５のそれぞれが行うものとして説明した処理を実行する。これにより、このようなコンピュータ装置でも第１の実施形態と同様に、雑に半分に折った原稿を、折り目の方向を気にすることなく原稿給紙口にセットしてスキャンした読み取り画像からでも、良質な合成画像を作成することができる。
【０１２３】
すなわち、画像処理装置が原稿読み取り装置１であっても、ＰＣ等のコンピュータ装置であっても、次のような基本構成に帰着することになる。
【０１２４】
すなわち、基本構成では、２つ折りにした原稿の一方面を読み取ることで得られる読み取り画像及び該原稿の他方面を読み取ることで得られる読み取り画像のそれぞれを原稿画像として取得する。そして、原稿画像中の原稿の輪郭を求め、該輪郭上の凹部もしくは凸部に特徴点を設定する。そして、原稿画像内における原稿の傾きを求め、該傾きを有し且つ上記特徴点を通過する線分、該線分と直交し且つ上記特徴点を通過する線分、で規定される領域を原稿領域として特定する。そして、原稿領域内の画像を上記傾きに応じて回転させた回転画像の並び順を、原稿画像内における上記特徴点の配置分布に基づいて決定する。そして、一方面の読み取り画像について生成した回転画像と、他方面の読み取り画像について生成した回転画像とを、それぞれの回転画像について決定した並び順で並べて連結させることで１枚の合成画像を生成する。
【図１】
2017028447.tif 000003
【図２】
2017028447.tif 000004
【図３】
2017028447.tif 000005
【図４】
2017028447.tif 000006
【図５】
2017028447.tif 000007
【図６】
2017028447.tif 000008
【図７】
2017028447.tif 000009
【図８】
2017028447.tif 000010
【図９】
2017028447.tif 000011
【図１３】
2017028447.tif 000012
【図１４】
2017028447.tif 000013
【図１７】
2017028447.tif 000014
【図１８】
2017028447.tif 000015
【図１９】
2017028447.tif 000016
【図２０】
2017028447.tif 000017
【図２１】
2017028447.tif 000018
【図２２】
2017028447.tif 000019
【図１０】
2017028447.tif 000020
【図１１】
2017028447.tif 000021
【図１２】
2017028447.tif 000022
【図１５】
2017028447.tif 000023
【図１６】
2017028447.tif 000024