(57)【特許請求の範囲】
【請求項１】
分割して読み取られた複数の文書画像の内の任意数の文書画像またはそれぞれの文書画像を垂直及び水平方向に複数の領域に分割する領域分割手段と、
前記領域分割手段により分割された複数の領域のそれぞれについて行画像を抽出すると共に、前記垂直方向に分割された領域から抽出した行画像の数と、前記水平方向に分割された領域から抽出した行画像の数とを比較し、行画像の数の多い領域の行画像の方向を前記複数の文書画像の行画像の方向として認識する行画像抽出手段と、
前記行画像抽出手段により抽出された、行画像の数の多い方向に分割されたそれぞれの領域の行画像の文字領域を比較して、一致度の高い文字領域の位置を前記複数の文書画像の重なり位置として検出する重なり検出手段と、
前記重なり検出手段により検出された重なり位置で前記複数の文書画像を結合する画像結合手段とを備えることを特徴とする文書画像結合装置。
【請求項２】
分割して読み取られた複数の文書画像の内の任意数の文書画像またはそれぞれの文書画像を垂直及び水平方向に複数の領域に分割する領域分割手段と、
前記領域分割手段により分割された複数の領域のそれぞれについて行画像を抽出すると共に、前記垂直方向に分割された領域から抽出した行画像の数と、前記水平方向に分割された領域から抽出した行画像の数とを比較し、行画像の数の多い領域の行画像の方向を前記複数の文書画像の行画像の方向として認識する行画像抽出手段と、
前記行画像抽出手段により抽出された、行画像の数の多い方向に分割されたそれぞれの領域の行画像の文字画像を文字認識する文字認識手段と、
前記文字認識手段により得られるそれぞれの文書画像の１または複数の領域の文字認識結果に基づいて前記複数の文書画像の重なり位置を検出する重なり検出手段と、
前記重なり検出手段により検出された重なり位置で前記複数の文書画像を結合する画像結合手段とを備えることを特徴とする文書画像結合装置。
【請求項３】
分割して読み取られた複数の文書画像の内の任意数の文書画像またはそれぞれの文書画像を垂直及び水平方向に複数の領域に分割する領域分割手段と、
前記領域分割手段により分割された複数の領域のそれぞれについて行画像を抽出すると共に、前記垂直方向に分割された領域から抽出した行画像の数と、前記水平方向に分割された領域から抽出した行画像の数とを比較し、行画像の数の多い領域の行画像の方向を前記複数の文書画像の行画像の方向として認識する行画像抽出手段と、
前記行画像抽出手段により抽出された、行画像の数の多い方向に分割されたそれぞれの領域の行画像の複数の文字領域の位置と大きさを比較して、一致度の高い複数の文字領域を検出し、検出した複数の文字領域の位置に基づいて前記複数の画像の重なり位置を検出する重なり検出手段と、
前記重なり検出手段により検出された重なり位置で前記複数の文書画像を結合する画像結合手段とを備えることを特徴とする文書画像結合装置。
【請求項４】
前記行画像抽出手段は、分割された領域の１ライン分の画素を検出し、１ラインに含まれる黒画素数が一定値以上となるラインを黒画素ライン、それ以外のラインを白画素ラインとして検出することを特徴とする請求項１，２，または３記載の文書画像結合装置。
【請求項５】
前記行画像抽出手段は、前記領域分割手段により分割された領域の分割線に対して垂直方向に１ラインづつ前記領域の画素を検出することを特徴とする請求項４記載の文書画像結合装置。
【請求項６】
前記行画像抽出手段は、連続する黒画素ラインの数が所定範囲内となる領域を黒画素領域として抽出することを特徴とする請求項４または５記載の文書画像結合装置。
【請求項７】
前記行画像抽出手段は、連続する白画素ラインの数が所定値以上となる領域を白画素領域として抽出することを特徴とする請求項６記載の文書画像結合装置。
【請求項８】
前記領域分割手段は、読み取った文書画像の解像度に応じて分割する領域の大きさを変更することを特徴とする請求項１，２または３記載の文書画像結合装置。
【請求項９】
前記行画像抽出手段は、読み取った文書画像の解像度に応じて黒画素領域とみなす黒画素ラインの数を変更することを特徴とする請求項６記載の文書画像結合装置。
【請求項１０】
前記行画像抽出手段は、所定の条件を満たす白画素領域と隣接する黒画素領域を行画像として抽出することを特徴とする請求項６または７記載の文書画像結合装置。
【請求項１１】
前記重なり検出手段は、過去に文書画像の重なり位置として検出された行画像の検出頻度を前記行画像に割り当てられる識別情報と対応させて記憶し、検出頻度の高い行画像から優先して重なり位置の検出を行うことを特徴とする請求項１，２または３記載の文書画像結合装置。
【請求項１２】
前記重なり検出手段は、それぞれの領域の行画像を所定の順序で比較することを特徴とする請求項１，２または３記載の文書画像結合装置。
【請求項１３】
分割して読み取られた複数の文書画像の内の任意数の文書画像またはそれぞれの文書画像を垂直及び水平方向に複数の領域に分割する領域分割手段と、
前記領域分割手段により分割された複数の領域のそれぞれについて行画像を抽出すると共に、前記垂直方向に分割された領域から抽出した行画像の数と、前記水平方向に分割された領域から抽出した行画像の数とを比較し、行画像の数の多い領域の行画像の方向を前記複数の文書画像の行画像の方向として認識する行画像抽出手段と、
前記行画像抽出手段により抽出された、行画像の数の多い方向に分割されたそれぞれの領域の行画像の文字領域を比較して、一致度の高い文字領域の位置を前記複数の文書画像の重なり位置として検出する重なり検出手段と、
前記重なり検出手段により検出された重なり位置で前記複数の文書画像を結合する画像結合手段と、
前記複数の文書画像の自動結合を行うか否かを表示画面上で設定できる設定手段とを備えることを特徴とする文書画像結合装置。
【請求項１４】
前記設定手段は、表示画面上に表示される操作ボタンであることを特徴とする請求項１３記載の文書画像結合装置。
【請求項１５】
前記設定手段は、文書画像の結合枚数をユーザが設定できることを特徴とする請求項１３または１４記載の文書画像結合装置。
【請求項１６】
分割して読み取られた複数の文書画像の内の任意数の文書画像またはそれぞれの文書画像を垂直及び水平方向に複数の領域に分割し、
分割された複数の領域のそれぞれについて行画像を抽出すると共に、前記垂直方向に分割された領域から抽出した行画像の数と、前記水平方向に分割された領域から抽出した行画像の数とを比較し、行画像の数の多い領域の行画像の方向を前記複数の文書画像の行画像の方向として認識し、
抽出された、行画像の数の多い方向に分割されたそれぞれの領域の行画像の文字領域を比較して、一致度の高い文字領域の位置を前記複数の文書画像の重なり位置として検出し、
検出された重なり位置で前記複数の文書画像を結合することを特徴とする文書画像結合方法。
【請求項１７】
分割して読み取られた複数の文書画像の内の任意数の文書画像またはそれぞれの文書画像を垂直及び水平方向に複数の領域に分割し、
分割された複数の領域のそれぞれについて行画像を抽出すると共に、前記垂直方向に分割された領域から抽出した行画像の数と、前記水平方向に分割された領域から抽出した行画像の数とを比較し、行画像の数の多い領域の行画像の方向を前記複数の文書画像の行画像の方向として認識し、
抽出された、行画像の数の多い方向に分割されたそれぞれの領域の行画像の文字領域内の文字画像を文字認識し、
それぞれの領域の文字認識結果に基づいて前記複数の文書画像の重なり位置を検出し、
検出された重なり位置で前記複数の文書画像を結合することを特徴とする文書画像結合方法。
【請求項１８】
分割して読み取られた複数の文書画像の内の任意数の文書画像またはそれぞれの文書画像を垂直及び水平方向に複数の領域に分割し、
分割された複数の領域のそれぞれについて行画像を抽出すると共に、前記垂直方向に分割された領域から抽出した行画像の数と、前記水平方向に分割された領域から抽出した行画像の数とを比較し、行画像の数の多い領域の行画像の方向を前記複数の文書画像の行画像の方向として認識し、
抽出された、行画像の数の多い方向に分割されたそれぞれの領域の行画像の複数の文字領域の位置と大きさを比較して、一致度の高い文字領域を抽出し、
抽出された文字領域の位置に基づいて前記複数の画像の重なり位置を検出し、
検出された重なり位置で前記複数の文書画像を結合することを特徴とする文書画像結合方法。
【請求項１９】
分割して読み取られた複数の文書画像の自動結合を行うか否かを表示画面上で設定できるように表示し、
前記複数の文書画像の内の任意数の文書画像またはそれぞれの文書画像を垂直及び水平方向に複数の領域に分割し、
分割された複数の領域のそれぞれについて行画像を抽出すると共に、前記垂直方向に分割された領域から抽出した行画像の数と、前記水平方向に分割された領域から抽出した行画像の数とを比較し、行画像の数の多い領域の行画像の方向を前記複数の文書画像の行画像の方向として認識し、
抽出された、行画像の数の多い方向に分割されたそれぞれの領域の行画像の文字領域を比較して、一致度の高い文字領域の位置を文書画像の重なり位置として検出し、
検出された重なり位置で前記複数の文書画像を結合することを特徴とする文書画像結合方法。
【請求項２０】
コンピュータに、
分割して読み取られた複数の文書画像の内の任意数の文書画像またはそれぞれの文書画像を垂直及び水平方向に複数の領域に分割させ、
分割された複数の領域のそれぞれについて行画像を抽出させると共に、前記垂直方向に分割された領域から抽出した行画像の数と、前記水平方向に分割された領域から抽出した行画像の数とを比較し、行画像の数の多い領域の行画像の方向を前記複数の文書画像の行画像の方向として認識させ、
抽出された、行画像の数の多い方向に分割されたそれぞれの領域の行画像の文字領域を比較して、一致度の高い文字領域の位置を前記複数の文書画像の重なり位置として検出させ、
検出された重なり位置で前記複数の文書画像を結合させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２１】
コンピュータに、
分割して読み取られた複数の文書画像の内の任意数の文書画像またはそれぞれの文書画像を垂直及び水平方向に複数の領域に分割させ、
分割された複数の領域のそれぞれについて行画像を抽出させると共に、前記垂直方向に分割された領域から抽出した行画像の数と、前記水平方向に分割された領域から抽出した行画像の数とを比較し、行画像の数の多い領域の行画像の方向を前記複数の文書画像の行画像の方向として認識させ、
抽出された、行画像の数の多い方向に分割されたそれぞれの領域の行画像の文字領域内の文字画像を文字認識させ、
それぞれの領域の文字認識結果に基づいて前記複数の文書画像の重なり位置を検出させ、
検出された重なり位置で前記複数の文書画像を結合させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２２】
コンピュータに、
分割して読み取られた複数の文書画像の自動結合を行うか否かを表示画面上で設定できるように表示させ、
前記複数の文書画像の内の任意数の文書画像またはそれぞれの文書画像を垂直及び水平方向に複数の領域に分割させ、
分割された複数の領域のそれぞれについて行画像を抽出させると共に、前記垂直方向に分割された領域から抽出した行画像の数と、前記水平方向に分割された領域から抽出した行画像の数とを比較し、行画像の数の多い領域の行画像の方向を前記複数の文書画像の行画像の方向として認識させ、
抽出された、行画像の数の多い方向に分割されたそれぞれの領域の行画像の文字領域を比較して、一致度の高い文字領域の位置を前記複数の文書画像の重なり位置として検出させ、
検出された重なり位置で前記複数の文書画像を結合させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スキャナ等で読み取った複数の文書画像を結合して１つの文書画像を再生する文書画像結合装置、文書画像結合方法及び文書画像を結合するプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
新聞、設計図面等のサイズの大きい画像を読み取りたいという要望がある。そのよう場合、Ａ１サイズ等の大きな画像を直接読み取れるスキャナーを有する画像読取装置を用いることは可能であるが、大型の画像読取装置は、装置のコストが高いばかりでなく、広い設置場所が必要となるなどの問題点があった。
【０００３】
そこで、例えばＡ４サイズのスキャナーを用いてＡ４より大きなサイズの画像を分割して読み取り、分割した画像をオペレータが画面上で見ながら手動で結合する方法、あるいは原稿または原稿に被せる透明シートに位置合わせのマークを付けておいて、分割して読み取った複数の画像をそのマークを利用して結合する方法が提案されている。
【０００４】
例えば、特開平１−２２９５５９号公報には、１回の読み取り動作によって読み取り可能な最大有効サイズより大きな原稿を、その最大有効サイズより小さい領域に分割するための分割指示マークを予め原稿に付けておき、その分割指示マークを含むように複数の領域に分割して画像を読み取り、分割指示マークの位置情報に基づいて分割した画像を１つの画像に結合する技術について記載されている。
【０００５】
図３４は、予めマークが付けられた画像を分割して読み取り、読み取った画像をマークを元に結合する従来の結合方法の説明図である。
この例では、分割した画像を結合するためのマークを入力対象画像に予め付けておいて、第１スキャンでそのマークを含むように入力対象画像の左側の第１画像を読み取り、同様に第２スキャンでそのマークを含むように右側の第２画像を読み取る。そして、第１及び第２画像のマークの位置を検出し、マークの位置が一致するように２つの画像を結合する。これにより元の入力対象画像を復元することができる。
【０００６】
最近、携帯可能なノート型のパーソナルコンピュータが普及するにつれて、ノート型のパーソナルコンピュータで使用できるような小型で持ち運びが容易なハンドヘルドスキャナーが開発、製品化されている。この種のハンドヘルドスキャナーは、本体を小型化するために小型の光電変換センサを使用しているので、一度にスキャンできる幅が狭い。そのため、例えばＡ４サイズの原稿でも複数回に分けてスキャンした後、読み取った画像を結合する必要が生じる。
【０００７】
【発明が解決しようとする課題】
しかしながら、スキャナーで読み取った画像をオペレータが手動で結合する方法は操作が煩雑であるという問題点がある。また、入力対象画像にマークを付ける方法は、画像を読み取る度にマークを付ける必要があり使い勝手が悪い。
【０００８】
本発明の課題は、分割して読み取った文書画像を自動的に結合できるようにすることである。
【００２０】
【課題を解決するための手段】
請求項１記載の発明は、分割して読み取られた複数の文書画像の内の任意数の文書画像またはそれぞれの文書画像を垂直及び水平方向に複数の領域に分割する領域分割手段と、領域分割手段により分割された複数の領域のそれぞれについて行画像を抽出すると共に、前記垂直方向に分割された領域から抽出した行画像の数と、前記水平方向に分割された領域から抽出した行画像の数とを比較し、行画像の数の多い領域の行画像の方向を前記複数の文書画像の行画像の方向として認識する行画像抽出手段と、行画像抽出手段により抽出された、行画像の数の多い方向に分割されたそれぞれの領域の行画像の文字領域を比較して、一致度の高い文字領域の位置を複数の文書画像の重なり位置として検出する重なり検出手段と、重なり検出手段により検出された重なり位置で複数の文書画像を結合する画像結合手段とを備える。
【００２１】
この発明によれば、文書画像に表、図形等が含まれている場合でも、文書画像を複数の領域に分割し、領域毎に行画像を抽出することで、図形等を含まない行画像を抽出することが可能となる。従って、それらの行画像の文字領域を比較することで文書画像の重なり位置を正確に検出することができる。
【００２２】
請求項１３記載の発明は、分割して読み取られた複数の文書画像の内の任意数の文書画像またはそれぞれの文書画像を垂直及び水平方向に複数の領域に分割する領域分割手段と、領域分割手段により分割された複数の領域のそれぞれについて行画像を抽出すると共に、前記垂直方向に分割された領域から抽出した行画像の数と、前記水平方向に分割された領域から抽出した行画像の数とを比較し、行画像の数の多い領域の行画像の方向を前記複数の文書画像の行画像の方向として認識する行画像抽出手段と、行画像抽出手段により抽出された、行画像の数の多い方向に分割されたそれぞれの領域の行画像の文字領域を比較して、一致度の高い文字領域の位置を複数の文書画像の重なり位置として検出する重なり検出手段と、重なり検出手段により検出された重なり位置で複数の文書画像を結合する画像結合手段と、複数の文書画像の自動結合を行うか否かを表示画面上で設定できる設定手段とを備える。
【００２３】
この発明によれば、ユーザは表示画面上に表示される設定手段により文書画像の自動結合を行うか否かを簡単に設定できる。例えば、表示画面上にボタンを表示し、そのボタンにより自動結合の実行の有無を指定できるようにすることで、画像を自動結合させるか否かの操作が非常に簡単になる。
【００２４】
また、使用するスキャナの解像度、文書画像の結合枚数、読み取り対象の文書画像の用紙サイズ等を画面上で設定できるので、文書画像を結合するための条件の設定が簡単になる。
【００２５】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。図１は、本発明の第１の実施の形態の文書画像結合装置（例えば、パーソナルコンピュータで構成される）１１のブロック図である。この第１の実施の形態は、２つの文書画像の文字領域を抽出し、それぞれの文字領域の大きさ、位置を比較して２つの文書の重なり位置を検出するものである。画像入力手段は、例えばハンディスキャナ等からなる。文書画像結合システムは、例えば、文書画像結合機能を有するパーソナルコンピュータとハンディスキャナとから構成される。
【００２６】
ハンディスキャナ等により読み取られた文書画像は、画像上のノイズ等を除去した後、必要に応じて傾き補正等の前処理を行って第１及び第２の画像格納部１２，１３に格納される。ここで、最初に読み取られた文書画像は、第１の文書画像として第１の画像格納部１２に格納され、２番目に読み取られた文書画像は第２の文書画像として第２の画像格納部１３に格納される。
【００２７】
文字領域検出部１４は、スキャナーで読み取られた第１及び第２の文書画像の大きさ（横画素数、縦画素数）を重なり位置検出部１５に通知する。そして、重なり位置検出部１５により指示された領域から１行分の行画像を抽出し、行画像の各文字領域の座標、例えば文書画像の左上角を原点とした直交座標における各文字領域の左上角の座標及び大きさを求め、それらを重なり位置検出部１５に通知する。なお、文字領域とは、文字に外接する四角形で囲まれる領域を指す。
【００２８】
重なり位置検出部１５は、第１及び第２の文書画像の行画像の各文字領域の大きさと位置とを比較し、大きさと位置の一致度の高い行画像の位置を文書画像の重なり位置と判断し、例えば一致した行画像の先頭の文字領域の座標と最後の文字領域の座標とを重なり位置座標として画像結合部１６に出力する。
【００２９】
画像結合部１６は、重なり位置検出部１５から出力される重なり位置座標に基づいて２つの文書画像を結合して１つの文書画像に再生する。
この第１の実施の形態によれば、２つの文書画像の行画像の文字領域の位置と大きさを比較することにより２つの文書画像の重なり位置を検出し、その重なり位置で文書を結合することができる。従って、ユーザは文書画像を結合するための操作を何も行わなくとも、分割して読み取った複数の文書画像を結合させることができる。
【００３０】
次に、図２は、本発明の第２の実施の形態の文書画像結合装置２１のブロック図である。この第２の実施の形態は、分割して読み取った２つの文書画像のそれぞれについて文字領域内の文字の認識を行って対応する文字コードを得て、２つの文書画像の文字コードと文字領域の位置及び大きさの２つを比較して重なり位置を検出するものである。
【００３１】
図２のブロックにおいて、第１の画像格納部１２、第２の画像格納部１３及び文字領域検出部１４の機能は図１と同一である。
文字認識部２２は、文字領域検出部１４で検出された文字領域の文字画像の文字認識を行って対応する文字コードを得て、その文字コードを重なり位置検出部２３に出力する。
【００３２】
重なり位置検出部２３は、第１及び第２の文書画像の行画像の文字領域の位置及び大きさと文字コードを比較し、一致度の高い行画像の位置を重なり位置と判断し、その行画像の位置座標を画像結合部１６に出力する。画像結合部１６は、その位置座標に基づいて２つの文書画像を結合する。
【００３３】
図３（Ａ）〜（Ｃ）は、原理説明図である。先ず、図３（Ａ）に示すように、１つの文書画像が２つに分割されて読み取られる。図３（Ａ）の例では文書画像の一部の文字が重なるようにスキャナーで読み取られている。次に、文字領域検出部１４により、第１及び第２の文書画像の文字領域が検出され、それぞれの文字領域の座標、大きさが重なり位置検出部１５に出力される。あるいは、文字認識部２２が文字領域内の文字の認識を行って対応する文字コードを重なり位置検出部２３に出力する。
【００３４】
重なり位置検出部１５（または２３）は、図３（Ｂ）に示すように２つの文書画像の行画像単位で文字領域の座標、大きさを比較し、一致度の高い行画像を重なり位置と判断する。あるいは、２つの文書画像の行画像の文字コードを比較し、一致度の高い行画像を重なり位置と判断する。重なり位置が検出されたなら、文書結合部１６は、２つの文書画像をその重なり位置で結合して１つの文書画像を再生する。
【００３５】
次に、文字領域の座標及び大きさと文字コードの２つを比較して重なり位置を検出する本発明の第２の実施の形態の処理内容を、図４，図６，図１０，図１３のフローチャートを参照して説明する。
【００３６】
図４は、文書画像を結合するための全体の処理を示すフローチャートである。先ず、文書画像の行の方向を識別する（図４，Ｓ４０１）。文書画像の行の方向の識別は、例えばスキャナ入力した画像の１ライン単位で水平方向及び垂直方向の黒画素数の累積値を求め、その黒画素数の累積値の分布から識別する。識別方法としては、黒画素の累積値（１ライン中に含まれる黒画素の個数）の分散を走査方向とそれに垂直な方向について計算し、分散の大きい方を行の方向と判断している。これは、行と平行に黒画素数を累積した場合には、文字の存在しない行間の部分では黒画素の累積値が「０」となり、文字の存在する行の部分では黒画素数が多くなるので、行の部分と行間とでは黒画素の累積値の分布が大きく変動するのに対して、行と直交する方向に黒画素数を累積した場合には、各ラインの中に文字の存在する部分と存在しない部分が混在するので、黒画素の累積値の分布はあまり変動しないことから、走査方向に対する行の方向を識別している。なお、走査方向に対する行の方向の識別方法は、上述した方法に限らず他の方法でも良い。
【００３７】
次に、第１の文書画像から行画像を抽出する（Ｓ４０１）。ここで、行画像とは、図５に示すように文書画像の文書の１行を構成する複数の文字画像に外接する領域内の画像を指す。
【００３８】
次に、図４のステップＳ４０２及びＳ４０４の行画像抽出処理の内容を図６のフローチャートを参照して説明する。
先ず、文書が縦書きか、横書きかにより行検出方向を決定する（図６，Ｓ６０１）。この処理では、文書が横書きであれば、第１及び第２の画像格納部１２，１３に格納されている文書画像を水平方向の１ライン単位で上から下に順に読み出す方向を選択し、文書が縦書きであれば、垂直方向の１ライン単位で右から左に順に読み出す方向を選択する。
【００３９】
次に、行画像５２の個数をカウントするカウンタＬに初期値として「０」を設定し（Ｓ６０２）、ライン番号を示すラインカウンタｋに「０」を設定して最初のラインを選択する（Ｓ６０３）。そして、ラインカウンタｋで指定される第ｋラインが黒画素を含むか否かを判別す（Ｓ６０４）。
【００４０】
第ｋラインに黒画素が含まれている場合には、文字を含む行と判断して、ラインカウンタｋの値を行の開始ライン番号としてレジスタＬｓに格納する（Ｓ６０５）。そして、ラインカウンタｋの値を「１」インクリメントして次のラインを選択する（Ｓ６０６）。そして、新たに指定された第ｋラインに黒画素が含まれるか否かを判別する（Ｓ６０７）。
【００４１】
第ｋラインに黒画素が含まれる場合には、ステップＳ６０８に進みそのライが文書画像の最後のラインか否かを判別する。文書画像の最後のラインか否かの判別は、スキャナで文書を読み取ったとき、文書の縦方向と横方向の総ドット数が分かっているので、ライン番号が縦方向または横方向の総ドット数より大きいか否かにより判断する。
【００４２】
文書画像の最後のラインでなければ（Ｓ６０８，ＮＯ）、ステップＳ６０６に戻り、次のラインを選択する。
ステップＳ６０７で第ｋラインに黒画素が含まれないと判別された場合には、それまでのラインに黒画素が含まれていて、次のラインに黒画素が含まれていないのであるから、行の終了と判断して、ステップＳ６０９に進み”ｋ−１”、すなわち黒画素を含む１ライン前のライン番号を行の終了ライン番号としてレジスタＬｅに格納する。そして、行の開始ライン番号を示すレジスタＬｓから行の終了ライン番号を示すレジスタＬｅまでの各ラインの画像を行画像として抽出する（Ｓ６１０）。
【００４３】
さらに、抽出した行画像が有効な行画像か否か、つまり重なり位置の検出に使用可能な行画像か否かを判別する（Ｓ６１１）。ステップＳ６１１の処理では、例えば、行画像として検出した領域のライン数が予め設定してある行画像のライン数を下回る場合、あるいは行画像の領域内の総画素数に対する黒画素の割合が予め設定した値より小さい場合には、文字でない画像上のノイズやゴミを読み取った可能性が高いので、その領域は行画像として不適切と判断して、ステップＳ６１３に進む。
【００４４】
ステップＳ６１１で有効な行画像と判断された場合には、行画像の数をカウントするカウンタＬの値を「１」インクリメントする（Ｓ６１２）。文書画像の横方向と縦方向の画素数は予め決められているので、ラインカウンタｋの値と文書画像の縦方向の画素数とを比較し、ラインカウンタｋの値が縦方向の画素数に達したか否かにより、ラインカウンタｋで指定されるラインが文書画像の最後のラインか否かを判別する（Ｓ６１３）。文書画像の最後のラインでなければ、ラインカウンタｋの値をインクリメントして次のラインを選択し（Ｓ６１４）、ステップＳ６０４に戻り、上述した処理を文書画像の最後のラインに達するまで繰り返しす。
【００４５】
上述した行画像の抽出処理を２つの文書画像に対して行い、それぞれの行画像の開始ライン番号、終了ライン番号、行数を求める。
図４に戻り、ステップＳ４０２で第１の文書画像の行画像を抽出したなら、次のステップＳ４０３で、抽出した行画像の文字領域を検出し、それぞれの文字を認識して対応する文字コードを取得する。
【００４６】
同様に、ステップＳ４０４で第２の文書画像の行画像を抽出したなら、次のステップＳ４０５で、抽出した行画像の文字領域を抽出し、それぞれの文字を認識して対応する文字コードを取得する。
【００４７】
文字領域とは、図７に示すように文書画像の各文字に外接する領域を指している。行画像から文字領域を検出しその文字領域内の文字の認識を行う。
図４に戻り、２つの文書画像の文字コードを取得したなら、次に、比較方向と順序を決定する（Ｓ４０６）。
【００４８】
行画像の比較の方向、順序は、例えば図８に示すように横書きの文書を２分割してスキャンする場合には、文書画像の上半分を最初にスキャンし、次に下半分をキャンすることが１番多いと思われる。そこで、図９（Ａ）に示すように、第２の文書画像の上側の水平方向の１または複数の行画像と、第１の文書画像の水平方向の行画像を下側の行画像から中心に向かって順に比較する方向、あるいは第１の文書画像の下側の水平方向の１または複数の行画像と、第２の文書画像の水平方向の行画像を上側の行画像から中心に向かって順に比較する方向を、横書き文書の優先順位の１番目の比較方向として選択する。
【００４９】
また、図８（Ｂ）に示すように縦書きの文書画像を２分割してスキャンする場合には、文書画像の右半分を最初にスキャンし、次に左半分をスキャンすることが１番多いと思われる。そこで、図９（Ｄ）に示すように、第２の文書画像の右側の垂直方向の１または複数の行画像と、第１の文書画像の垂直方向の行画像の左側の行画像から中心に向かう方向に順に比較する方向、あるいは第１の文書画像の垂直方向の１または複数の行画像と、第２の文書画像の垂直方向の行画像の右側の行から中心に向かう方向に順に比較する方向を、縦書き文書の優先順位の１番目の比較方向として選択する。
【００５０】
さらに、横書きの文書で下半分を最初にスキャンし、次に上半分をスキャンした場合を想定して、図９（Ｂ）に示すように第２の文書画像の水平方向の行画像を下側から中心に向かう方向に、あるいは第１の文書画像の水平方向の行画像を上側から中心に向かう方向に順に比較する方向を優先順位の２番目の比較方向として選択する。
【００５１】
同様に、縦書きの文書で左半分を最初にスキャンし、次に右半分をスキャンした場合を想定して、図９（Ｃ）に示すように、第１の文書画像の垂直方向の行画像を右側から中心に向かう方向に、あるいは第２の文書画像の垂直方向の行画像を左側から中心に向かう方向に順に比較する方向を優先順位の２番目の比較方向として選択する。
【００５２】
また、場合によっては、図１０（Ａ）に示すように横書きの文書画像を縦方向に２分割してスキャンすることも、あるいは図１０（Ｂ）に示すように縦書きの文書を横方向に２分割してスキャンすることも考えられる。
【００５３】
文書画像の結合方向は文書のスキャン方向及び順序により定まる。縦書き文書を左右に２分割してスキャンした場合の文書画像の結合方向としては、図１１に示すような４つの方向が考えられる。
【００５４】
▲１▼最初に縦書き文書画像の右半分をスキャンし、次にその左半分をスキャンした場合には、図１１（Ａ）に示すように最初に読み取られた第１の文書画像の左端部と２番目に読み取られた第２の文書画像の右端部を結合する必要がある。
【００５５】
▲２▼最初に文書画像の左半分をスキャンし、次に右半分をスキャンした場合には、図１１（Ｂ）に示すように最初に読み取られた第１の文書画像の右端部と２番目に読み取られた第２の文書画像の左端部とを結合する必要がある。
【００５６】
▲３▼縦書き文書を上下に２分割してスキャンした場合で、最初に文書画像の上半分をスキャンし、次に下半分をスキャンした場合には、図１１（Ｃ）に示すように最初に読み取られた第１の文書画像の下端部と２番目に読み取られた第２の文書画像の上端部とを結合する必要がある。
【００５７】
▲４▼最初に文書画像の下半分をスキャンし、次に上半分をスキャンした場合には、図１１（Ｄ）に示すように最初に読み取られた第１の文書画像の上端部と２番目に読み取られた第２の文書画像の下端部とを結合する必要がある、
また、横書き文書を２分割してスキャンした場合の文書画像の結合方向としては、図１２に示すような４つの方向が考えられる。
【００５８】
▲１▼最初に文書画像の上半分をスキャンし、次に下半分をスキャンした場合には、最初に読み取られた第１の文書画像の下端部と２番目に読み取られた第２の文書画像の上端部とを結合する必要がある。
【００５９】
▲２▼最初に横書き文書の下半分をスキャンし、次にその上半分をスキャンした場合には、図１２（Ｂ）に示すように最初に読み取られた第１の文書画像の上端部と２番目に読み取られた第２の文書画像の下端部とを結合する必要がある。
【００６０】
▲３▼横書き文書を左右に２分割してスキャンした場合で、最初に文書画像の左半分をスキャンし、次にその右半分をスキャンした場合には、図１２（Ｃ）に示すように最初に読み取られた第１の文書画像の右端部と２番目に読み取られた第２の文書画像の左端部を結合する必要がある。
【００６１】
▲４▼横書き文書を左右に２分割してスキャンした場合で、最初に文書画像の右半分をスキャンし、次にその左半分をスキャンした場合には、図１２（Ｄ）に示すように最初に読み取った第１の文書画像の左端部と２番目に読み取った第２の文書画像の右端部とを結合する必要がある。
【００６２】
以上のことを前提として比較方向とその順序が決定したなら、図４のステップＳ４０７の重なり位置検出処理を実行する。この重なり位置検出処理にについては後に詳しく説明する。
【００６３】
次のステップＳ４０８で重なり位置が検出されたか否かを判別し、重なり位置が検出されたなら、その重なり位置で第１と第２の文書画像を結合する。
これにより、ユーザは分割して読み取った２つの文書画像を結合するための操作を何も行わなくとも、２つの文書画像を１つの文書画像に結合することができる。
【００６４】
ここで、図４のステップＳ４０７の重なり位置検出処理の処理内容を、図１３のフローチャートを参照して説明する。
先ず、横書きの文書の上半分を最初にスキャンし、次に重なり部分を含むように下半分をスキャンした場合（図９（Ａ））、あるいは縦書きの文書の右半分を最初にスキャンし、次に重なり部分を含むように左半分をスキャンした場合（図９，（Ｄ））を想定して行画像の比較を行う。
【００６５】
最初に第２の文書画像の行画像を指定する行カウンタｋ２に「１」を設定して、第２の文書画像の１行目の行画像を指定する（図１３，Ｓ１００１）。そして、そのｋ２行の行画像の文字領域の座標、大きさと文字コードを取得する（Ｓ１００２）。
【００６６】
ここで、文書画像の行番号は、文書をスキャンしたときのスキャン方向により自動的に決められており、例えば図１４（Ａ）に示すように、横書き文書画像を上から下にスキャンした場合には、上側の最初の行画像の行番号が「１」となり、以下順に「２」、「３」・・・と行番号が設定される。また、図１４（Ｂ）に示すように縦書きの文書画像を右側から左側にスキャンした場合には、右側の最初の行画像の行番号が「１」となり、以下「２」、「３」・・・と行番号が設定される。
【００６７】
次に、第１の文書画像の行画像を指定する行カウンタｋ１に第１の文書画像の最終行の行番号Ｌ１を設定する（図１３，Ｓ１００３）。
上述した処理で第２の文書画像の１行目の行番号を行カウンタｋ２に設定し、第１の文書画像の最終行の行番号を行カウンタｋ１に設定しているのは、横書き（または縦書き）の文書を上下に２分割してスキャンする場合、最初に文書画像の上側半分（または右半分）をスキャンし、次に下半分（または左半分）をスキャンすることが多いと考えられるので、第１の文書画像の下側（または左側）の行画像と、それに続く第２の文書画像の上側（または右側）の行画像が一致する可能性が高いので、第２の文書画像の１行目と第１の文書画像の最終行から中心に向かって順に比較することで、少ない比較回数で重なり位置を検出するためである。
【００６８】
次に、行カウンタｋ１で指定される第１の文書画像のｋ１行の行画像の文字領域と文字コードを取得する（Ｓ１００４）。
そして、第２の文書画像のｋ２番目（例えば、１行目）の行画像の隣接する文字領域の位置の差と第１の文書画像のｋ１番目（例えば、最終行）の行画像の隣接する文字領域の位置の差のずれ、それぞれの文字領域の大きさ及び第２の文書画像のｋ２番目の行画像の文字コードと第１の文書画像のｋ１番目の行画像の文字コードの一致度を計算する（Ｓ１００５）。そして、２つの行画像の文字領域の相対位置と大きさの一致度を表す評価式の値が予め定めた閾値以下か否か、文字コードの一致度を示す値が所定値以下か否かを判別する（Ｓ１００６）。
【００６９】
２つの文書画像の行画像の文字領域の相対位置及び大きさの一致度は、例えば、図１５に示すように文書画像の左上角を原点としたときの第１の文書画像の行画像のｉ番目の文字領域の左上角の座標を（Ｘai，Ｙai）、文字領域の高さをＨａｉ  幅をＷａｉ、ｉ＋１番目の文字領域の座標を（Ｘai+1，Ｙai+1）、第２の文書画像の行画像のｉ番目の文字領域の左上角の座標を（Ｘbi，Ｙbi）、文字領域の高さをＨｂｉ、幅をＷｂｉ, ｉ＋１番目の文字領域の座標を（Ｘbi+1，Ｙbi+1）としたとき、以下の式で表せる。
【００７０】
Ｐ＝Σ（（｜Ｘai+1−Ｘai｜−｜Ｘbi+1−Ｘbi｜）2 
＋（｜Ｙai+1−Ｙai｜−｜Ｙbi+1−Ｙbi｜）2 ）    ・・・（１）
S ＝Σ（（Ｗai+1−Ｗbi) 2 ＋（Ｈai+1−Ｈbi) 2 ）        ・・・（２）
上記の（１）式の｜Ｘai+1−Ｘai｜、｜Ｙai+1−Ｙai｜は、第１の文書画像のｉ＋１番目の文字領域とｉ番目の文字領域の左上角の位置の水平方向及び垂直方向の差を示している。同様に｜Ｘbi+1−Ｘbi｜、｜Ｙbi+1−Ｙbi｜は、第２の文書画像のｉ＋１番目の文字領域とｉ番目の文字領域の左上角の位置の水平方向及び垂直方向の差を示している。従って、｜Ｘai+1−Ｘai｜−｜Ｘbi+1−Ｘbi｜は２つの文書画像のｉ＋１番目とｉ番目の文字領域の左上角の位置の水平方向の差のずれを表し、同様に｜Ｙai+1−Ｙai｜−｜Ｙbi+1−Ｙbi｜は２つの文書画像のｉ＋１番目とｉ番目の文字領域の垂直方向の差のずれを表している。そして、２つの文書画像の隣接する文字領域の左上角の位置の差のずれを累積加算することにより、２つの文書画像の行画像内の文字領域の相対位置の一致度を求めることができる。なお、ずれを２乗しているのは、累積加算する際に打ち消しあって相殺されないようにするためである。
【００７１】
２つの文書画像の行画像が一致すれば、行画像内の隣接する文字領域の位置の垂直方向及び水平方向の差は同じになるのでずれが小さくなり、（１）式のＰの値は”０”または”０”に近い値となる。また、行画像が不一致であれば、行画像内の隣接する文字領域の位置の垂直方向及び水平方向の差のずれが大きくなり、Ｐの値も大きくなる。行画像が完全に一致すれば、Ｐの値は”０”となるが、スキャン画像であるので多少のゆがみが生じることを考慮して、予め定めた閾値とＰとを比較し、Ｐが閾値以下であれば行が重なりあるものと判定するようにしている。
（２）式のＳは文字領域の幅と高さのの違いを表しており、それぞれの文字領域の大きさが一致し、行画像の一致度が高いほど値が小さくなる。
【００７２】
また、文字コードの一致度を示す値Ｒは、
”Ｒ＝Σ｜Ｍai＝＝Ｍbi？０：１｜／Ｎ”  で表すことができる。
Ｍai、Ｍbiは、第１及び第２の文書画像のｉ番目の文字の文字コード、Ｎは１行の文字数を示している。上記の式のΣ｜Ｍai＝＝Ｍbi？０：１｜／Ｎの中の値は文字コードが一致したとき、”０”、不一致のとき”１”となるので、一致度を示す左辺の値Ｒは、文字コードの一致度が高い程小さな値となる。
【００７３】
図１３に戻り、文字領域の位置及び大きさの一致度を示すＰ，Ｓの値と文字コードの一致度を示すＲの値をそれぞれ所定のしきい値と比較し、Ｐ，Ｓの値が所定の閾値より大きいか、または文字コードの一致度を示す値Ｒが所定値より大きい場合には、２つの行画像は不一致と判断し、第１の文書画像の行カウンタｋ１の値から「１」を減算して次の行画像を指定する（Ｓ１００７）。そして、カウンタｋ１の値が「１」以上か否か、つまり第１の文書画像の行画像の比較を最終行から１行目まで終了したか否かを判別する（Ｓ１００８）。
【００７４】
カウンタｋ１の値で「１」以上であれば、すなわち第１の文書画像で比較を行っていない行画像が残っている場合には、ステップＳ１００４に戻りｋ１行目の行画像の文字領域と文字コードを取得し、上述した処理を繰り返す。
【００７５】
他方、上述した行画像の比較を行ってＰ，Ｓの値が所定の閾値以下となり、かつ文字コードの一致度を示す値Ｒが所定値以下となったなら（Ｓ１００６，ＹＥＳ）、行画像が一致するものと判断し、ステップＳ１００９に進み一致した行画像の座標を重なり位置として格納する。
【００７６】
他方、ステップＳ１００８で第１の文書画像の行カウンタｋ１の値が「０」以下と判別されたとき、すなわち第１の文書画像の全ての行画像と第２の文書画像の１行目の行画像を比較した結果、一致する行画像が存在しないときには、文書画像のスキャン方向が異なるもの、つまり文書の上半分を最初にスキャンし、次に下半分をスキャンしたのではないと判断し、優先順位の２番目の比較方向で行画像の比較を行う。
【００７７】
以下、この優先順位の２番目の比較方向での重なり位置検出処理を図１６のフローチャートを参照して説明する。
優先順位の２番目の比較方向は、文書画像の下半分（または左半分）を最初にスキャンし、次に文書の上半分（または右半分）をスキャンした場合を想定しているので、第２の文書画像の最終行の行画像と第１の文書画像の各行画像を比較するために第２の文書画像の最終行の行番号Ｌ２を第２の文書画像の行画像を指定する行カウンタｋ２に設定する（図１６，Ｓ１３０１）。さらに、第２の文書画像のｋ２番目の行画像の文字領域と文字コードを取得する（Ｓ１３０２）。
【００７８】
次に、第１の文書画像の行画像を指定する行カウンタｋ１に「１」を設定して、１行目の行画像を指定する（Ｓ１３０３）。さらに、第１の文書画像のｋ１番目の行画像と第２の文書画像のｋ２番目の行画像の文字領域の座標、大きさの一致度を表す評価式の計算及び文字コードの一致度を示す値Ｒを計算する（Ｓ１３０４）。文字領域の座標及び大きさの一致度は、上述した（１）、（２）式の評価式を用いて計算する。
【００７９】
そして、評価式のＰ，Ｓの値が予め設定した閾値以下か否か、文字コードの一致度を示す値Ｒが所定値以下か否かを判別する（Ｓ１３０６）。Ｐ，Ｓの値が閾値より大きいとき、または文字コードの一致度を示す値Ｒが所定値より大きいときには（Ｓ１３０６，ＮＯ）、２つの行画像は不一致と判断し、ステップＳ１３０７に進み行カウンタｋ１の値に「１」を加算して、次の行を指定する。そして、行カウンタｋ１の値が第１の文書画像の最終行の行番号Ｌ１以下か否かを判別する。
【００８０】
行カウンタｋ１の値が最終行の号番号Ｌ１以下のときには（Ｓ１３０８，ＮＯ）、ステップＳ１３０４に戻り、行カウンタｋ１で指定される行画像の文字領域、文字コードを取得し、それらの文字領域、文字コードと第２の文書画像の最終行の文字領域、文字コードとを比較する。
【００８１】
他方、Ｐ，Ｓの値が閾値以下、かつ文字コードの一致度を示す値Ｒが所定値以下と判別された場合には（Ｓ１３０６，ＹＥＳ）、第１の文書画像と第２の文書画像の行画像が一致したものと判断し、ステップＳ１３０９に進み行画像の座標を重なり位置座標として格納する。
【００８２】
なお、行カウンタｋ１の値が最終行の行番号を超えた場合は（Ｓ１３０８，ＮＯ）、優先順位の１番目と２番目の２つの比較方向で２つの文書の行画像を比較しても一致する行画像が存在しなかった場合であるので、ステップＳ１３１０に進み重なり位置が検出できなかったことを通知する。
【００８３】
この実施の形態によれば、文書を複数（２以上）の文書画像に分割して読み取った場合に、読み取った文書画像の行画像の文字領域の位置、大きさ及び文字コードを比較して一致する行画像を検出することにより文書画像の重なり位置を検出することができる。これにより、分割して読み取った文書画像を自動的に結合することができる。
【００８４】
上述した第２の実施の形態では、文書画像の行画像の文字領域の位置及び大きさと文字コードの両方を用いて行画像の比較を行っているが、ＯＣＲのための辞書データを格納する記憶容量が足りなかったり、ＯＣＲ処理に時間がかかってしまう低速なシステム等でＯＣＲを搭載できないシステムでは、文字領域の位置と大きさのみを比較するようにしても良い。また、複数の行で文字が同じ順序で配置される可能性は少ないので、文字の大きさ、位置関係を比較せず、文字コードのみを比較するようにしても良い。
【００８５】
次に、図１７は、文書画像の文字領域のパターン、すなわち位置と大きさを比較して文書画像の重なり位置を検出する本発明の第１の実施の形態の重なり位置の検出方法の説明図である。
【００８６】
この第１の実施の形態の重なり位置検出処理も基本的には第２の実施の形態の重なり位置検出処理と同様であり、１つ文書画像を上半分を最初にスキャンし、次に下半分をスキャンした場合に対応する行画像の比較方向を優先順の１番目のとし、文書画像の下半分を最初にスキャンし、次に上半分をスキャンした場合に対応する行画像の比較方向を優先順位の２番目に設定している。
【００８７】
図１３のステップＳ１００６の行画像の一致度の判定で、１番目の優先順位の比較方向、すなわち第２の文書画像の１行目の行画像の文字領域の位置と大きさと、第１の文書画像の最終行の行画像の文字領域の位置と大きさとを比較して行画像の一致度を判定する。行画像が一致すると判定したなら、ステップＳ１００９で、例えばその行画像の左端の文字領域の座標と右端の文字領域の座標を重なり位置座標として保存する。そして、その重なり位置で２つの文書画像を結合する。
【００８８】
この第１の実施の形態は、行画像の文字領域の位置とその大きさのみから行画像の一致度を判定しているので、文字領域の位置及び大きさと、文字認識の両方を行って一致度を判定する場合に比べて重なり位置検出処理の処理プログラムが簡単になり処理時間も短くなる。
【００８９】
次に、分割して読み取った文書画像の行画像の文字コードのみを比較して文書画像の重なり位置を検出する本発明の第３の実施の形態の重なり位置検出方法を図１８を参照して説明する。
【００９０】
この第３の実施の形態の文書画像結合装置の基本的構成は、図２に示す文書画像結合装置と同様である。
この第３の実施の形態では、図１３のフローチャートにおいて、ステップＳ１００２，ステップＳ１００４で第２の文書画像の１行目の行画像の文字コードと第１の文書画像の最終行の行画像の文字コードを取得したなら、ステップＳ１０００５で２つの文書画像の文字コードの一致度を示す値Ｒを算出する。そして、一致度を示す値が所定値以下であれば、ステップＳ１００９で行画像が一致するものと判断し、その行画像の座標を重なり位置座標として保存する。
【００９１】
この第３の実施の形態は、文書画像の行画像の文字の文字認識を行って文字コードを得て、分割して読み取った２つの文書画像を行単位で文字コードを比較することで文書画像の重なり位置を検出することができるので、文書毎に位置合わせのマーク等を付ける必要がなく、簡単に文書を結合することができる。
【００９２】
次に、読み取った文書画像を複数の領域に分割し、分割した領域から行画像を抽出し、それぞれの領域の行画像に含まれる文字を比較して複数の文書画像の結合位置を検出するようにした本発明の第４の実施の形態を説明する。
【００９３】
この実施の形態の文書画像結合装置の基本的構成は、図２の文書画像結合装置２１と同じであり、図２の構成と異なる点は、文字領域検出部１４が、第１及び第２の画像格納部１２，１３に格納されている第１及び第２の文書画像をそれぞれ複数の領域に分割する機能と、それぞれの領域から行画像を抽出する機能を有している点である。
【００９４】
図１９は、第４の実施の形態の処理の概略を示すフローチャートである。先ず、スキャナにより分割して読み取った文書画像を順に第１の文書格納部１２と第２の文書格納部１３に格納する（図１９，Ｓ１９０１）。次に、第１及び第２の文書画像をそれぞれ複数の領域に分割し、それぞれの領域から行画像を抽出する（Ｓ１９０２）。
【００９５】
ここで、図１９のステップＳ１９０１の行画像の抽出処理を、図２０のフローチャートを参照して説明する。
先ず、分割して読み取った第１及び第２の文書画像を垂直方向及び水平方向にそれぞれ複数の領域に分割する（図２０，Ｓ２００１）。次に、全ての領域の行画像の抽出が終了したか否かを判別する（Ｓ２００２）。
【００９６】
全ての領域の抽出が終了していなければ（Ｓ２００２，ＮＯ）、ステップＳ２００３に進み、第１または第２の文書画像の複数の領域の中から、垂直方向または水平方向に分割した領域の１つを抽出する。
【００９７】
次に、領域の分割線と垂直な方向に白画素ラインと黒画素ラインを検出し、画像の先頭ラインが黒画素ラインか否かを判別する。黒画素ラインか白画素ラインの判別は、黒画素の数が所定値より多いラインを黒画素ラインとし、黒画素の数が所定値未満のラインを白画素ラインと判定している。
【００９８】
図２１は白画素ラインと黒画素ラインの抽出方法の説明図である。例えば、領域の分割線に対して垂直な方向が図２１（Ａ）の縦方向であるとすると、図２１（Ａ）の文字の左端のラインには黒画素が３個含まれる。仮に、この文字が縦書きの文書の文字であるとすると、当然同一ライン上には他の文字の黒画素が含まれることになるので、ライン全体では多数の黒画素が検出されて、このラインは黒画素ラインと判定される。
【００９９】
他方、図２１（Ｂ）に示すような文字が存在しないいライン、例えば図２１の左端のラインには黒画素が含まれない。従って、ライン全体でも黒画素数が所定値以下となるので、そのラインは白画素ラインと判定される。また、罫線が存在する場合でも、罫線と直交する方向にラインを選択した場合には、図１２（Ｂ）の領域の右端のラインように罫線による黒画素が１個含まれることになるが、ライン全体では罫線以外に黒画素が存在しなければ、そのラインは白画素ラインと判定される。
【０１００】
図２０に戻り、画像の先頭ラインが黒画素ラインの場合には（Ｓ２００４，ＹＥＳ）、黒画素領域をスキップして白画素ラインの検出を行う（Ｓ２００５）。これは、最初に検出された領域が黒画素領域であった場合、スキャン時に文字の全体が読み取られず、文字の一部が読み取られている可能性があるので、その黒画素領域を文書画像の結合位置の検出に使用しないようにするためである。
【０１０１】
領域の先頭ラインが黒画素ラインで、その黒画素領域をスキップして次の白画素ラインを検出した場合、あるいはステップＳ２００４で領域の先頭ラインが黒画素ラインではないと判別された場合には、ステップＳ２００６においてフラグｆｌａｇに”ｗｈｉｔｅ”を設定する。そして、その領域に画素の判別を行っていないラインが存在するか否かを判別する（Ｓ２００７）。画素の判別を行っていないラインが存在する場合には（Ｓ２００７，ＹＥＳ）、フラグｆｌａｇが”ｂｌａｃｋ”か否かを判別する（Ｓ２００８）。
【０１０２】
フラグｆｌａｇが”ｂｌａｃｋ”でない場合（Ｓ２００８，ＮＯ）、つまり先頭の黒画素領域の次に白画素ラインが検出された場合、あるいは先頭ラインが白画素ラインであった場合には、ステップＳ２００９に進み次のラインが黒画素ラインか否かを判別する。
【０１０３】
次のラインが黒画素ラインでなければ（Ｓ２００９，ＮＯ）、ステップＳ２０１０に進み白画素ラインの数を計数するカウンタ”ｗｈｉｔｅ＿ｌｉｎｅ”をインクリメントして次のラインを指定する。
【０１０４】
ステップＳ２００７〜Ｓ２０１０の処理を繰り返し白画素領域の次の黒画素ラインを検出すると、ステップＳ２００９の判別がＹＥＳとなり、ステップＳ２０１１に進みフラグｆｌａｇに”ｂｌａｃｋ”を設定する。
【０１０５】
フラグｆｌａｇが”ｂｌａｃｋ”となると、ステップＳ２００８の判別がＹＥＳとなり、ステップＳ２０１２に進みラインが白画素ラインか否かを判別する。ラインが白画素ラインでなければ（Ｓ２０１２，ＮＯ）、ステップＳ２０１３に進み黒画素ラインの数をカウントするカウンタ”ｂｌａｃｋ＿ｌｉｎｅ”をインクリメント（ｂｌａｃｋ＿ｌｉｎｅ＋＋) した後、ステップＳ２００７に戻り、順次ラインを検出して黒画素ラインの数をカウントする。
【０１０６】
そして、黒画素ラインが終了して次の白画素ラインが検出されると（Ｓ２０１２，ＹＥＳ）、ステップＳ２０１４に進みフラグｆｌａｇに”ｗｈｉｔｅ”を設定する。
【０１０７】
以上のようにして白画素ラインとそれに続く黒画素ラインが検出されたなら、白画素ラインの数をカウントするカウンタ”ｗｈｉｔｅ＿ｌｉｎｅ”の値が所定値”ｗｈｉｔｅ＿ｔｈｒｅｓｈ１”より大きいか否かを判別する。
【０１０８】
なお、白画素ラインの数が所定値”ｗｈｉｔｅ＿ｔｈｒｅｓｈ１”より大きいか否かを判別しているのは、行画像の方向に対して垂直方向に画素を検出するラインが設定された場合には、文字と文字の間の空白部分が白画素領域として検出される。このときの白画素領域の幅が所定値”ｗｈｉｔｅ＿ｔｈｒｅｓｈ１”以下となるように”ｗｈｉｔｅ＿ｔｈｒｅｓｈ１”の値を設定しておけば、文字間の空白と、行と行との間の空白行を識別できるからである。
【０１０９】
白画素ラインの数”ｗｈｉｔｅ＿ｌｉｎｅ”が所定値”ｗｈｉｔｅ＿ｔｈｒｅｓｈ１”より大きいときには、この白画素領域を行間と見なし次のステップＳ２０１６に進む。ステップＳ２０１６では、黒画素ラインの数”ｂｌａｃｋ＿ｌｉｎｅ”が黒画素ライン数の下限値”ｂｌａｃｋ＿ｔｈｒｅｓｈ１”より大きく、かつ上限値”ｂｌａｃｋ＿ｔｈｒｅｓｈ２”より小さいか否かを判別する。
【０１１０】
白画素ラインの数が所定値より大きく、かつ黒画素ラインの数が所定範囲内にあるとき、つまり行間に相当する所定幅以上の白画素領域が検出され、その白画素領域に隣接する所定幅の黒画素領域が検出された場合には（Ｓ２０１６，ＹＥＳ）、その黒画素領域を行画像（行）として抽出する（Ｓ２０１７）。
【０１１１】
ここで、黒画素ラインの数が”ｂｌａｃｋ＿ｔｈｒｅｓｈ２”より小さいことを行画像の条件として設定しているのは、文書画像に図形等が含まれている場合、図形を含む複数のラインを黒画素ラインとして検出した場合、一般に図形の幅は行画像の幅より広いので、その黒画素ラインの数は、行画像の黒画素ラインの数より大きくなる。そこで、黒画素ラインの数の上限値を設定することで、図形等を含む黒画素領域が行画像として抽出され、画像の結合位置を検出するための処理に無駄が生じるのを防ぐためである。
【０１１２】
以上の処理により１つの行画像が検出されたので行数をカウントする行カウンタをインクリメントし（Ｓ２０１８）、次の白画素ラインまたは黒画素ラインを検出するためにラインカウンタ”ｗｈｉｔｅ＿ｌｉｎｅ”及び”ｂｌａｃｋ＿ｌｉｎｅ”にそれぞれ「０」を設定する（Ｓ２０１９）。その後、ステップＳ２００７に戻り、上述した処理を繰り返し、次の白画素領域または黒画素領域の検出を行う。
【０１１３】
なお、ステップＳ２０１５で白画素ラインの数が所定値”ｗｈｉｔｅ＿ｔｈｒｅｓｈ１”以下と判別された場合（Ｓ２０１５，ＮＯ）、つまり白画素領域が行間ではない場合には、検出した黒画素領域は行画像ではないので、ステップＳ２０１９に進みラインカウンタ”ｗｈｉｔｅ＿ｌｉｎｅ”及び”ｂｌａｃｋ＿ｌｉｎｅ”をクリアする。
【０１１４】
同様に、ステップＳ２０１６で黒画素ラインの数が所定範囲外と判別された場合には（Ｓ２０１６，ＮＯ）、黒画素領域が行画像に該当しないと判断し、ステップＳ２０１９に進みラインカウンタ”ｗｈｉｔｅ＿ｌｉｎｅ”及び”ｂｌａｃｋ＿ｌｉｎｅ”をクリアする。
【０１１５】
以上の処理を繰り返し、ステップＳ２００７で画素を判別していないラインが存在しないと判別された場合（Ｓ２００７，ＮＯ）、つまり垂直（または水平）方向に分割した１つの領域の全てのラインの検出が終了した場合には、ステップＳ２００２に戻り、全ての領域が終了したか否かを判別し、領域が存在する場合には、上述した処理を繰り返す。
【０１１６】
なお、この第４の実施の形態では、分割して読み取った文書画像をそれぞれ垂直及び水平方向の領域に分割し、垂直方向に分割した領域の行画像の数、水平方向に分割した領域の行画像の数を求め、両者を比較して、行画像の数の多い方の領域を結合位置の検出に用いるようにしている。これは、行の方向に対して垂直方向に領域を分割することにより、図形、表等を含まない行画像を抽出できるからである。これにより、文書画像が縦書き、横書きの何れでも、また図形、表等が文書画像に含まれていても、文書画像から文字を含む行画像を正確に切り出すことができる。
【０１１７】
図２２は、行画像の抽出の説明図である。図２２の右側に示す文書画像の領域から、垂直方向及び水平方向に１ラインづつ黒画素ラインまたは白画素ラインが検出され、連続する白画素ラインが白画素領域として、連続する黒画遅ラインが黒画素領域として抽出される。さらに、黒画素ラインの数が上述した条件を満たすとき、一定数の黒画素ラインからなる黒画素領域は行画像として抽出される。この結果、図２２の左側に示すような行画像を抽出することができる。
【０１１８】
次に図２３は、図形を含む文書の行画像の抽出の説明図である。文書画像に図形が含まれている場合でも、行画像に対して垂直方向に上下２つの領域に分割し、領域単位で行画像の抽出を行うことで、上側の領域１から図形が含まれない黒画素領域及び白画素領域を抽出することができる。すなわち、図形を含む文書であっても、複数の領域に分割することにより、領域１から行画像を切り出すことが可能となる。
【０１１９】
例えば、複数の領域に分割せずに行画像の抽出を行ったとすると、図２３の領域１の左から３行目の「そこで、最低二学年で１つの」という文章が書かれた行の隣の空白行には下側の図形の黒画素が含まれてしまうので、白画素領域ではなく黒画素領域として検出されてしまう可能性があり、本来文字の存在しない空白行と文字を含む行画像とを区別することが難しかった。
【０１２０】
この第４の実施の形態では、分割して読み取った文書画像を複数の領域に分割し、領域毎に行画像を抽出することにより、文書画像に図形、表、罫線等が含まれていても、それらを除いた文字のみが含まれる行画像を抽出することができる。これにより、後述する文書画像の結合位置の検出処理において、文書画像の結合位置となり得る有効な行画像を用いて行画像の比較を行うことができるので、結合位置を検出するための処理時間を短縮し、より効率的に文書画像を結合することができる。
【０１２１】
次に、図１９のステップＳ１９０３の画像の結合位置の検出処理の内容を図２４のフローチャートを参照して説明する。
上述した行画像の抽出処理により行画像の数の多かった領域を第１及び第２の文書格納部１２，１３からそれぞれ取り出す（図２４，Ｓ２４０１）。このとき取り出す領域は、２つの文書画像の対応する領域を第１の候補として取り出す。例えば、図２５に示すように２つの文書画像が読み取られ、それぞれの文書画像を上下２つの領域に分割した場合には、それぞれ対応する上側の領域１を取り出す。これは、文書画像をハンディスキャナによりスキャンするとき、通常は同じ方向にスキャンするので、第１及び第２の文書画像の対応する位置の領域の行画像から順に比較するためである。
【０１２２】
次に、第１の文書画像の領域１の行画像を取り出す（Ｓ２４０２）。なお、第１の文書画像の領域１から行画像を取り出す際に、縁から中心に向かう方向に順に行画像を取り出す。次に、取り出した行画像のそれぞれの文字を文字認識して対応する文字コードを検出する（Ｓ２４０３）。
【０１２３】
次に、第２の文書画像の領域１の行画像を取り出す（Ｓ２４０４）。さらに、行画像のそれぞれの文字を文字認識して対応する文字コードを検出する（Ｓ２３０５）。２つの文書画像のそれぞれの領域の行画像の文字コードを比較し、文字コードの一致度（画像の一致度）が所定値”Ｔｈｒｅｓｈ”より大きいか否かを判別する（Ｓ２４０６）。このとき、先頭の文字コードが一致しない場合には、２つの領域の文字の配列がずれていることも考えられるので、一方の領域の先頭の文字コードと他方の領域の文字コードを順に比較して文字コードが一致するかどうかを判別する。
【０１２４】
文字コードの一致度が所定値以下の場合（Ｓ２４０６，ＮＯ）、つまり第１の文書画像の或る行画像の文字列と第２の文書画像の或る行画像の文字列の一致度が低い場合には、第２の文書画像の選択した領域に文字コードを比較していない行画像が存在するか否かを判別する（Ｓ２４０７）。文字コードを比較していない行画像が存在する場合には、ステップＳ２４０４に戻り第２の文書画像の次の行画像を取り出し上述した処理を繰り返す。
【０１２５】
ステップＳ２４０７で、第２の文書画像の選択した領域に文字コードの比較を行っていない行画像が存在しない場合（Ｓ２４０７，ＮＯ）、つまり第１の文書画像の選択した領域の特定の行画像（例えば、１番目の行画像）と、第２の文書画像の選択した領域の全ての行画像の文字コードの比較が終了して文字コード一致度が所定値以下のときには、ステップＳ２４０１に戻り第１及び第２の文書画像の次の領域を取り出し上述した処理を繰り返す。
【０１２６】
この結果、文字コードの一致度が所定値”Ｔｈｒｅｓｈ”より大きい行画像が検出されたなら、ステップＳ２４０８に進み一致度の高い行画像の文字領域を文書画像の結合位置（重なり位置）として検出する。
【０１２７】
なお、文書を複数に分割してスキャンする場合、個人によってスキャン順序、あるいはスキャン方向に一定の傾向があると考えられるので、それぞれの行画像に番号を付け、過去に結合位置として検出された行画像の検出頻度を行画像の番号（識別情報）に対応させて記憶しておいて、検出頻度の高い行画像を優先して文字コードの比較を行うようにしても良い。このように過去に結合位置として検出された行画像の位置を優先して比較の対象とすることにより結合位置を検出するための処理時間を短縮することができる。
【０１２８】
図２５は、２つの画像の結合面が行画像と平行な場合、つまり文書画像を行と平行な方向にスキャンして分割して読み取った場合の重なり位置の検出方法の説明図である。
【０１２９】
上述したように２つに分割した文書画像をそれぞれ２つの領域に分割し、領域の分割線と垂直な方向に黒画素ライン、白画素ラインの検出を行って、黒画素ラインの数が所定範囲内の黒画素領域を行画像として抽出する。次に、第１の文書画像の抽出した行画像を予め定められている方向から順に取り出す。例えば、縁から中心に向かう方向に行画像を順に取り出す。同様に第２の文書画像の抽出した行画像を予め定めてある方向から順に取り出す。
【０１３０】
そして、取り出した行画像のそれぞれの文字を認識し、得られた文字コードを比較して文字コードの一致度を判定する。文字コードの一致度が所定値以上であれば、その文字領域を２つの文書画像の重なり位置として決定する。
【０１３１】
図２５においては、第１の文書画像の領域１の左から１行目の５個の文字「あ、い、う、え、お」の文字コードと、第２の文書画像の上側の領域１の右から１行目の５個の文字の文字コードが全て一致するので、その位置が２つの文書画像の結合位置となる。
【０１３２】
図２６は、２つの文書画像の結合面が行画像（行）と垂直な場合、つまり文書画像を行と垂直な方向にスキャンして分割して読み取った場合の重なり位置の検出方法の説明図である。
【０１３３】
この場合も領域の分割線と垂直な方向に行画像を抽出し、行画像が抽出できたなら、それぞれの文字を認識し、得られた文字コードを比較して文字コードの一致度を判定する。
【０１３４】
図２６において、例えば、第１の文書画像の右側の領域１の上から３行目の文字コードと、第２の文書画像の左側の領域１の上から３行目の文字コードを比較する。この場合、横書きの文書を中央部で重なるように左右に２分割して読み取り、分割した２つの文書画像をそれぞれ左右２つの領域に分割しているが、分割の仕方によっては第１の文書画像の領域１の３行目の先頭の文字と第２の文書画像の領域１の同一行の先頭の文字は必ずしも一致しない。
【０１３５】
例えば、図２６では、第１の文書画像の領域１の３行目の文字列は「お、か、き、く、け、こ」の順序で並んでいるのに対して、第２の文書画像の領域１の文字列は「か、き、く、け、こ、さ」の順に並んでおり、両者の文字列は完全には一致しないことになる。
【０１３６】
そこで、本実施の形態では、一方の文書画像の領域の文字の配列順序を基準にして、他方の文書画像の領域の比較対象の文字を１づつ順に比較し、一致する文字が存在したなら、それ以降の対応する文字を順に比較するようにしている。
【０１３７】
図２６の例について言えば、第２の文書画像の領域１の左から１番目の文字「か」の文字コードと、第１の文書画像の領域１の左から１番目の文字の文字コード、２番目の文字コード・・・と順に比較して、第１の文書画像の領域１の左から２番目の文字の文字コードと一致したなら、次に第２の文書画像の領域１の左から２番目の文字「き」の文字コードと、第１の文書画像の領域１の左から３番目の文字の文字コードを比較する。この場合、３番目以降の文字コードが全て一致するので、第１の文書画像の文字列「か、き、く、け、こ」を含む行画像と、第２の文書画像の同一の文字列を含む行画像の文字領域の位置が２つの文書画像の重なり位置、すなわち結合位置であることが分かる。
【０１３８】
以上のようにして文書画像の結合位置を検出したなら、検出した結合位置で２つの文書画像を結合する。図２７は、図１９のステップＳ１９０４の画像結合処理のフローチャートである。
【０１３９】
文書画像の結合位置が得られたなら、第１及び第２の文書画像を結合のために不要な画像と残す必要のある画像に分割する（図２７，Ｓ２７０１）。次に、２つの文書画像がずれて読み取られている場合もあるので、２つの文書画像を含むような領域の縦幅と横幅とを決定する（Ｓ２７０２）。そして、不要な部分を除去して２つの文書画像を結合する。
【０１４０】
図２８は、結合面が行と平行な場合、つまり文書画像を行と平行な方向にスキャンした場合の文書画像の結合方法の説明図である。
第１の文書画像の文字列「あ、い、う・・・」の行と、第２の文書画像の文字列「あ、い、う・・・」の行とが結合位置として検出され、第１及び第２の文書画像の該当する行の左隅上の座標が結合位置の座標として設定される。そして、第１及び第２の文書画像が、結合位置の座標の左側と右側の領域にそれぞれ分割され、第１の文書画像の分割位置（結合位置）の左側の画像を除去した残りの画像Ａと、第２の文書画像の結合位置の右側の画像を除去した残りの画像Ｂとが結合されて元の文書画像が再生される。
【０１４１】
図２９は、結合面が行と垂直な場合、つまり文書画像を行と垂直な方向にスキャンした場合の画像の結合方法の説明図である。
この場合、第１の文書画像の文字列「か、き、く、け、こ・・・」の行の文字「か」の左隅上を通り行と直交する線と、第２の文書画像の文字列「か、き、く、け、こ」を含む行の文字「か」の左隅上を通り行と直交する線が、それぞれ分割位置として得られる。そして、第１の文書画像の文字「か」の左上隅を通る線の左側の画像を除去した残りの画像Ａと、第２の文書画像の文字「か」の左上隅を通る線の左側の画像を除去した残りの画像Ｂとが結合されて元の文書画像が再生される。
【０１４２】
上述した第４の実施の形態は、分割して読み取った文書画像をそれぞれ複数の領域に分割し、分割した領域から行画像を抽出し、その行画像の文字コードを比較して一致度が高い行画像を、文書画像の結合位置として検出するようにしたので、文書の中に図形、表、罫線等が含まれている場合でも、それらを含まない黒画素領域を行画像として抽出することができる。例えば、所定幅の行画像を検出することで、図形、表等を含んだ黒画素領域を行画像から除外することができるので、より正確に行画像を抽出することができる。従って、文書画像の結合位置を短い処理時間で正確に検出し、文書画像を再生することができる。
【０１４３】
なお、上述した第４の実施の形態では、抽出した行画像のそれぞれの文字の文字コードを比較して文書画像の結合位置を検出しているが、文字に外接する文字領域の位置と大きさとを比較して結合位置を検出するようにしても良い。
【０１４４】
次に、図３０は、１つの文書画像を３つ以上に分割して読み取ったときに、各画像を順に結合する結合方法の説明図である。
図３０に示すように、最初に読み取った画像１と２番目に読み取った画像２の結合位置を上述した画像の結合位置の検出処理により求め、画像１と画像２とを結合する。次に、１番目の画像１と２番目の画像２とを結合して得られた結合画像１と３番目に読み取った画像３とを結合し、結合画像３を得る。以下、同様に結合により得られた画像と読み取った画像を順に結合して最終的に全て元の画像を再生する。
【０１４５】
以下、複数画像の結合処理を図３１のフローチャートと図３２のユーザインタフェースの説明図を参照して説明する。
第１の画像格納部１２に格納されている画像１を取り込む（図３１，Ｓ３１０１）。次に、画像の取り込み枚数をカウントするカウンタｉに初期値として「１」を設定する（Ｓ３１０２）。
【０１４６】
次に、自動結合のチェックボックスがオンとなっているか否かを判別する（Ｓ３１０３）。図３２の▲１▼の自動結合のチェックボックスをユーザがマウス等によりクリックしてオンにすると、ステップＳ３１０３の判別がＹＥＳとなり、ステップＳ３１０４以降の処理が実行され、分割された文書画像の結合が行われる。なお、ステップＳ３１０３において、自動結合のチェックボックスがオフと判別された場合には（ステップＳ３１０３，ＮＯ）、ステップＳ３１１１に進み取り込んだ画像をそのまま表示する。なお、初期設定では自動結合するように条件が設定されている。
【０１４７】
次に、取り込んだ画像の枚数を計数するカウンタｉの値がユーザにより設定さる結合枚数ｎより小さいか否かを判別する（Ｓ３１０４）。
結合枚数とは、１つの文書画像を幾つに分割して読み取ったか示すものであり、ユーザが図３２の▲２▼の数字を変更することにより結合枚数を設定するようになっている。
【０１４８】
本実施の形態の文書画像結合装置の表示装置には、図３２に示すような設定画面が表示され、ユーザは、その設定画面から文書画像の読み取り条件、結合条件等を設定することができる。具体的には、スキャナの解像度、画像の読み取り単位、読み取り対象の用紙サイズ、画像タイプ等をプルダウンメニューから選択できるようになっており、読み取り方向、自動結合を行うか否かはチェックボックスをマウス等でクリックすることで変更することができる。これにより、文書画像を読み取って、結合するまでの処理条件を簡易に設定でき、文書画像を結合する際の操作を簡略化できる。
【０１４９】
図３１に戻り、取り込んだ画像の枚数が指定された結合枚数より小さい場合には（Ｓ３１０４，ＹＥＳ）、次に、結合終了ボタンが操作されたか否かを判別する（Ｓ３１０５）。結合終了ボタンとは、図３２の▲３▼に示すボタンであり、自動結合の途中でこのボタンを操作することにより、自動結合処理を終了させることができる。
【０１５０】
次に、結合終了ボタンが操作されていなければ（Ｓ３１０５，ＮＯ）、次のステップＳ３１０６に進み、第２の画像格納部１３に格納されている画像２を取り込む（Ｓ３１０６）。上述した画像の結合位置の検出処理により得られた結合位置で２つの画像を結合する（Ｓ３１０７）。そして、画像の結合が成功したか否かを判別する（Ｓ３１０８）。
【０１５１】
処理のスタート時には、画像１としては１番目に読み取った画像が、画像２としては２番目に読み取った画像が取り込まれるので両者を結合し、結合画像を第１の画像格納部１２に格納する。
【０１５２】
画像の結合が成功したなら（Ｓ３１０８，ＹＥＳ）、処理のスタート時には、１番目と２番目の画像の結合が終了したことになるので、カウンタｉの値をインクリメントして「２」にして２枚分の画像の結合が終了したことを記憶し、結合した画像を第１の画像格納部１２に転送し（Ｓ３１０９）、ステップＳ３１０４に戻る。以下、第２の画像格納部１３に３番目、４番目・・・の画像を順に格納し、その画像２と第１の画像格納部１２の２回目、３回目・・・の結合画像との結合を繰り返すことにより、分割して読み取った文書画像を再生する。
【０１５３】
図３１のステップＳ３１０８で結合が失敗したと判断された場合には（Ｓ３１０８，ＮＯ）、ステップＳ３１１０に進み再度第２の画像格納部１３の画像２を取り込むか否かを判別する。ユーザにより取り込みが指示された場合には、ステップＳ３１０５に戻り上述した画像の結合処理を繰り返す。
【０１５４】
また、ステップＳ３１１１０で結合終了ボタンが操作されたと判別された場合には（Ｓ３１１０，ＹＥＳ）、ステップＳ３１１１に進み第１の画像格納部１２に格納されている結合画像を表示する。
【０１５５】
さらに、ステップＳ３１０４でカウンタｉの値が指定枚数Ｎと等しいか、または大きいと判別された場合（Ｓ３１０４，ＮＯ）、つまり指定枚数分の画像の結合処理が終了した場合には、ステップＳ３１１１に進み第１の画像格納部１２に格納されている結合画像、すなわち再生した元の文書画像を表示する。
【０１５６】
これらの処理により、図３０に示すように１つの文書画像をｎ個に分割して読み取る場合に、１番目の画像１と２番目の画像２を結合して結合画像１を生成し、次に３番目の画像３とその結合画像１とを結合して結合画像２を生成する。以下、同様に前回の結合処理における結合画像Ｋ−１と次の画像Ｋとを結合して最終的な結合画像ｎを生成する。
【０１５７】
このように、１つの文書画像を複数の画像に分割して読み取る場合に、分割された個々の画像をそれぞれ結合するのではなく、１番目と２番目の画像を結合して得られる結合画像と次の３番目の画像を結合し、その結合画像と４番目の画像を結合し、以下同様の結合処理を繰り返すことにより、例えば、画像のスキャン順序に一定の規則性がある場合には、無駄な画像の結合位置の検出を行わずに、より短時間で結合位置を検出することができる。
【０１５８】
なお、文書画像を３以上の複数の画像に分割する場合、文書画像をハンディスキャナ等でスキャンする順序は一定の傾向がある場合が多いので、画像１，画像２の結合方向が検出されたなら、その結合方向を優先して次の画像３との結合位置を検出することでより短時間で結合位置を検出することができる。また、画像の結合処理の過程でそれ以前と結合方向が変化した場合には、新たに検出された結合方向で次の画像を結合することで、スキャン順序、方向の変化に応じて効率的に結合位置の検出を行うことができる。
【０１５９】
さらに、本発明の文書画像結合装置に格納されるプログラムデータを、図３３に示すフロッピーディスク、ＣＤＲＯＭ等の記録媒体３３０１に格納しておいて、その記録媒体３３０１を情報処理装置（パーソナルコンピュータ等）３３０２の媒体駆動装置（フロッピーディスクドライバー、ＣＤＲＯＭドライバー等）により読み取り、読み取ったプログラムデータをハードディスク等の記憶装置３３０３に格納し、そのプログラム実行するようにしてもよい。あるいはプログラムを情報提供者のコンピュータのハードディスク等の記憶装置３３０４に記憶しておいて、通信によりユーザの情報処理装置３３０２に転送し、ユーザ側の記憶装置３３０３に記憶してプログラムを実行するようにしてもよい。また、記録媒体３３０１に記録するプログラムは、実施の形態に述べたフローチャートの一部の機能を有するものであってもよい。
【０１６０】
【発明の効果】
本発明によれば、分割して読み取る文書に結合のためのマーク等を付ける必要が無く、また分割した文書画像の結合位置をオペレータが指定する必要が無くなり、分割して読み取った複数の画像をユーザの手を煩わすことなく結合することができる。また、分割して読み取った文書画像をそれぞれ複数の領域に分割して行画像を抽出することで、文書画像に図形、表等が含まれる場合でも、行画像を抽出して複数の文書画像を正確に結合することができる。
【図面の簡単な説明】
【図１】第１の実施の形態の文書画像結合装置のブロック図である。
【図２】第２の実施の形態の文書画像結合装置のブロック図である。
【図３】同図（Ａ）、（Ｂ）、（Ｃ）は、原理説明図である。
【図４】全体の処理を示すフローチャートである。
【図５】行画像の説明図である。
【図６】行画像抽出処理のフローチャートである。
【図７】文字領域の説明図である。
【図８】同図（Ａ）、（Ｂ）は横書き文書と縦書き文書のスキャン順序の説明図である。
【図９】同図（Ａ）〜（Ｄ）は、重なり位置の検出方向の説明図である。
【図１０】同図（Ａ），（Ｂ）は、文書のスキャン順序の説明図である。
【図１１】同図（Ａ）〜（Ｄ）は、縦書文書の結合方向の説明図である。
【図１２】同図（Ａ）〜（Ｄ）は、横書文書の結合方向の説明図である。
【図１３】重なり位置検出処理のフローチャート（その１）である。
【図１４】同図（Ａ）、（Ｂ）は、横書き及び縦書き文書画像の行画像番号の説明図である。
【図１５】文字領域パターンと文字コードを比較して重なり位置を検出する場合の説明図である。
【図１６】重なり位置検出処理のフローチャート（その２）である。
【図１７】文字領域のパターンを比較して重なり位置を検出する場合の説明図である。
【図１８】文字コードを比較して重なり位置を検出する場合の説明図である。
【図１９】第４の実施の形態の処理の概要を示すフローチャートである。
【図２０】行画像の抽出処理のフローチャートである。
【図２１】同図（Ａ）、（Ｂ）は、白画素ラインと黒画素ラインの抽出方法の説明図である。
【図２２】行画像の抽出の説明図である。
【図２３】図形を含む文書の行画像の抽出の説明図である。
【図２４】画像の結合位置の検出処理のフローチャートである。
【図２５】結合面が行と平行な場合の重なり位置の検出方法の説明図である。
【図２６】結合面が行と垂直な場合の重なり位置の検出方法の説明図である。
【図２７】画像の結合処理のフローチャートである。
【図２８】結合面が行と平行な場合の画像の結合方法の説明図である。
【図２９】結合面が行と垂直な場合の画像の結合方法の説明図である。
【図３０】複数画像の結合方法の説明図である。
【図３１】複数画像の結合処理のフローチャートである。
【図３２】ユーザインタフェースの説明図である。
【図３３】記録媒体の説明図である。
【図３４】従来の画像結合方法の説明図である。
【符号の説明】
１１，２１      文書画像結合装置
１２            第１の画像格納部
１３            第２の画像格納部
１４            文字領域検出部
１５，２３      重なり位置検出部
１６            画像結合部
２２            文字認識部
【図１】
0003821267.tif 000002
【図２】
0003821267.tif 000003
【図３】
0003821267.tif 000004
【図４】
0003821267.tif 000005
【図５】
0003821267.tif 000006
【図６】
0003821267.tif 000007
【図７】
0003821267.tif 000008
【図８】
0003821267.tif 000009
【図９】
0003821267.tif 000010
【図１０】
0003821267.tif 000011
【図１１】
0003821267.tif 000012
【図１２】
0003821267.tif 000013
【図１３】
0003821267.tif 000014
【図１４】
0003821267.tif 000015
【図１５】
0003821267.tif 000016
【図１６】
0003821267.tif 000017
【図１７】
0003821267.tif 000018
【図１８】
0003821267.tif 000019
【図１９】
0003821267.tif 000020
【図２０】
0003821267.tif 000021
【図２１】
0003821267.tif 000022
【図２２】
0003821267.tif 000023
【図２３】
0003821267.tif 000024
【図２４】
0003821267.tif 000025
【図２５】
0003821267.tif 000026
【図２６】
0003821267.tif 000027
【図２７】
0003821267.tif 000028
【図２８】
0003821267.tif 000029
【図２９】
0003821267.tif 000030
【図３０】
0003821267.tif 000031
【図３１】
0003821267.tif 000032
【図３２】
0003821267.tif 000033
【図３３】
0003821267.tif 000034
【図３４】
0003821267.tif 000035