(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-21
(45)【発行日】2022-11-30
(54)【発明の名称】画像処理装置および画像処理プログラム
(51)【国際特許分類】
H04N 1/387 20060101AFI20221122BHJP
G06T 7/10 20170101ALI20221122BHJP
【FI】
H04N1/387
G06T7/10
(21)【出願番号】P 2019011385
(22)【出願日】2019-01-25
【審査請求日】2021-12-20
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】100094330
【氏名又は名称】山田 正紀
(72)【発明者】
【氏名】岡田 茂
(72)【発明者】
【氏名】久保 周作
(72)【発明者】
【氏名】吉塚 公則
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特開平11-341230(JP,A)
【文献】特開2005-303740(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/38- 1/393
B41J 5/30
G06T 7/00- 7/90
(57)【特許請求の範囲】
【請求項1】
第1の画像データにより表される、2ページ分からなる第1の画像の、該2ページに跨る一部領域である探索領域内から分割可能領域を探索する探索部と、
前記第1の画像を、前記探索部での探索により得られた分割可能領域内を通って、前記2ページを跨ぐ第1の向きに交わる第2の向きに延びる分割線で分割して各1ページ分の2枚の第2の画像を表す第2の画像データを生成する分割部とを備え
、
前記探索部が、
前記探索領域内に存在する文字領域を認識する認識部と、
前記探索領域内の、前記第1の向きに並ぶ複数の画素の各々について、前記第2の向きに並ぶ前記文字領域の行数を計数する計数部とを備え、
前記計数部で計数された、前記複数の画素の計数値の分布に基づいて、前記分割可能領域を探索することを特徴とする画像処理装置。
【請求項2】
前記複数の画素が、前記第1の向きに断続的に並ぶ複数の画素であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記探索部が、前記計数部で計数された計数値のうちの第1の計数閾値以下の計数値が対応づけられた画素が前記第1の向きについて第1の継続閾値以上にわたって継続する第1の分割可能領域を探索し、
前記分割部が、前記第1の画像を、前記第1の分割可能領域内を通る分割線で分割することを特徴とする請求項
1または2に記載の画像処理装置。
【請求項4】
前記分割部は、前記第1の分割可能領域が存在しない場合に、前記第1の画像を、幾何学的に定められた、前記第1の向きについての中央位置で分割することを特徴とする請求
項3に記載の画像処理装置。
【請求項5】
前記探索部は、前記計数部で計数された計数値のうちのゼロの計数値が対応づけられた画素が前記第1の向きについて第1の継続閾値以上継続する第1の分割可能領域を探索し、
前記分割部は、前記第1の分割可能領域が存在する場合に、前記第1の画像を該第1の分割可能領域内を通る分割線で分割することを特徴とする請求項
1または2に記載の画像処理装置。
【請求項6】
前記探索部は、
前記第1の分割可能領域が存在しない場合に、文字領域の行数を計数した各画素の計数値を1ずつ減じる第1の減算部を備え、
前記分割部は、
前記第1の減算部を第1の計数閾値を超える回数にわたって繰り返し作用させるよりも前に前記第1の分割可能領域が出現した場合に、前記第1の画像を該第1の分割可能領域内を通る分割線で分割することを特徴とする請求項
5に記載の画像処理装置。
【請求項7】
前記探索部は、
前記第1の分割可能領域が存在しない場合に前記認識部で認識された前記文字領域を縮小して前記計数部を再度作用させる縮小部を備え、
前記分割部
が、前記縮小部を第1の回数閾値を超える回数にわたって繰り返し作用させるよりも前に、第2の計数閾値以下である画素が前記第1の向きについて第2の継続閾値以上にわたって継続する第2の分割可能領域が出現した場合に、前記第1の画像を該第2の分割可能領域内を通る分割線で分割することを特徴とする
請求項3または請求項6に記載の画像処理装置。
【請求項8】
前記分割部は、前記縮小部を前記第1の回数閾値と同数回にわたって繰り返し作用させても前記第2の分割可能領域が出現しない場合に、前記第1の画像を、幾何学的に定められた、前記第1の向きについての中央位置で分割することを特徴とする請求
項7に記載の画像処理装置。
【請求項9】
前記探索部は、前記縮小部を前記第1の回数閾値と同数回にわたって繰り返し作用させても前記第2の分割可能領域が出現しない場合に、前記縮小部を前記第1の回数閾値と同数回にわたって繰り返し作用させることにより前記計数部で得られた各画素の計数値を1ずつ減じる第2の減算部を備え、
前記分割部は、前記第2の減算部を前記第2の計数閾値を超えて繰り返し作用させるよりも前に前記第2の分割可能領域が出現した場合に、前記第1の画像を該第2の分割可能領域内を通る分割線で分割することを特徴とする請求項
7に記載の画像処理装置。
【請求項10】
前記分割部は、前記第2の減算部を前記第2の計数閾値と同数回にわたって繰り返し作用させても前記第2の分割可能領域が出現しない場合に、前記第1の画像を、幾何学的に定められた、前記第1の向きについての中央位置で分割することを特徴とする請求項
9に記載の画像処理装置。
【請求項11】
前記分割部
による分割で生成された前記第2の画像データにより表される前記2枚の第2の画像の前記第1の向きの寸法が互いに異なっている場合に該2枚の画像の寸法を調整する調整部を備えたことを特徴とする請求項
1から10のうちのいずれか1項に記載の画像処理装置。
【請求項12】
前記分割部による分割で生成された前記第2の画像データにより表される前記2枚の第2の画像
の各々について文字領域の傾きを補正する補正部を備えたことを特徴とする請求項1から11のうちのいずれか1項に記載の画像処理装置。
【請求項13】
プログラムを実行する情報処理装置内で実行され、該情報処理装置を請求項1から12のうちのいずれか1項に記載の画像処理装置として動作させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理プログラムに関する。
【背景技術】
【0002】
例えば本の見開きの画像などの2ページ分を1枚の画像としてスキャナで読み取り、その1枚の画像を1ページごとに2分割して2枚の画像をファイル出力したいという要求がある。この場合に、定型サイズの画像であってその画像の中央で2分割すれば済む場合だけでなく、不定型サイズの画像を分割する場合など、どの箇所で分割すればよいか装置にとっては必ずしも明らかではない。
【0003】
ここで、特許文献1には、本の見開きの画像の、文字が存在しない境界付近の縁の形状や画素の白黒のヒストグラムに基づく文字無し領域の認識などにより、境界箇所を検出することが提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、画像全体の画素のヒストグラムに基づいて分割しようとすると、例えば文字数が少なく空白が多い画像などの場合、複数の文字なし領域が出現し、分割箇所を誤るおそれがある。
【0006】
本発明は、画像全体の画素のヒストグラムに基づいて分割する場合と比べ、正確に、分割するべき境界箇所で分割することができる画像処理装置および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1は、
第1の画像データにより表される、2ページ分からなる第1の画像の、該2ページに跨る一部領域である探索領域内から分割可能領域を探索する探索部と、
前記第1の画像を、前記探索部での探索により得られた分割可能領域内を通って、前記2ページを跨ぐ第1の向きに交わる第2の向きに延びる分割線で分割して各1ページ分の2枚の第2の画像を表す第2の画像データを生成する分割部とを備え、
前記探索部が、
前記探索領域内に存在する文字領域を認識する認識部と、
前記探索領域内の、前記第1の向きに並ぶ複数の画素の各々について、前記第2の向きに並ぶ前記文字領域の行数を計数する計数部とを備え、
前記計数部で計数された、前記複数の画素の計数値の分布に基づいて、前記分割可能領域を探索することを特徴とする画像処理装置である。
【0009】
請求項2は、前記複数の画素が、前記第1の向きに断続的に並ぶ複数の画素であることを特徴とする請求項1に記載の画像処理装置である。
【0010】
請求項3は、
前記探索部が、前記計数部で計数された計数値のうちの第1の計数閾値以下の計数値が対応づけられた画素が前記第1の向きについて第1の継続閾値以上にわたって継続する第1の分割可能領域を探索し、
前記分割部が、前記第1の画像を、前記第1の分割可能領域内を通る分割線で分割することを特徴とする請求項1または2に記載の画像処理装置である。
【0011】
請求項4は、前記分割部は、前記第1の分割可能領域が存在しない場合に、前記第1の画像を、幾何学的に定められた、前記第1の向きについての中央位置で分割することを特徴とする請求項3に記載の画像処理装置である。
【0012】
請求項5は、前記探索部は、前記計数部で計数された計数値のうちのゼロの計数値が対応づけられた画素が前記第1の向きについて第1の継続閾値以上継続する第1の分割可能領域を探索し、
前記分割部は、前記第1の分割可能領域が存在する場合に、前記第1の画像を該第1の分割可能領域内を通る分割線で分割することを特徴とする請求項1または2に記載の画像処理装置である。
【0013】
請求項6は、
前記探索部は、前記第1の分割可能領域が存在しない場合に、文字領域の行数を計数した各画素の計数値を1ずつ減じる第1の減算部を備え、
前記分割部は、前記第1の減算部を第1の計数閾値を超える回数にわたって繰り返し作用させるよりも前に前記第1の分割可能領域が出現した場合に、前記第1の画像を該第1の分割可能領域内を通る分割線で分割することを特徴とする請求項5に記載の画像処理装置である。
【0014】
請求項7は、
前記探索部は、前記第1の分割可能領域が存在しない場合に前記認識部で認識された前記文字領域を縮小して前記計数部を再度作用させる縮小部を備え、
前記分割部が、前記縮小部を第1の回数閾値を超える回数にわたって繰り返し作用させるよりも前に、第2の計数閾値以下である画素が前記第1の向きについて第2の継続閾値以上にわたって継続する第2の分割可能領域が出現した場合に、前記第1の画像を該第2の分割可能領域内を通る分割線で分割することを特徴とする請求項3または請求項6に記載の画像処理装置である。
【0015】
請求項8は、前記分割部は、前記縮小部を前記第1の回数閾値と同数回にわたって繰り返し作用させても前記第2の分割可能領域が出現しない場合に、前記第1の画像を、幾何学的に定められた、前記第1の向きについての中央位置で分割することを特徴とする請求項7に記載の画像処理装置である。
【0016】
請求項9は、
前記探索部は、前記縮小部を前記第1の回数閾値と同数回にわたって繰り返し作用させても前記第2の分割可能領域が出現しない場合に、前記縮小部を前記第1の回数閾値と同数回にわたって繰り返し作用させることにより前記計数部で得られた各画素の計数値を1ずつ減じる第2の減算部を備え、
前記分割部は、前記第2の減算部を前記第2の計数閾値を超えて繰り返し作用させるよりも前に前記第2の分割可能領域が出現した場合に、前記第1の画像を該第2の分割可能領域内を通る分割線で分割することを特徴とする請求項7に記載の画像処理装置である。
【0017】
請求項10は、前記分割部は、前記第2の減算部を前記第2の計数閾値と同数回にわたって繰り返し作用させても前記第2の分割可能領域が出現しない場合に、前記第1の画像を、幾何学的に定められた、前記第1の向きについての中央位置で分割することを特徴とする請求項9に記載の画像処理装置である。
【0018】
請求項11は、前記分割部による分割で生成された前記第2の画像データにより表される前記2枚の第2の画像の前記第1の向きの寸法が互いに異なっている場合に該2枚の画像の寸法を調整する調整部を備えたことを特徴とする請求項1から10のうちのいずれか1項に記載の画像処理装置である。
【0019】
請求項12は、前記分割部による分割で生成された前記第2の画像データにより表される前記2枚の第2の画像の各々について文字領域の傾きを補正する補正部を備えたことを特徴とする請求項1から11のうちのいずれか1項に記載の画像処理装置である。
【0020】
請求項13は、プログラムを実行する情報処理装置内で実行され、該情報処理装置を請求項1から12のうちのいずれか1項に記載の画像処理装置として動作させることを特徴とする画像処理プログラムである。
【発明の効果】
【0021】
請求項1および請求項3の画像処理装置、並びに、請求項13の画像処理プログラムによれば、画像全体の画素のヒストグラムに基づいて分割する場合と比べ、正確に分割することができる。
【0022】
請求項2の画像処理装置によれば、複数の画素が連続的に並ぶ複数の画素である場合と比べ、短時間で分割箇所探索の演算が終了する。
【0023】
請求項4の画像処理装置によれば、第1の分割可能領域が存在しない場合において第1の分割可能領域を探索する演算以外の分割可能領域探索の演算を試みる場合と比べ、短時間で分割可能領域探索の演算が終了する。
【0024】
請求項5の画像処理装置によれば、計数値がゼロ以外の第1の計数閾値以下の計数値を含んで第1の継続閾値以上継続する場合と比べ、高い信頼性をもって分割される。
【0025】
請求項6の画像処理装置によれば、第1の減算部を備えない場合と比べ、分割可能領域が探索される可能性が高まる。
【0026】
請求項7の画像処理装置によれば、縮小部を備えない場合と比べ、分割可能領域が探索される可能性が高まる。
【0027】
請求項8の画像処理装置によれば、縮小部による文字領域の縮小による第2の分割可能領域を探索する演算に加えてさらに分割可能領域探索の演算を試みる場合と比べ、短時間で分割可能領域探索の演算が終了する。
【0028】
請求項9の画像処理装置によれば、第2の減算部を備えない場合と比べ、分割可能領域が探索される可能性が高まる。
【0029】
請求項10の画像処理装置によれば、文字領域の認識による分割領域の探索に失敗しても2枚の第2の画像が得られる。
【0030】
請求項11の画像処理装置によれば、分割により得られた2枚の第2の画像の寸法が互いに異なっているときに、それらの第2の画像の寸法が調整される。
【0031】
請求項12の画像処理装置によれば、分割により得られた2枚の第2の画像の文字領域が傾いているときに、文字の向きが調整される。
【図面の簡単な説明】
【0032】
【
図1】本発明の一実施形態が組み込まれた複合機の外観図である。
【
図2】
図1に外観を示した複合機の処理内容を示したブロック図である。
【
図3】
図2に1つのブロックで示した画像処理装置の、ページ連写に関する処理を示した機能ブロック図である。
【
図4】
図1に示した複合機にページ連写の処理を実行させる際の、タッチパネル上に表示されるUI画面の推移を示した図である。
【
図5】スキャナでの読取りの開始を指示するUI画面を示した図である。
【
図6】ページ連写処理の前半部分のフローチャートを示した図である。
【
図7】スキャナでの読取りにより得られた画像の一例を示した図である。
【
図8】
図7に示した矩形の各文字領域の座標を示した図である。
【
図9】
図6のステップS15で用意される配列を示した図である。
【
図10】ページ連写処理の第1例の後半部分のフローチャートを示した図である。
【
図13】最終的に得られた2枚の第2の画像を示した図である。
【
図14】ページ連写処理の第2例の後半部分のフローチャートを示した図である。
【
図15】
図7に示した第1の画像とは異なる第1の画像を示した図である。
【
図17】
図6のステップS15で用意される、
図15に示した第1の画像に関する配列と、その配列を使った演算方法を示した図である。
【
図18】
図15に示した第1の画像に関する2分割の様子を示した図である。
【
図19】
図15に示した第1の画像に関する寸法調整の様子を示した図である。
【
図20】
図15に示した第1の画像を2分割することにより最終的に得られた2枚の第2の画像を示した図である。
【
図21】
図7に示した第1の画像および
図15に示した第1の画像のいずれとも異なる第1の画像を示した図である。
【
図23】
図6のステップS15で用意される、
図21に示した第1の画像に関する配列示した図である。
【
図24】
図21に示した第1の画像を2分割するときの分割線を示した図である。
【
図25】
図21に示した第1の画像を2分割することにより最終的に得られた2枚の第2の画像を示した図である。
【
図26】ページ連写処理の第3例の後半部分の中の一部のフローチャートを示した図である。
【
図27】これまでの第1の画像とはさらに異なる、もう1枚の第1の画像を示した図である。
【
図28】
図27に示した第1の画像の探索領域SRの文字領域を示した図である。
【
図29】ページ連写処理の第3例の後半部分の中の、
図26に示した一部を除く残りのフローチャートを示した図である。
【
図31】2分割された直後の2枚の画像を示した図である。
【
図32】
図27に示した第1の画像を2分割して得た、最終的な2枚の第2の画像を示した図である。
【
図33】
図27に近似したもう1つの第1の画像を示した図である。
【
図34】
図33に示した文字領域に縮小処理を施した後の文字領域を示した図である。
【
図35】ページ連写処理の第4例の後半部分の中の、
図26に示した一部を除く残りのフローチャートを示した図である。
【発明を実施するための形態】
【0033】
以下、本発明の実施の形態について説明する。
【0034】
図1は、本発明の一実施形態が組み込まれた複合機の外観図である。
【0035】
この複合機1は、スキャナ10とプリンタ20を備えている。スキャナ10では、原稿に記録されている画像が読み取られる。この読み取りに得られた画像は、不図示のパーソナルコンピュータ(以下、「PC」と略記する。)等に向けて送信される。
【0036】
また、この複合機1には、プリント前の用紙を収容しておく用紙トレイ21が備えられている。この複合機1には、不図示のPC等から送信されてきた画像データが入力される。プリンタ20では、用紙トレイ21から取り出された用紙上に、入力された画像データに基づく画像がプリントされ、画像がプリントされた用紙が用紙台22上に送り出される。
【0037】
また、この複合機1は、コピー機能を備えている。コピーを行うときは、先ずは、用紙上の画像がスキャナ10で読み取られる。そして、プリンタ20により、その読み取りにより得られた画像データに基づく画像がプリント出力される。この複合機1にはさらに、ファクシミリ送受信機能などの他の機能も備えられている。ただし、本実施形態の説明には無関係なので、この複合機1の、このほかの機能についての説明は省略する。
【0038】
この複合機1には、ユーザインタフェース(以下、「UI」と略記する。)を構成するタッチパネル30が備えられている。このタッチパネル30にはユーザ向けの各種の情報が表示され、また、このタッチパネル30の操作により、ユーザによる各種の指示が入力される。
【0039】
図2は、
図1に外観を示した複合機の処理内容を示したブロック図である。ここには、本実施形態の特徴部分の説明に必要な処理ブロックのみが示されている。
【0040】
この複合機1は、
図1を参照して説明したスキャナ10およびプリンタ20に加え、さらに画像処理装置50を備えている。スキャナ10で得られた画像データは画像処理装置50で画像処理されてからプリンタ20に送り込まれ、プリンタ20では、画像処理後の画像データに基づく画像が用紙上にプリント出力される。この画像処理装置50には、プログラムを実行するコンピュータとしてのハードウェアとそのハードウェア上で実行されるソフトウェアとが含まれている。この画像処理装置50は、本発明の画像処理装置の一実施形態に相当する。
【0041】
本実施形態は、スキャナ10で、2ページ分の原稿を1枚の画像として読み取り、画像処理装置50で、その読み取りにより得られた画像データが表す画像を1ページごとの2枚の画像を表す画像データに変換する機能に特徴を有する。ここでは、この機能を「ページ連写」と称する。以下では、このページ連写に絞って説明を続ける。
【0042】
なお、以下では、表現の煩雑さを避けるため、原稿上あるいは用紙上の画像と、原稿上の画像を読み取って得たデータ上の画像とを区別せずに、いずれも「画像」と表現することがある。また、ここでは、スキャナ10で読み取られた2ページ分の画像を「第1の画像」あるいは「第1の画像データ」と称し、その第1の画像を2ページに分割した画像を「第2の画像」あるいは「第2の画像データ」と称する。
【0043】
図3は、
図2に1つのブロックで示した画像処理装置の、ページ連写に関する処理を示した機能ブロック図である。この画像処理装置の、ページ連写に関する機能も、プログラムを実行するコンピュータとしてのハードウェアとそのハードウェア上で実行されるソフトウェアとの複合により実現する機能である。本実施形態の具体例については後述することとし、ここでは、この
図3を参照しながら、本実施形態について概括的に説明する。
【0044】
この画像処理装置50は、探索部51と分割部52を備えている。
【0045】
探索部51は、2ページ分からなる第1の画像の、その2ページに跨る一部領域である探索領域内から分割可能領域を探索する。本実施形態では、探索領域として、第1の画像の、第1の向きの全幅のうちの中央の2分の1の領域が探索領域として設定されている。探索部51の内部構成についての説明は、他の機能ブロックの説明の後に回す。
【0046】
分割部52は、第1の画像を、探索部での探索により得られた分割可能領域内を通って、2ページを跨ぐ向き(以下では、2ページを跨ぐ向きを「第1の向き」と称する。)に交わる向き(以下では、第1の向きに交わる向きを「第2の向き」と称する。)に延びる分割線で分割して、各1ページ分の2枚の第2の画像を生成する。
【0047】
また、この画像処理装置50は、さらに調整部53と補正部54を備えている。
【0048】
補正部53および調整部54では、分割部52における2分割により生成された2枚の第2の画像の後処理が行われる。
【0049】
厚い本の見開きの2ページをスキャナ10で読み取って得た第1の画像などの場合、各々のページの文字が傾いていることがある。それら2ページ分の文字は互いに逆向きに傾いていることが多く、第1の画像上では文字の傾きを調整することは困難である。2ページに分割された第2の画像上では、その1枚ごとの第2の画像上の文字は同じ向きに傾いていることが多い。そこで、この画像処理装置50には、補正部53が備えられていて、分割部52により生成された2枚の第2の画像の各々について文字領域の傾きが補正される。
【0050】
また、分割部52での2分割は、第1の画像の、第1の向き(2ページを跨ぐ向き)の寸法の中央で分割されるとは限らない。したがって、得られた2枚の第2の画像は、第1の向きの寸法が互いに異なっている可能性がある。そこで、調整部54では、分割部52により生成された2枚の第2の画像の第1の向きの寸法が互いに異なっている場合に、それら2枚の画像の寸法が互いに同一となるように調整する処理が行われる。
【0051】
このようにして、分割部52により2分割され、補正部53により文字の傾き補正が行われ、さらに調整部54により寸法調整が行なわれた2枚の第2の画像が生成される。
【0052】
次に、探索部51の構成について説明する。
【0053】
探索部51には、認識部511が備えられている。この認識部511では、光学的文字認識(Optical Character Recognition/Reader、以下「OCR」と略記する。)を実行するソフトウェアの動作により、スキャナ10での読み込みにより得られた第1の画像上の文字領域が認識される。ただし、この認識部511は、第1の画像上の、2ページに跨る一部領域である探索領域内についてのみOCRを実行させる。OCRでは、画像上の文字や、文字列の画像上の座標(文字領域)が認識されるが、分割部52では、文字列の画像上の座標(文字領域)の情報が利用される。OCRソフトウェア自体は広く知られた技術であり、ここでの説明は省略する。
【0054】
また、この探索部51には、計数部512が備えられている。この計数部512では、探索領域内の、第1の向きに並ぶ複数の画素の各々について、第2の向きに並ぶ文字領域の行数が計数される。ここで、第1の向きに並ぶ複数の画素は必ずしも連続的に並ぶ複数の画素である必要はなく、断続的に並ぶ複数の画素であってもよい。例えば、1つの文字領域の第2の向きの寸法から1文字の大きさが推測されるため、この1文字の寸法の例えば10分の1程度に飛び飛びに並ぶ複数の画素について計数を行ってもよい。そして、この探索部51は、計数部511で計数された計数値の分布に基づいて、分割可能領域を探索する。
【0055】
以下では、探索部51における分割可能領域の探索方法について説明する。
【0056】
本実施形態のうちの第1例の場合、探索部51では、計数部512で計数された計数値のうちの第1の計数閾値C1以下の計数値が対応付けられた画素が第1の向きについて第1の継続閾値K1以上にわたって継続する第1の分割可能領域A1を探索する。この第1の分割可能領域A1が探索されたときは、分割部52は、第1の画像P1を、その第1の分割可能領域A1内を通る分割線DLで分割する。
【0057】
また、本実施形態のうちの第2例の場合、以下のようにして、この第1の分割可能領域A1の探索が行われる。すなわち、この第2例の場合、探索部51は、先ずは、計数部512で計数された計数値がゼロの画素が第1の向きについて上記の第1の継続閾値K1以上継続する第1の分割可能領域A1を探索する。そして、分割部52は、その第1の分割可能領域A1が存在する場合には、第1の画像P1をその第1の分割可能領域A1内を通る分割線DLで分割する。
【0058】
この第2例において、そのような計数値「ゼロ」が継続する第1の分割可能領域A1が存在しなかった場合に備え、探索部51には第1の減算部513が用意されている。この第1の減算部513は、計数値「ゼロ」が継続する第1の分割可能領域A1が存在しなかった場合に、文字領域の行数を計数した各画素の計数値を1ずつ減じる。そして、探索部51は、各画素の計数値を1ずつ減じることにより第1の分割可能領域A1が現れないかどうかを監視する。ここで、計数値の下限は、ゼロに差し置かれる。そして、第1の減算部513を、上記の第1の計数閾値C1を超える回数にわたって繰り返し作用させるよりも前に、すなわち、各画素の計数値から第1の計数閾値C1を差し引くまでの間に、計数値「ゼロ」が第1の継続閾値K1以上に亘って並ぶ第1の分割可能領域A1が出現した場合には、分割部52は、第1の画像P1を、その出現した第1の分割可能領域A1内を通る分割線DLで分割する。
【0059】
各画素の計数値から第1の計数閾値C1を差し引いてもなお、そのような第1の分割可能領域A1が出現しなかったときは、上述の第1例および第2例の場合には、分割部71は、それ以上の分割に適した箇所の検出は行わずに、第1の画像P1を、第1の向きについて幾何学的に定められた中央位置で分割する。ここでは、一例として、OCRを実行させた探索領域SRの、第1の向きの中央を通る分割線DLで第1の画像を分割する。
【0060】
一方、以下に説明する第3例の場合、第1の分割可能領域A1が出現しなかったときには、次のようにして分割可能領域の探索を続ける。この実施形態の探索部51には、第1の分割可能領域A1が出現しなかった場合に備え、縮小部514が用意されている。
【0061】
この縮小部514は、認識部511で認識された文字領域を縮小して計数部512を再度作用させる。文字領域が縮小されると、隣接する2つの文字領域の間に文字領域ではないとみなされる領域が出現する。そこで、文字領域を縮小した状態で、計数部512を再度作用させる、すなわち、第2の向きに並ぶ文字領域の行数を計数すると、第2の向きに文字領域が存在しない、あるいは文字領域が少数しか存在しない箇所が出現する可能性がある。そこで、ここでは、縮小部514により文字領域を少しずつ縮小させる。探索部51は、縮小部514による縮小により、第2の計数閾値C2以下である画素が第1の向きについて第2の継続閾値K2以上にわたって継続する第2の分割可能領域A2が現れないかどうかを監視する。そして、縮小部514が第1の回数閾値R1を超える回数にわたって文字領域を繰り返し縮小する間に第2の分割可能領域A2が出現した場合には、分割部52は、第1の画像P1を、その第2の分割可能領域A2内を通る分割線DLで分割する。
【0062】
ただし、この第3例の場合、そのような第2の分割可能領域A2が見つからなかったときは、分割部52は、この時点で、それ以上の分割に適した箇所の検出はあきらめて、第1の画像P1を、OCRを実行させた探索領域SRの、第1の向きの中央を通る分割線DLで分割する。
【0063】
本実施形態には、さらに、第4例が用意されている。この第4例の場合、縮小部514による文字領域の縮小によって第2の分割可能領域A2が見つからなかった場合、次のようにして、分割可能領域の探索を続ける。この実施形態の探索部51には、上記の第3例では第2の分割可能領域A2が見つからなかった場合に備え、第2の減算部515が用意されている。
【0064】
この第2の減算部515は、文字領域の行数を計数した各画素の計数値を1ずつ減じる。ただし、この第2の減算部515は、縮小部514を上記の第1の回数閾値R1と同数回にわたって繰り返し作用させることによって得られた文字領域の行数を数えたときの各画素の計数値から1ずつ減じる。
【0065】
そして、探索部51は、この第2の減算部515が、各画素の計数値から1ずつ減じる処理を繰り返す間、第2の分割可能領域A2が現れないかどうかを監視する。そして、第2の減算部515を第2の計数閾値C2を超えて繰り返し作用させるよりも前に第2の分割可能領域A2が出現した場合には、分割部52は、第1の画像P1を、その第2の分割可能領域A2内を通る分割線DLで分割する。
【0066】
ただし、この第4例においても、そのような第2の分割可能領域A2が見つけられなかったときは、分割部52は、やむを得ず、第1の画像P1を、OCRを実行させた探索領域SRの、第1の向きの中央中心を通る分割線DLで第1の画像を分割する。
【0067】
本実施形態には、上記の第1例から第4例の4種類の形態が存在する。以下では、これら4種類の形態の具体例について、順次に説明する。
【0068】
図4は、
図1に示した複合機にページ連写の処理を実行させる際の、タッチパネル上に表示されるUI画面の推移を示した図である。
【0069】
ここでは先ず、
図4(A)に示すメニュー画面30A上の「スキャン」ボタンをタッチする。すると、UI画面が、
図4(B)に示す「読み取り方法」選択画面30Bに変わる。ここでは、「ページ連写(非定型サイズ)」をタッチする。すると、UI画面が、
図4(C)に示す「読み取りサイズ指定」画面30Cに変わる。この画面30C上では、例えばA3サイズが指定される。なお、原稿のサイズ等の自動検知によりサイズが分かる場合は、の
図4(C)の「読み取りサイズ指定」画面30Cは不要である。この画面30C上で読み取りサイズが指定されると、UI画面が、
図4(D)に示す「縦書き/横書き指定」画面30Dに変わる。この画面30D上では、原稿上の文字が縦書きか横書きかが指定される。縦書きの場合は右側が1ページ目であり、横書きの場合は左側が1ページ目であり、縦書きと横書きとでは、2分割したときの1ページ目と2ページ目が入れ替わるからである。
【0070】
図5は、スキャナでの読取りの開始を指示するUI画面を示した図である。
【0071】
この
図5のUI画面30Eには、原稿が左上にあわせてセットされることを示したイラストや、「スタート」、「次原稿あり」、「次原稿なし」、および「キャンセル」の各ボタンが表示されている。
【0072】
2ページ分からなる原稿をスキャナ10(
図1参照)にセットして「スタート」ボタンを押すと、原稿の読取りから始まるページ連写処理が行われる。
【0073】
図6は、ページ連写処理の前半部分のフローチャートを示した図である。
【0074】
ここでは先ず、上記の手順を経て、原稿上の画像の読取が行われて(ステップS11)、自動正立処理が行われる(ステップS12)。自動正立処理とは、原稿が例えば上下逆向きにセットされて読み込まれたときに画像を回転させて正しい向きに整える処理をいう。この自動正立処理にあたっては、画像上の一部の文字について文字認識処理が行われ、その結果に基づいて文字の向きが認識され、その文字の向きが正しい向きとなるように画像が回転される。文字認識処理については、ステップS13で説明する。
【0075】
図7は、スキャナでの読取りにより得られた画像の一例を示した図である。この画像上の各「×」印は、各文字を表している。
【0076】
ここでは、
図4(C)の「読み取りサイズ指定」画面30Cで「A3」が指定され、これにより、A3サイズの領域にわたって、300dpi(Dot per Inch)の分解能で読取りが行われたものとする。この場合、画像の長手方向(横方向、X方向)の画素数が4961ピクセル、縦方向(Y方向)の画素数が3508ピクセルの画像データが得られる。ただし、この
図7に示す例では、画像の読取りのもとになった原稿はA3サイズよりも小サイズであって、画像の左側の縁と左隅の文字との間隔よりも、画像の右側の縁と右隅の文字との間隔の方が広くなっている。
【0077】
ここでは、このようにして得られた画像データを「第1の画像データ」と称する。また、前述の通り、原稿上あるいは用紙上の画像とデータ上の画像を区別せずに単に「画像」と表現するときは、この第1の画像データは、「第1の画像」と表現される。ここでは、この
図7に示す第1の画像を、この後の図に出現する別の第1の画像と区別するために、第1の画像P1_1と称する。
【0078】
原稿上の画像の読取り(ステップS11)および自動正立処理(ステップS12)が終了すると、次に文字認識処理( HYPERLINK "https://en.wikipedia.org/wiki/Optical#character#recognition" \o "en:Optical character recognition" Optical character recognition/reader、以下、「OCR」と略記する。)が実行される(ステップS13)。ここでは、
図7に点線で囲って示した、矢印Xで示す横方向中央の、第1の画像P1_1の2分の1の探索領域SRについて、OCRが実行される。この探索領域SRは、2ページ分からなる第1の画像P1_1の、その2ページに跨る領域であり、本発明にいう探索領域の一例に相当する。また、この第1の画像の、2ページを跨ぐX方向は、本発明にいう「第1の向き」の一例に相当する。また、その第1の向きに交わるY方向は、本発明にいう「第2の向き」の一例に相当する。
【0079】
OCRを実行すると矩形の文字領域の座標が分かり、ここでは、その座標情報を取得する(ステップS14)。
図7に示す例では、「×」で示す文字列を囲う点線で示した各文字領域の座標情報が取得される。この
図7には、OCRにより、左寄りの(1)~(6)の文字領域と、右寄りの(7)~(11)の文字領域認識されたことが示されている。なお、OCR自体は広く知られている技術であり、ここでのこれ以上の説明は省略する。
【0080】
図8は、
図7に示した矩形の各文字領域の座標を示した図である。この
図8中、「X」、「Y」は、文字領域の左上隅のX座標、Y座標である。これらのX座標、Y座標は、探索領域SRの左上隅を原点としたときの画素数で表現されている。また、「W」、「H」は、文字領域のX方向の幅、Y方向の高さを表している。これらも画素数で表現されている。
【0081】
例えば、(1)の文字列のX座標は「0」であり、これは、この文字列が探索領域SRの左隅から始まっていることを意味している。また、この文字列のY座標は「600」であり、これは、この文字列が探索領域SRの上縁、すなわち第1の画像P1_1の上縁から600ピクセル下がった位置にあることを意味している。また、この文字列の「W」は「800」であり、これは、この文字列が横方向(X方向)に800ピクセル続いていることを表している。さらに、この文字列の「H」は「200」であり、これは、この文字列が縦方向(Y方向)に200ピクセルの高さを持っていることを表している。(2)~(11)の文字列についても同様である。
【0082】
図6のステップS14において、
図8に示すような、探索領域SR内の文字領域の座標情報を取得した後、探索領域SRのX方向の画素数と同数の要素からなる配列を用意して各要素に割り当てる数値を「ゼロ」に初期化する(ステップS16)。
【0083】
図9は、
図6のステップS15で用意される配列を示した図である。
【0084】
この配列は、探索領域SRのX方向に並ぶ画素数である2480の要素を持っている。この
図9に示した配列の要素には、すでに「ゼロ」以外の数値が対応づけられている要素もあるが、
図6のステップS15では、先ずは全ての要素が「ゼロ」に初期化される。
【0085】
次に、各要素ごとに、縦方向(Y方向)に並ぶ文字領域の行数が計数される(ステップS16)。
【0086】
図7に示す探索領域SR内の文字領域のうちの(1)~(6)の文字領域は、互いにY方向に並び、X方向について1ピクセル目から800ピクセル連続している。したがって、
図9に示す配列のうちの左端から800ピクセル分の要素には、計数値「6」があてはめられる。また、
図7に示す探索領域SR内の文字領域のうちの(1)~(6)の文字領域と(7)~(11)の文字領域との間は、700ピクセル間隔が空いていて、Y方向に眺めたとき、この700ピクセルの間には文字領域は存在しない。このため、
図9に示す配列の、左端から801番目の要素から始まる700要素の計数値は、「ゼロ」のままである。それよりも右側の要素は、Y方向に見たときに(7)~(11)の5つの文字領域が並んでいるため、各要素に計数値「5」があてはめられる。
【0087】
図10は、ページ連写処理の第1例の後半部分のフローチャートを示した図である。
【0088】
図6のステップS16における計数を行って配列(
図9参照)の各要素に計数値をあてはめた後、
図10のステップS21の判定が行われる。ここでは、第1の計数閾値C1以下の計数値の要素が第1の継続閾値K1以上にわたって継続する第1の分割可能領域A1が存在するか否かが判定される。ここでは、一例として、第1の計数閾値C1=3、第1の継続閾値K1=500とする。
図9の配列を参照すると、計数値が第1の計数閾値C1=3以下の要素が第1の継続閾値K1=500以上である「700」にわたって継続する第1の分割可能領域A1が存在する。この場合、ステップS21では「Yes」と判定される。
【0089】
そこで次に、第1の分割可能領域A1の中央が、探索領域SRの中央±α以内か否かが判定される(ステップS22)。ここでは、一例として、α=200とする。
図9を参照すると、第1の分割可能領域A1の中央は配列の左端(すなわち探索領域SRの左端)から数えて800+700/2=1150の位置にある。一方、
図7に示すように、探索領域SRの横幅は2480ピクセルであり、したがってその探索領域SRの中央は、探索領域SRの左端から数えて2480/2=1240の位置にある。これらを比較すると、第1の分割可能領域A1の中央である1150は、探索領域SRの中央である1240よりも90だけ少ない。すなわち、ここに示す例の場合、第1の分割可能領域A1の中央は、探索領域SRの中央±α以内の位置にある。したがって、この例の場合、
図10のステップS22で「Yes」と判定され、ステップS24に進む。なお、ステップS21で「No」と判定される場合、あるいはステップS22で「No」と判定される場合についての説明は、後に譲る。
【0090】
ステップS22で「Yes」と判定されてステップS24に進むと、ここでは、第1の画像が第1の分割可能領域A1の中央で分割されて2枚の第2の画像が生成される。すなわち、これを「画像データ」という言葉を使って正確に表現すると、第1の画像データで表される第1の画像を分割する演算が行われて2枚の第2の画像を表す第2の画像データが生成される、という表現となる。
【0091】
【0092】
第1の分割可能領域A1の中央は探索領域SRの左端から数えて1150ピクセルの位置にある。探索領域SRの左端は、この
図11に示すように、第1の画像P1_1は、探索領域SRの左端よりもさらに左側に1240ピクセル広がっている。したがって、ここで説明している例の場合、第1の画像は、その第1の画像P1_1の左端から2390ピクセルの位置で、縦方向(Y方向)に延びる分割線DLで分割される。
【0093】
そして分割された2枚の画像についてスキュー補正が行われる(ステップS26)。スキュー補正の説明は後に譲る。
【0094】
次に、2分割された2枚の画像の寸法が互いに同一か否かが判定される(ステップS27)。
図11を見ると、分割線DLは第1の画像の中央よりも左に寄った位置にある。したがって、ステップS26では、2枚の画像の寸法は同一ではないと判定される。この場合、ステップS28に進んで、画像の寸法調整が行われる。
【0095】
【0096】
ここで説明している具体例の場合、分割線DLは左寄りの位置にある。このことはすなわち、分割後の左側の画像のX方向の幅が短く、右側の画像のX方向の幅が長いことを意味している。そこで、ステップS21では、左側の画像の左側に2480-2390=90ピクセルの幅の空白部を追加し、また右側の画像からは、2571-2480=91ピクセル幅だけ削除する。分割線DLが左寄りだったということは、スキャナ10(
図1参照)で読み取った原稿のX方向の寸法が読み取りの寸法(
図4(C)参照)よりも短かったことを意味している。すなわち、分割線DLで分割した後の右側の画像の削除される領域は空白の領域ということになる。
【0097】
図10のステップS21で、第1の計数閾値C1以下の計数値の要素が第1の継続閾値K1以上にわたって継続する第1の分割可能領域A1が存在しないと判定されると、ここに示す第1例ではステップS25に進み、探索領域SRのX方向の中央を通ってY方向に延びる分割線DLで2分割される。なお、ステップS23の中央寄りで分割する処理についての説明は、さらに後に譲る。
【0098】
図13は、最終的に得られた2枚の第2の画像を示した図である。
【0099】
これら2枚の第2の画像P2_1は、互いに同一の寸法の画像となっている。
【0100】
図14は、ページ連写処理の第2例の後半部分のフローチャートを示した図である。この第2例における前半部分は前述の第1例の前半部分である
図6と同一であり、改めての図の提示および説明は省略する。
【0101】
図6のステップS16における計数を行って配列(
図9参照)の各要素に計数値をあてはめた後、
図14のステップS31の判定が行われる。なお、この第2例のステップS31~ステップS34の処理は、
図10に示した第1例の後半部分のステップS21の処理と比べほとんどの場合は同じ結果となる処理である。
【0102】
ステップS31では、計数値が「ゼロ」の要素が第1の継続閾値K1以上にわたって継続する第1の分割可能領域A1が存在するか否かが判定される。
図9に示したように、「ゼロ」の計数値が継続し「ゼロ」以外の第1の計数閾値C1が存在しない場合は、このステップS31における第1の分割可能領域A1は、第1例における第1の分割可能領域A1と同じである。ただし、
図9の配列の中の計数値「ゼロ」が続く領域の途中に、第1の計数閾値C1(たとえばC1=3)以下の、例えば「2」の計数値の要素があると、第1例における第1の分割可能領域A1と、この第2例における第1の分割可能領域A1が同一の領域とはならない場合がある。第1例の場合は、第1の計数閾値C1以下であって、かつ「ゼロ」以外の計数値の要素があっても、その「ゼロ」以外であってC1以下の計数値の要素も含めて第1の継続閾値K1以上連続している領域が第1の分割可能領域A1となる。これに対し、この第2例の場合は、計数値「ゼロ」が連続している要素のみが判定対象となり、計数値「ゼロ」の要素が第1の継続閾値K1以上継続している第1の分割可能領域A1が存在するか否かが判定される。このため、
図9に示した配列の中の、700ピクセル並ぶ計数値「ゼロ」の要素のなかの一方の端寄り、例えば右側から100ピクセル目の要素が計数値「2」だった場合は、この第2例における第1の分割可能領域A1は、
図9における、計数値「ゼロ」が割り当てられている700ピクセルの領域のうちの右側の100ピクセルを除く、左側600ピクセルの領域となる。したがってこの場合、分割線DLの位置が第1例の場合よりもさらに左寄りとなる。第1例と第2例とでは、このような細かな相違が理論上考えられるが、ほとんどのケースでは同一の結果となる。
【0103】
ここでは、第1例の場合と同様に、第1の計数閾値C1=3を採用する。第1の継続閾値K1についても、第1例の場合を踏襲して、K1=500とする。この場合、第1例で参照した具体例、即ち
図7に示した第1の画像P1_1の場合は、ステップS31で「Yes」と判定されて、ステップS35に進む。ステップS35~ステップS41の各処理は、第1例における
図10のステップS22~ステップS28の各処理とそれぞれ同一であり、重複説明は省略する。ただし、
図10のステップS23およびステップS26の処理については、まだ説明していない。
図10のステップS23の処理については、この
図14のステップS36の処理として後で説明する。
図10のステップS26の処理、すなわち
図14のステップS39の処理については、さらに後で説明する。
【0104】
図14のステップS31において、計数値が「ゼロ」の要素が第1の継続閾値K1以上にわたって継続する第1の分割可能領域A1が存在しないと判定されると、ステップS32に進む。そこで、以下では、ステップS32に進むことになる具体例を挙げて説明する。
【0105】
図15は、
図7に示した第1の画像とは異なる第1の画像を示した図である。この
図15に示す第1の画像P1_2の、
図7に示した第1の画像P1_1との違いは、2ページの中央と思われる箇所に、少し斜めに押された「会社」の文字の割り印の印影が存在することである。ここでは、
図6のステップS13におけるOCRにおいて、(1)~(11)の文字領域に加え、さらに「会」および「社」がそれぞれ別の文字領域として認識されている。ここでは「会」の文字領域を(12)の文字領域、「社」の文字領域を(13)の文字領域とする。
【0106】
図16は、
図15に示した各文字領域の座標を示した図である。この
図16中の「X」、「Y」、「W」、「H」の意味は、
図8の場合と同じである。
【0107】
ここには、
図8にも示した(1)~(11)の文字領域の座標に、さらに、(12)の「会」のひと文字からなる文字領域の座標と、(13)の「社」のひと文字からなる文字領域の座標が追加されている。
【0108】
図17は、
図6のステップS15で用意される、
図15に示した第1の画像に関する配列と、その配列を使った演算方法を示した図である。
【0109】
図17(A)は、
図6のステップS16で得られた、
図15に示した第1の画像P1_2に関する配列である。
図15に示した第1の画像P1_2に「会社」の文字からなる割り印の印影が存在していることの影響で、計数値「ゼロ」の領域が、領域A11と領域A12とに分かれている。これら2つの領域A11,A12は、いずれも、第1の継続閾値K1=500以上という条件を満たさず、したがって、これらの領域A11,A12のいずれも、第1の分割可能領域A1ではない。この場合、
図14のステップS31では「No」と判定されて、ステップS32に移る。このステップS32では、第1の計数閾値C1(初期値はC1=3)を「1」だけ減算する。そして、その減算後の第1の計数閾値C1(ここではC1=2)が「ゼロ」よりも大きいか否かが判定される(ステップS33)。ここでは、第1の計数閾値C1=2であるため、ステップS34に進む。このステップS34では、
図17(A)に示す配列の全ての要素それそれについて、各要素の計数値を「1」だけ減算する。ただし、ここでは、計数値「ゼロ」を下限とする。この減算処理の後、ステップS31に戻る。
【0110】
図17(A)に示す配列の全ての要素それそれについて、各要素の計数値を「1」だけ減算すると、
図17(B)の配列となる。この
図17(B)の配列においても、計数値「ゼロ」の領域が、領域A21と領域A22とに分かれている。そして、これら2つの領域A21,A22のいずれも、第1の継続閾値K1=500以上という条件を満たさず、したがって、これらの領域A21,A22のいずれも、第1の分割可能領域A1ではない。そこで、ステップS31から再度ステップS32に進み、第1の計数閾値C1がさらに「1」だけ減算されて、今度はC1=1となる。そして、ステップS33では、第1の計数閾値C1が「ゼロ」よりも大きいか否かが判定される。第1の計数閾値C1は、ここではC1=1となっているものの、まだ「ゼロ」より大きい数値であるため、再度ステップS34に進む。このステップS34では、今度は、
図17(B)に示す配列の全ての要素それそれについて、各要素の計数値を「1」だけ減算し、
図17(C)の配列を生成する。そして、もう一度、ステップS31に戻る。このステップS31に戻ると、今度は、
図17(C)の配列が参照される。この
図17(C)の配列には、計数値「ゼロ」が、第1の継続閾値K1=500以上にわたって継続する第1の分割可能領域A1が現れている。そこで、ステップS31では「Yes」と判定されて、ステップS35に進む。その後の処理は、ステップS36およびステップS39を除き、説明済みである。ステップS31~ステップS34のループをさらに繰り返して、ステップS33において「No」と判定されると、ステップS38に進み、探索領域SRのX方向の中央を通ってY方向に延びる分割線DLで2分割される。ステップS33において「No」と判定される具体例については、後で説明する。
【0111】
図18は、
図15に示した第1の画像に関する2分割の様子を示した図である。
【0112】
また、
図19は、
図15に示した第1の画像に関する寸法調整の様子を示した図である。
【0113】
さらに、
図20は、
図15に示した第1の画像を2分割することにより最終的に得られた2枚の第2の画像を示した図である。
【0114】
これらの
図18~
図20は、「会社」の印影が存在する点を除き、第1例の場合の、
図11~
図13のそれぞれ対応する図であり、説明は省略する。
【0115】
図21は、
図7に示した第1の画像および
図15に示した第1の画像のいずれとも異なる第1の画像を示した図である。この
図21に示す第1の画像P1_3の、
図7に示した第1の画像P1_1との違いは、
図7に示した第1の画像P1_1に存在していた(1)~(11)の文字領域のうちの左側の(1)~(6)の文字領域が存在しておらず、右側の(7)~(11)の文字領域のみ存在している点である。
【0116】
図22は、
図21に示した各文字領域の座標を示した図である。この
図21中の「X」、「Y」、「W」、「H」の意味は、
図8および
図16の場合と同じである。
【0117】
図23は、
図6のステップS15で用意される、
図21に示した第1の画像に関する配列を示した図である。
【0118】
この配列の場合、左側の1500ピクセルの要素の計数値が「ゼロ」となっている。このため、
図14のステップS21では、この1500ピクセルが第1の分割可能領域A1であると判定される。そして次に、この第1の分割可能領域A1の中央が探索領域SRの中央±α以内か否かが判定される(ステップS35)。ここでは、α=200である。
図23を参照すると、第1の分割可能領域A1の中央は配列の左端(すなわち探索領域SRの左端)から数えて750の位置にある。一方、
図21に示すように、探索領域SRの横幅は2480ピクセルであり、したがってその探索領域SRの中央は、探索領域SRの左端から数えて2480/2=1240の位置にある。これらを比較すると、第1の分割可能領域A1の中央である750は、探索領域SRの中央である1240よりも490も少ない。すなわち、ここに示す例の場合、第1の分割可能領域A1の中央は、探索領域SRの中央±α以内の位置から外れている。したがって、この例の場合、
図14のステップS35で「No」と判定され、ステップS36に進む。このステップS36では、第1の分割可能領域A1の中央ではなく、もっと探索領域SRの中央寄りの位置で分割される。
【0119】
図24は、
図21に示した第1の画像を2分割するときの分割線を示した図である。
【0120】
この例の場合、探索領域SRの中央には文字領域は存在せず、したがって、この第1の画像P1_3は、探索領域SRの中央を通る分割線DLで2分割される。文字領域が探索領域SRの中央にまで及んでいるときは、分割線DLは、その文字領域を避けることができるまで横にずれた位置に引かれる。
図14のステップS36では、このような分割処理が行われる。
図10のステップS23も同様である。
【0121】
図25は、
図21に示した第1の画像を2分割することにより最終的に得られた2枚の第2の画像を示した図である。
【0122】
図24に示したように、分割線DLが探索領域SRの中央を通っているため、分割後の2枚の第2の画像P2_3は、分割した時点で互いに同一の寸法となっている。このため、
図14のステップS41はスキップされる。
【0123】
図26は、ページ連写処理の第3例の後半部分の中の一部のフローチャートを示した図である。第3例の残りのフローチャートは、
図29に示されている。
図29については、
図26の説明の後で説明する。この第3例における前半部分は前述の第1例および第2例の前半部分である
図6と同一であり、改めての図の提示および説明は省略する。
【0124】
この
図26を、第2例のフローチャートである
図14と比較すると、第2例のフローチャートには、ステップS38が存在する。そして、その第2例では、ステップS33で「No」と判定されるとステップS38に進む構成となっている。これに対し、この
図26の第3例の場合、ステップS38が削除されていて、ステップS33で「No」と判定されると、
図29に示す処理に移る構成となっている。すなわち、
図14に示す第2例の場合、ステップS33で「No」と判定されると分割に適した位置についてのそれ以上の探索は諦めて第1の画像の中央で分割することとしている。これに対し、この第3例では、ステップS33で「No」と判定されると、さらに、
図29に示す処理により、分割位置の次の探索が行なわれる。第2例と、第3例の
図26に示した部分との差異は以上の点だけであり、
図26についてのこれ以上の説明は省略する。
【0125】
図27は、これまでの第1の画像とはさらに異なる、もう1枚の第1の画像を示した図である。
【0126】
この第1の画像P1_4の場合、2ページ分の文字が互いにほとんど接した位置にある。また、これら2ページの文字は、互いに逆方向に少し斜めになっている。
【0127】
ここでは、この
図27の第1の画像P1_4について
図6に示した前半の処理を実行する。
【0128】
図28は、
図27に示した第1の画像の探索領域SRの文字領域を示した図である。
【0129】
ここには、左側の(1)~(5)の文字領域と、右側の(6)~(11)の文字領域が現れている。
【0130】
図示や再度の説明は省略するが、これらの文字領域の行数の計数により生成された、例えば
図17(A)に示すような配列に関して、
図14あるいは
図26のステップS31~ステップS34の処理を第1の計数閾値C1が「ゼロ」になるまで繰り返しても、第1の分割可能領域A1は出現しない。このため、ステップS33では「No」と判定される。
図14に示した第2例の場合は、ステップS33で「No」と判定されるとステップS38に進み、探索領域SRの中央で2分割される。これに対し、第3例の場合は、
図29の処理に移る。
【0131】
図29は、ページ連写処理の第3例の後半部分の中の、
図26に示した部分を除く残りの部分のフローチャートを示した図である。
【0132】
ここでは先ず、各文字領域について、1ステップ分の縮小処理が行われる。
【0133】
【0134】
この
図30には、
図28に示す(1)~(11)の各文字領域について縮小処理を何ステップか繰り返した後の各文字領域が示されている。
図30に破線で示されている(1)~(11)の各文字領域は、
図28に示す、対応する各文字領域と比べ、それぞれ縮小されていて、各文字領域についてX方向の左端の始点が右端の終点側に近づき、これとともに、右端の終点が左端の始点側に近づいている。これにより、
図30には、Y方向に文字領域が存在しない領域A2が生まれている。
【0135】
【0136】
図29のステップS51では、1ステップ分の縮小処理が行われる。これにより、各文字領域は少しだけ縮小される。ただし、この縮小処理は、座標上の文字領域が縮小されるのであって、文字そのものが縮小される訳ではない。この縮小処理の後、
図6のステップS15およびステップS16と同様に、要素の配列を用意して初期化し(ステップS52)、各要素ごとにY方向に並ぶ文字領域の行数を計数する(ステップS53)。そして、その配列を参照して、第2の計数閾値C2以下の計数値が第2の継続閾値K2以上にわたって継続する第2の分割可能領域A2が出現したか否かが判定される(ステップS54)。ここでは、一例として、第2の計数閾値C2=0、第2の継続閾値K2=30が採用されている。したがって、この場合、このステップS54では、計数値「ゼロ」の要素が30以上にわたって継続する第2の分割可能領域A2が出現したか否かが判定される。
図30に示すように、第2の分割可能領域A2が出現していた場合は、ステップS57に進み、この第1の画像P1_4が、第2の分割可能領域A2の中央を通ってY方向に延びる分割線DLで2分割される。
【0137】
一方、ステップS54において「No」と判定されると、第1の回数閾値R1が「1」だけ減算される(ステップS55)。第1の回数閾値R1は縮小処理(ステップS51)を何回繰り返すかを決定する係数であり、ここでは、初期値として、例えば、第1の回数閾値R1=3が採用されている。この場合、このステップS55を初回に通過したときは、R1=2となる。そして、その減算後の第1の回数閾値R1がR1>0か否かが判定され(ステップS56)、R1>0を満たすときは、ステップS51に戻って再度縮小処理が行われる。
【0138】
ステップS56において「No」と判定されるとステップS58に進む。このステップS58では、第1の画像P1_4が、探索領域SRの中央を通ってY方向に延びる分割線DLで2分割される。
【0139】
図31は、2分割された直後の2枚の画像を示した図である。
【0140】
図27に示した通り、分割前の第1の画像P1_4上の2ページの文字は、互いに逆方向に少し斜めになっている。このため、
図31に示す、2分割された直後の2枚の画像においても、文字が少し斜めになっている。分割前の第1の画像P1_4上では、2ページの文字は互いに逆向きに傾いているため、文字の傾きを直すことはできない。これに対し、2分割された後の画像の場合、各1枚の画像上の文字は、いずれも同じ向きに傾いている。したがって、各画像毎に回転処理して文字を正しい向きを向かせるスキュー補正を行なうことができる。ステップS59では、このスキュー補正が行われる。
図10のステップS26および
図14のステップS39のスキュー補正も同様の処理である。そして、その後、2枚の画像の寸法が互いに異なっているときは(ステップS60)、互いに同一寸法となるように、寸法調整が行われる(ステップS61)。寸法調整については、
図12を参照して説明済みであり、重複説明は省略する。
【0141】
図32は、
図27に示した第1の画像を2分割して得た、最終的な2枚の第2の画像を示した図である。スキュー補正により文字の傾きが補正され、かつ同じ寸法の2枚の第2の画像P2_4が得られている。
【0142】
次に、第4例について説明する。
【0143】
図27に示した第1の画像の場合、2ページの文字が互いに近づいてはいるものの、
図6のステップS13におけるOCRにおいて、(1)~(5)の左側の文字領域と(6)~(11)の右側の文字領域が別々の文字領域しとして認識されている。
【0144】
図33は、
図27に近似したもう1つの第1の画像を示した図である。
【0145】
この
図33に示した第1の画像P1_5には、OCRで認識された文字領域が示されている。ただし、この
図33では、
図28と比べたとき、
図28における(2)の左側の文字領域と(7)の右側の文字領域が別々の文字領域とは認識されずに、左右がつながった、(2-7)の1つの文字領域として認識されている。
【0146】
図34は、
図33に示した文字領域に縮小処理を施した後の文字領域を示した図である。
【0147】
この
図34に示すように、左右の文字領域が繋がっていると、縮小処理によっても文字領域が2ページに分離されない場合が生じる。
【0148】
以上の
図33および
図34の説明を踏まえ、第4例の処理について説明する。
【0149】
この第4例についても、前半部分についてはこれまでの第1例から第3例までと同様に、
図6に示した処理が行われる。また、後半部分についても、上記の第3例と同じく、先ずは
図26の処理が行われる。
【0150】
そして、この第4例では、
図26のステップS33での「No」の判定を受けて、
図35の処理が開始される。
【0151】
図35は、ページ連写処理の第4例の後半部分の中の、
図26に示した一部を除く残りのフローチャートを示した図である。
【0152】
この
図35のフローチャートを、第3例の処理のフローチャートである
図29のフローチャートと対比すると、
図35には、
図29と共通のステップS51~ステップS56と、
図29と共通のステップS57~ステップS61との間に、ステップS71~ステップS74が挿入されている。すなわち、
図29に示した第3例の場合、ステップS56で「No」の判定を受けると、それ以上の分割位置の探索をあきらめて、探索領域SRの中央で分割することとしている。これに対し、
図35に示した第4例の場合、ステップS56で「No」の判定を受けると、さらに別の処理で分割に適した位置の探索が行われる。
【0153】
ステップS71~ステップS74の処理は、
図14のステップS31~ステップS34の処理と同様である。ただし、ここでは、ステップS51の縮小処理を第1の回数閾値R1と同じ回数繰り返した後のステップS53で作成された配列をベースにしている。なお、ここでは、第4例の説明に用いた
図33,
図34との整合を取るために、C3=0を初期値としている。そして、
図33,
図34に示した例の場合、左右が繋がっている文字領域は、(2-7)の文字領域1つのみである。したがってステップS71において、配列の各要素の計数値を1ずつ減算すると
図30に示した第2の分割可能領域A2が出現する。このため、ステップS72において「Yes」と判定されてステップS57に進むことになる。ただし、左右につながった文字領域が複数存在し、第2の計数閾値C2の初期値が例えばC2=3だったときは、ステップS71~ステップS74の処理が、最大C2=3回行われることになる。そして、その処理を繰り返している間に、ステップS72で「Yes」の判定があるとステップS57に進む。一方、ステップS71~ステップS74の処理をC2=3回繰り返してもステップS72での判定が「No」の判定であった場合には、ステップS58に進んで、探索領域SRの中央で2分割される。
【0154】
なお、上記の実施形態では、第1の計数閾値C1あるいは第2の計数閾値C2として、C1=3あるいはC2=0という予め定められた固定値を用いているが、これらは固定値ではなく、画像毎に決めてもよい。第1の計数閾値C1あるいは第2の計数閾値C2は、例えば
図9に示すような配列の要素の計数値の最大値あるいは平均値に基づいて、例えば最大値の5分の1、あるいは平均値の2分の1等の値に定めることができる。
【0155】
また、第1の継続閾値K1あるいは第2の継続閾値K2についても、上記の実施形態では、K1=500あるいはK2=30という予め定められた固定値を用いているが、これらも固定値ではなく、画像毎に定めてもよい。例えば、
図9に示すような配列の途中に、計数値「ゼロ」が継続する領域が複数個所に分かれて存在する場合には、細かな継続領域を避けるように、第1の継続閾値K1あるいは第2の継続閾値K2を調整してもよい。
【0156】
さらに、第1の回数閾値R1についても、画像毎に調整してもよい。
【0157】
また、ここでは特に説明することなく、二値画像を前提とした説明を行なったが、多値画像の場合は、二値化処理の後に、本実施形態が適用される。また、カラー画像の場合は、例えば輝度情報を抽出してその輝度情報を二値化すればよい。
【符号の説明】
【0158】
1 複合機
10 スキャナ
20 プリンタ
21 用紙トレイ
22 用紙台
30 タッチパネル
30A メニュー画面
30B 「読み取り方法」選択画面
30C 「読み取りサイズ指定」画面
30D 「縦書き/横書き指定」画面
30E UI画面
50 画像処理装置
51 探索部
52 分割部
53 調整部
54 補正部
511 認識部
512 計数部
513 第1の減算部
514 縮小部
515 第2の減算部