(58)【調査した分野】(Int.Cl.,DB名)
前記特定手段は、前記各格子点の3次元空間での位置関係として3次元空間での2点間の距離を特定し、この特定された3次元空間での2点間の距離が反映された位置関係を有する前記画像における複数の注目点の座標位置を前記歪み情報として取得する
ことを特徴とする請求項1記載の画像補正装置。
前記取得手段は、前記歪み情報として、前記設定手段により設定された第1形状線と、当該第1形状線上に存在するとともに、前記特定手段により特定された各々の間の3次元空間での距離が同一である前記複数の注目点の座標位置を取得する
ことを特徴とする請求項4記載の画像補正装置。
前記設定手段は、前記所定物体の平面部の平面上で互いに平行する複数の前記第1直線に対応するとともに、各々の線上における各点の位置関係が前記特定手段により特定された3次元空間での位置関係にある複数の前記第1形状線を前記画像に設定し、
前記取得手段は、前記歪み情報として、前記設定手段により設定された前記複数の第1形状線と、各々の第1形状線上に存在する前記複数の注目点の座標位置を取得する
ことを特徴とする請求項5記載の画像補正装置。
前記補正手段は、前記歪み情報に基づいて、前記第1形状線上の前記複数の注目点の2点間の距離を前記所定物体の平面部の平面上における2次元空間での距離に補正するとともに、前記第1形状線を直線に補正する画像処理を前記画像に施すことにより、前記所定物体の歪が補正されるように前記画像の歪みを補正する
ことを特徴とする請求項5または6に記載の画像補正装置。
前記設定手段は、前記所定物体の平面部の平面上で前記複数の第1直線に直交する互いに平行な複数の第2直線にそれぞれ対応するとともに、前記複数の第1形状線の各々と前記複数の注目点で交わる複数の第2形状線を前記画像に更に設定し、
前記取得手段は、前記歪み情報として前記複数の第2形状線を更に取得する
ことを特徴とする請求項5乃至7のいずれかに記載の画像補正装置。
前記補正手段は、前記複数の第1形状線と前記複数の第2形状線とによって区画された複数の単位領域の形状を個別に矩形に射影変換することによって前記画像の歪みを補正する
ことを特徴とする請求項8記載の画像補正装置。
前記設定手段は、前記画像の複数の箇所で、前記所定物体の平面部の平面上の文字の並び方向に直交する文字の行方向を検出し、検出した複数の箇所での文字の行方向の整合性を確保した形状線を前記第2形状線として前記画像に設定する
ことを特徴とする請求項8乃至10のいずれかに記載の画像補正装置。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について説明する。
(実施形態1)
まず、本発明の実施形態1について説明する。
図1は、実施形態1、及び後述する実施形態2に共通する画像補正装置1の外観図である。
【0012】
画像補正装置1は、主としてヒンジ部(連結部)2aを介して開閉可能な第1の筐体2bと第2の筐体2cとからなる筐体2と、第1の筐体2bに設けられた撮影機能を有する装置本体3とから構成される。
【0013】
筐体2は、第1の筐体2bと第2の筐体2cとが
図1に示した所定の角度で開いた使用状態に固定可能であり、係る使用状態においては第2の筐体2cが任意の原稿を載置する原稿台として使用される。原稿としては、例えば種々の書類、ノート、書籍、及びそれらに準ずる印刷物などである。
【0014】
装置本体3は、第2の筐体2cに載置された原稿を撮影するためのカメラ3aを含む情報処理装置であり、例えば第1の筐体2bに着脱自在なタブレット型のコンピュータ等により構成される。
【0015】
カメラ3aは、筐体2が
図1に示した使用状態にあるとき、第2の筐体2c(原稿台)の表面に対して光軸Lが規定の角度となるよう装置本体3に設けられており、任意の原稿が撮影可能である。すなわち原稿の撮影時におけるカメラ3aと原稿との間の撮影距離と撮影角度θは固定である。また、カメラ3aは、第2の筐体2cの表面全域が撮影できる程度の画角を有している。
【0016】
図2は、装置本体3の電気的構成の概略を示したブロック図である。カメラ3aは、主として図示しない撮影光学系を介して被写体を撮像するCCD(Charge Coupled Device)やCMOS(Complementary Meta1 0xide Semiconductor)型の撮像素子と、撮像素子より得られた撮像信号を処理する画像処理エンジンから構成され、原稿を撮影した撮影画像データを制御部11へ供給する。
【0017】
制御部11は、電源部(二次電池)12からの電力供給によって動作し、記憶部13内の各種のプログラムに従い装置本体3の全体動作を制御する。制御部11は、CPU(Central Processing Unit)及びその周辺回路、メモリ等から構成されている。
【0018】
記憶部13は、例えばフラッシュメモリにより構成され、上記の各種のプログラムを記憶するプログラムメモリ13a、前記撮影画像データを含む各種の情報を記憶するワークメモリ13bを有している。なお、記憶部13は、装置本体3に着脱自在な記録媒体でも構わない。
【0019】
操作部14は、図示しない電源キーを含む複数の操作スイッチから構成される。表示パネル15aは液晶ディスプレイであり、種々の画像情報や文字情報を表示する。
【0020】
タッチパネル15bは、ユーザーの指等でタッチ操作された位置を検知してその座標データを検出し、検出データを制御部11へ供給する静電容量方式や抵抗膜方式等の入力ディバイスである。
【0021】
通信部16は、高速大容量の通信が可能な無線通信モジュールであり、最寄りの無線LAN(Local Area Network)ルータ等を介してインターネットに接続したり、通信機能を備えたパーソナルコンピューター等の他の機器と間のデータ通信を行ったりする。
【0022】
そして、上の構成からなる画像補正装置1においては、制御部11がプログラムメモリ13aに格納されている所定のプログラムに基づき後述する画像補正処理を実行することにより、カメラ3aによって撮影された原稿の撮影画像(以下、原稿画像という。)に存在する原稿の歪みが補正される。
【0023】
以下、制御部11による画像補正処理を
図3、及び
図4に示したフローチャートに従い説明する。なお、以下の説明においては、原稿が、文字が記載(印刷)されている任意の書類であることを前提とする。
【0024】
画像補正処理に際して制御部11は、まず、カメラ3aによって撮影されワークメモリ13bに記憶されている原稿の原稿画像を2値化する(ステップSA1)。
【0025】
係る2値化に際しては、例えば明るさが異なる部分には異なる閾値を設定する公知のNiblack法を用いて、文字と背景とを分離した良好な2値化画像を取得することができる。
図5(a)は、上記2値化画像G1を便宜的に示した図であって、文字列が画像の横方向に延在する場合の例である。なお、以下の説明においては、文字列が概ね画像の横方向に延在していることを前提とする。
【0026】
次に、制御部11は、2値化画像G1の複数ヶ所に格子点を設定する(ステップSA2)。具体的に述べると、制御部11は、2値化画像G1においてエッジ検出等を用いて文字が並んでいるテキスト領域を判別した後、そのテキスト領域に一定間隔で複数の格子点を設定する。
図5(b)は、上記複数の格子点P(図で白丸)の一部を便宜的に示した図である。
【0027】
次に、制御部11は、2値化画像G1から各々の格子点Pを中心とした所定サイズの正方形の領域画像を順に切り出す(ステップSA3)。
図5(c)は、切り出した領域画像G2を示す図である。
【0028】
次に、制御部11は、領域画像G2を繰り返し回転させてx方向の画素値のヒストグラムの標準偏差を求め、最大となる角度の傾き方向を格子点Pにおける局所的な文字の並び方向(以下、文字列方向と称す。)とする(ステップSA4)。
【0029】
ここで、x方向の画素値のヒストグラムとは、画像空間でのx軸上の各位置において、直交するy軸上の黒い画素の合計数の分布状態を示すものであり、制御部11は、上記ヒストグラムにおいて標準偏差が最大(分散が極値)となる特定の回転角度、つまりx軸に対する領域画像G2の傾き角度を、文字列方向を示す情報として記憶する。
図5(d)は、領域画像G2における局所的な文字列方向を矢印で示した概念図である。
【0030】
次に、制御部11は、領域画像G2に一方向のぼかしフィルタを用いたぼかし処理を繰り返し実行し、処理後に画素の合計が最大となる特定の方向を格子点Pにおける局所的な文字の行方向(以下、文字行方向と称す。)とする(ステップSA5)。
【0031】
より具体的に説明すると、制御部11は、領域画像G2に向きを変えながら一方向のぼかしフィルタを繰り返しかけ、ある程度以上の長さの線分だけを残す処理を行う。そして、制御部11は、フィルタ処理後に残った黒い画素の合計数が最大となる特定の方向(ただし文字列方向は除く)とx軸とがなす角度を、文字行方向を示す情報として記憶する。
図5(e)は、領域画像G2における局所的な文字行方向(図で矢印)を矢印で示した概念図である。
【0032】
以後、制御部11は、2値化画像G1に設定した全ての格子点Pについて局所的な文字列方向、及び文字行方向を示す角度をそれぞれ取得するまで(ステップSA6:NO)、異なる格子点Pを対象として上記ステップSA3〜ステップSA5の処理を繰り返す。
【0033】
そして、全ての格子点Pについて上記の角度を取得した後(ステップSA6:YES)、制御部11は、原稿画像G0の中央付近に、各格子点Pにおける文字列方向を用いて
図6(a)に示したような基準となる1本の第1形状線L1を設定する(ステップSA7)。
【0034】
このとき、制御部11は、まず、前述した各格子点Pの文字列方向(角度)から、各々の格子点Pの間における画像内の各点の文字列方向(角度)を補完する。なお、補完に際しては、各格子点Pのうちで周囲の他の格子点Pと比べて方向が大きく異なる格子点Pを予め除外することにより、格子点Pを含む各点における文字列方向が全体的に滑らかに変化するように整合性を確保する。
【0035】
そして、制御部11は、各格子点P、及びそれらの間に位置する各点の中で原稿画像G0の中心付近に位置する点を基準点と決め、その基準点を出発点として、基準点における文字列方向の一方側及び他方側に向けて微小距離だけ線分をそれぞれ延ばし、その先端を、対応する位置の他の点における文字列方向に向けて更に微小距離だけ延ばす処理を繰り返すことによって第1形状線L1を生成する。
【0036】
次に、制御部11は、上記のように設定した第1形状線L1を3次元空間で等間隔となるように複数区間に分割する分割処理を行う(ステップSA8)。
図4は、制御部11による分割処理を示したフローチャートである。
【0037】
まず、分割処理の概略について説明する。分割処理は、3次元空間で決められている分割距離だけ互いに離間する
図6(b)に示したような複数の分割点Nを第1形状線L1上に設定し、各分割点の座標値を記憶する処理である。なお、
図6(b)は複数の分割点Nを便宜的に示したものであり、実際に設定する分割点の数(第1形状線L1の分割数)は数十である。
【0038】
また、分割点の設定に際して制御部11は、後述するように互いに近接する2点を始点及び終点とする微小区間を第1形状線L1上に順に設定し、その微小区間の3次元空間での距離を繰り返し取得することによって、各分割点Nの位置を決定する。また、微小区間の3次元空間での距離は以下の考えに基づいて取得する。
【0039】
まず、
図8(a)に示したように、原稿Wが置かれている原稿台の上面を平面Dとし、この平面Dの法線方向をz軸、原稿Wの縦方向をx軸、横方向をy軸とする。
【0040】
原稿画像G0の第1形状線L1上にある任意の点Aの3次元空間での位置は平面D上の位置と近似するため、
図8(b)に示したように、カメラ3a及び点Aを通る直線と平面Dとの交点A’の位置が、点Aの3次元空間での位置となる。
【0041】
また、文字列方向(第1形状線L1の延在方向)が概ねx軸方向と一致していれば、
図9(a)に示したように、点A’を通る3次元空間での第1形状線L1は、点A’の近傍においては平面Dに垂直でx軸に平行し、かつy 軸に垂直な鉛直面Sに含まれると考えることができる。但し、文字列方向が概ねy軸方向と一致している場合は鉛直面Sがy軸に平行となる。
【0042】
そのため、
図9(b)に示したように、原稿画像G0の第1形状線L1上で点Aと微小距離だけ離れた点Bは、3次元空間ではカメラ3a及び点Bを通る直線と鉛直面Sとの終点B’にあると考えることができる。
【0043】
よって、鉛直面S内での線分A’B’の距離が、第1形状線L1上の微小区間A−Bの3次元空間での距離となり、この距離が、原稿Wの表面の該当する部分に湾曲等の歪みがない場合において最大となり、歪みがある場合には最大値よりも小さく、かつ歪みの度合が大きいほど小さくなる。
【0044】
係ることから、分割点の設定に際して制御部11は、鉛直面S内での線分A’B’の距離を繰り返し取得する。つまり制御部11は、原稿W内における各点の原稿Wの表面の湾曲等に伴う3次元空間での移動方向を特定方向、すなわち前記鉛直面Sに平行する方向に仮定することによって、微小区間A−Bの3次元空間での距離を繰り返し取得する。これにより、第1形状線L1上における各分割点Nの位置を決定する。
【0045】
次に、制御部11による分割処理の内容を
図4に示したフローチャートに従い具体的に説明する。
【0046】
分割処理に際して制御部11は、まず前述した分割距離を設定する(ステップSA101)。ここでは第1形状線L1が概ね原稿画像G0の横方向に延在していることを前提としているため、分割距離は原稿における規定の幅wである。なお、第1形状線L1が概ね原稿画像G0の縦方向に延在しているときには、上記分割距離は原稿における規定の高さhである。
【0047】
次に、制御部11は、第1形状線L1の設定に際して使用した基準点を距離の計測起点に設定し、かつ分割範囲を設定する(ステップSA102)。なお、分割範囲は、第1形状線L1に分割点を設定する範囲であり、処理開始当初は基準点の一方側の範囲である。
【0048】
次に、制御部11は、分割範囲(基準点の一方側)に微小区間が設定可能か否かを確認する(ステップSA103)。ここで、処理開始当初においては微小区間が設定可能であるため(ステップSA103:YES)、制御部11は、前記計測起点を始点とした微小区間を設定する(ステップSA104)。
【0049】
その後、制御部11は、設定した微小区間の始点と終点との2次元空間(画像空間)での座標位置を3次元空間での位置に変換する(ステップSA105)。変換方法は以下の通りである。
【0050】
まず、
図10に示したように、座標系としてカメラ座標系[k,l,m]、ワールド座標系[x,y,z]、画像座標系[u,v]を定義する。このときワールド座標の原点Oとx軸、y軸が前述したように原稿台の表面(平面D)上にあるとし、原稿の横方向をx軸方向、縦方向をy軸方向とする。なお、カメラ座標のl軸はカメラ3aの上方向、m軸はカメラ3aの光軸であり、画像座標系のu軸はk軸に平行、v軸はl軸に平行である。
【0051】
ワールド座標[x,y,z]とカメラ座標[k,l,m]と間の変換は、回転行列Rと並進行列Tを用いて下記式(1)で表される。
【0053】
上記回転行列Rは、ワールド座標系に対するカメラ3aの姿勢、つまり原稿の撮影角度に対応するカメラ3aのk軸回りの回転状態を示すパラメータである。また、上記並進行列Tは、ワールド座標系に対するカメラ3aの位置、つまり撮影距離を示すパラメータである。
【0054】
また、カメラ座標系[k,l,m]と、画像座標系[u,v]の変換は、下記式(2)で表される。
【0056】
原稿画像G0の画面上の始点A[Au,Av]
tとカメラ座標系の原点Cを通る直線CAの方向ベクトルは、カメラ座標系ではA=[Au,Av,f]
tであるため、式(1)よりワールド座標系ではRAとなる。パラメータをsとすれば、直線CAは下記式(3)で表される。
【0057】
【数3】
これに、z=0を代入すれば下記式(4)が得られる。
【0059】
よって、直線ACと鉛直面S(z=0)との交点A’の位置、すなわち原稿画像G0の画面上の始点Aの3次元空間での位置は、式(3)と式(4)より下記式(5)で求めることができる。
【0061】
一方、第1形状線L1上で始点Aと近接する終点Bとカメラ座標系の原点Cを通る直線CBは、式(3)と同様に下記式(6)で表される。
【0063】
また、点A’を含むy軸に垂直な鉛直面Sは、式(5)より下記式(7)となる。
【0064】
【数7】
これを式(6)に代入すれば下記式(8)となる。
【0066】
よって、直線CBと鉛直面S(z=0)との終点B’の位置、すなわち原稿画像G0の画面上の終点Bの3次元空間での位置は、下記式(9)で求めることができる。
【0068】
したがって、ステップSA105の処理において制御部11は、式(5)と式(9)とを用いて、微小区間の始点Aと終点Bの2次元空間(画像空間)での座標位置を3次元空間での位置(交点A’、終点B’の位置)に変換する。
【0069】
引き続き、
図4に示したように制御部11は、始点Aと終点Bとの3次元空間での位置から、微小区間の3次元空間での距離を算出する(ステップSA106)。
【0070】
次に、制御部11は、微小区間の距離を積算することによって、計測起点から微小区間の終点までの距離を取得し(ステップSA107)、積算した距離、つまり計測起点からの距離が分割距離であるか否かを確認する(ステップSA108)。このとき制御部11は、積算した距離と分割距離との差が予め決められている閾値以下であれば、積算した距離が分割距離と等しいと判断する。
【0071】
そして、制御部11は、積算した距離が分割距離に達していなければ(ステップSA108:NO)、今回設定した微小区間の終点を新たな微小区間の始点として設定した後(ステップSA109)、ステップSA103の処理に戻り、新たに微小区間を設定して前述した処理を繰り返す。
【0072】
また、制御部11は、ステップSA103以降の処理を繰り返す間に、積算した距離が分割距離となったら(ステップSA108:YES)、その時点の微小区間の終点を分割点として設定し、その座標位置を記憶するとともに、新たな計測起点として設定する(ステップSA110)。
【0073】
さらに、制御部11は、微小区間の終点を新たな微小区間の始点として設定した後(ステップSA109)、ステップSA103の処理に戻り、新たに微小区間を設定して前述した処理を繰り返す。これにより、制御部11は、第1形状線L1における基準点の一方側の範囲に複数の分割点を設定する。
【0074】
また、制御部11は、ステップSA103以降の処理を繰り返す間に、新たな微小区間を設定すべき範囲が第1形状線L1の基準点の一方側の端まで移動し、微小区間が設定不能となると(ステップSA103:NO)、分割点を基準点の両側に設定していなければ(ステップSA111:NO)、ステップSA102の処理へいったん戻り、前述した処理を繰り返す。
【0075】
すなわち制御部11は、基準点を計測起点に再設定するとともに、分割点を設定する分割範囲を基準点の一方側の範囲から他方側の範囲に変更した後(ステップSA102)、ステップSA103以降の処理を繰り返すことにより、第1形状線L1における基準点の他方側の範囲にも複数の分割点を設定する。
【0076】
その後、制御部11は、基準点の他方側の範囲に複数の分割点が設定できた段階で(ステップSA103:NO、ステップSA111:YES)、分割処理を終了し、
図3の処理に戻る。
【0077】
そして、上述した分割処理により第1形状線Lを3次元空間で等間隔の複数区間に分割した後、制御部11は、ステップSA5で取得した各格子点Pにおける局所的な文字行方向を用い、各々が第1形状線L1上の分割点Nを通る、
図6(c)に示したような複数本の第2形状線L2を原稿画像G0に設定する(ステップSA9)。
【0078】
このとき制御部11は、基準となる第1形状線L1の設定時と同様の手法により各々の第2形状線L2を決定する。すなわち制御部11は、各格子点Pでの局所的な文字行方向(角度)から、各々の格子点Pの間の各点における文字行方向(角度)を補完した後、各点の文字行方向に従い、第1形状線L1上の各分割点Nを出発点として線分を微小距離だけ一方向及び他方向へそれぞれ延ばしていく処理を繰り返すことにより各々の第2形状線L2を生成する。
【0079】
次に、制御部11は、複数本の第2形状線L2の中で原稿画像G0の中心付近に位置する1本を基準として、前述したステップSA8の処理と同様の手法で、当該第2形状線L2を3次元空間で等間隔となるよう複数区間に分割する(ステップSA10)。
【0080】
すなわち、制御部11は、基準とした第2形状線L2に、第1形状線L1上の分割点Nをそれぞれ起点として、その一方側及び他方側に、3次元空間で所定の分割距離だけ互いに離間する
図6(d)に示したような複数の分割点Nを順に設定する。
【0081】
その際、制御部11は、近接する2点を始点及び終点とする微小区間を第2形状線L2上に順に設定し、その微小区間の3次元空間での距離を繰り返し取得することによって、各分割点Nの位置を決定する。
【0082】
但し、微小区間の3次元空間での距離を取得する際、制御部11は、微小区間の終点(B)については、下記式(10)
【0083】
【数10】
によって、その2次元空間での位置を3次元空間での位置(終点B’の位置)に変換する。
【0084】
次に、制御部11は、ステップSA5で取得した各格子点Pにおける局所的な文字列方向を示す角度を使用し、基準となる第2形状線L2に設定した各々の分割点Nを通って延在する
図6(e)に示したような複数本の第1形状線L1を原稿画像G0に更に設定する(ステップSA11)。なお、具体的な設定手法は、ステップSA7で基準となる第1形状線L1を設定する場合と同様である。
【0085】
以上の処理により、原稿画像G0には、複数本の第1形状線L1と複数本の第2形状線L2とからなる、
図6(f)に示したようなグリッドが設定される。
【0086】
引き続き、制御部11は、原稿画像G0に設定した複数本の第1形状線と複数本の第2形状線と交点(グリッドの格子点)のうちで、座標値が未取得の
図6(f)に黒丸で示した分割点N以外の各交点Naの座標値を取得する(ステップSA12)。
【0087】
その後、制御部11は、原稿画像G0において隣接する4つの交点を頂点とする四角形領域(本発明の単位領域に相当する領域)を処理対象として順に切り出し、射影変換によって所定の縦横サイズを有する矩形に変形する(ステップSA13)。
図7(a)は、前述した分割点N及び交点Na(図で白丸)と、四角形領域Qの1つを明示した図である。
【0088】
ここで、変形後の矩形の縦横サイズは、ステップSA8の分割処理(
図4)で第1形状線L1を複数区間に分割する際の分割距離、すなわち前述した3次元空間での規定の幅w、及び高さhに応じたサイズである。
【0089】
次に、制御部11は、変形後の四角形領域の画像、つまり矩形画像をメモリ内の変形済みの他の矩形画像に元の位置関係を維持した状態で連結する(ステップSA14)。
図7(b)は、同図(a)に明示した四角形領域Qに対応する変形後の矩形画像R、及びその連結位置を示した図である。
【0090】
以後、制御部11は、画面全体の格子(全ての四角形領域)について処理が完了するまで(ステップSA15:NO)、ステップSA13,SA14の処理を繰り返す。
【0091】
そして、制御部11は全ての画面全体の格子について処理が完了した後(ステップSA15:YES)、全ての矩形画像を連結した画像であって、原稿画像と縦横サイズが同一の画像を補正画像としてワークメモリ13bに記憶する。
【0092】
以上の処理によって、原稿の歪みが補正された
図7(c)に示したような状態の補正画像G3が得られることとなる。
【0093】
なお、ワークメモリ13bに記憶した補正画像のデータは、表示パネル15aに表示されたり、通信部16を介してパーソナルコンピューター等の他の機器へ送信され、他の機器に保存されたりする。
【0094】
ここで、上述した画像補正処理に際して原稿画像G0に設定されるグリッドの格子点(分割点N及び交点Na)は、原稿内に存在する各点の3次元空間での位置関係(距離)、つまり原稿の各部における3次元的な歪みが直接反映されたものである。
【0095】
よって、画像補正装置1においては、原稿画像が、全体的に湾曲した原稿を撮影したものである場合は無論、外周部分や角部分等の任意の部分に局所的な歪みが存在する原稿を撮影したものであっても、係る原稿画像から、湾曲状態、及び局所的な歪みが高精度で補正された良好な状態の原稿を表す補正画像を取得することができる。つまり原稿に湾曲や局所的な歪みが存在していない場合と同様の良好な状態の文字情報を表す補正画像を取得することができる。
【0096】
しかも、上述した画像補正処理においては、原稿における湾曲状態、及び局所的な歪みだけでなく、原稿を斜め方向から撮影したことに起因する全体的な台形歪みを自動時に、つまり1回の処理によって補正することができる。
【0097】
また、上述した画像補正処理においては、第1形状線L1及び第2形状線L2を3次元空間で等間隔となるように分割する際、前述した微小区間A−Bの3次元空間での距離を、原稿内における各点の原稿の表面の湾曲に伴う3次元空間での移動方向を、特定方向(鉛直面Sに平行する方向)に仮定することによって取得する。
【0098】
よって、原稿画像のみに基づく処理であっても、第1形状線L1及び第2形状線L2を3次元空間で等間隔となるように正確な分割することができ、原稿画像に、原稿の各部における3次元的な歪みが正確に反映された格子点を有するグリッドを設定することができる。これによっても、良好な状態の文字情報を表す補正画像を取得することができる。
【0099】
また、グリッドを構成する第1形状線L1、及び第2形状線L2を2値化画像G1から検出した文字列方向、及び文字行方向に基づいて設定するため、これによっても、良好な状態の文字情報を表す補正画像を取得することができる。
【0100】
なお、本実施形態で説明した文字列方向や文字行方向の検出方法は一例であり、それらの具体的な検出方法は適宜変更可能である。例えば文字列方向や文字行方向は、原稿画像において輪郭抽出を行い、抽出した輪郭情報に基づいて検出してもよい。
【0101】
(実施形態2)
次に、本発明の実施形態2について説明する。本実施形態は、
図1及び
図2に示した構成を有するとともに、原稿画像の補正に際して制御部11が、記憶部13に格納されているプログラムに基づき実施形態1とは異なる後述する画像補正処理を行うものである。
【0102】
概略を先に述べると、本実施形態の画像補正処理では、2値化画像G1から文字行方向を検出することなく、原稿画像に文字行方向を示す複数の第2形状線L2を設定する。
【0103】
以下、本実施形態において制御部11が実行する画像補正処理を
図11に示したフローチャートに従い具体的に説明する。
【0104】
本実施形態においても制御部11は、まず、原稿を撮影した原稿画像を2値化し(ステップSB1)、2値化画像G1の複数ヶ所に格子点を設定した後(ステップSB2)、各々の格子点を中心とした所定サイズの正方形の領域画像を順に切り出し(ステップSB3)、格子点毎に局所的な文字列方向を検出する(ステップSB4)。
【0105】
なお、各処理の詳細は、実施形態1で
図3に示したステップSA1〜ステップSA4の各処理と同様である(
図5(a)〜同図(d)参照)。
【0106】
次に、制御部11は、全ての格子点について文字列方向(角度)を取得するまで、ステップSB1〜ステップSB4の各処理を繰り返し(ステップSB5:NO)、全ての格子点の文字列方向(角度)を取得した後(ステップSB5:YES)、以下の処理を行う。
【0107】
まず、制御部11は、原稿画像G0の中央に基準となる第2形状線L2として、
図12(a)に示したようなy軸方向に延びる1本の直線を設定する(ステップSB6)。ここで、基準となる第2形状線L2を直線とする理由は、仮に原稿(書類等)に全体的に湾曲や局所的な歪みが存在しているような場合であっても、原稿表面の横方向(x方向)の中心付近では、文字行方向に直線性が維持されていると考えられるためである。
【0108】
次に、制御部11は、基準となる第2形状線L2を3次元空間で等間隔となるように複数区間に分割し、その分割点を設定する(ステップSB7)。
【0109】
具体的に述べると、制御部11は、第2形状線L2に、原稿画像G0の中心を起点として、その一方側及び他方側に、3次元空間で所定の分割距離だけ互いに離間する
図12(b)に示したような複数の分割点Nを順に設定し、各分割点の座標値を記憶する。
【0110】
なお、係る複数の分割点の設定に際しても、制御部11は、実施形態1で説明した分割処理(
図4)と同様、互いに近接する2点を始点及び終点とする微小区間を第2形状線L2上に順に設定し、その微小区間の3次元空間での距離を繰り返し取得することにより行う。
【0111】
ただし、ここで取得する3次元空間での距離は、原稿の縦方向をx軸、横方向がy軸としたとき(
図9(a)参照)、第2形状線L2がx軸とz軸とに垂直な鉛直面上にあると仮定したときの当該鉛直面内での2点間の距離である。
【0112】
次に、制御部11は、ステップSB4で取得した各格子点Pの文字列方向を用い、各々が第2形状線L2上に設定した分割点Nを通る、
図12(c)に示したような複数本の第1形状線L1を原稿画像G0に設定する(ステップSB8)。
【0113】
このとき制御部11は、実施形態1において基準となる1本の第1形状線L1を設定する際と同様、各格子点Pでの局所的な文字列方向(角度)から、各々の格子点Pの間の各点における文字列方向(角度)を補完した後、各点の文字行方向に従い、第2形状線L2上の各分割点Nを出発点として線分を微小距離だけ一方向及び他方向へそれぞれ延ばしていく処理を繰り返すことによって、各々の第1形状線L1を決定する。
【0114】
次に、制御部11は、複数本の第1形状線L1を、ステップSB7の処理で第2形状線L2に設定した各分割点Nを基準として、3次元空間で等間隔となるように複数区間に分割し、その分割点を設定する(ステップSB9)。
【0115】
このとき、制御部11は、複数本の第1形状線L1に、第2形状線L2上に設定した各分割点Nを起点として、その一方側及び他方側に、3次元空間で所定の分割距離だけ互いに離間する
図12(d)に示したような複数の分割点Nを順に設定し、各分割点の座標値を記憶する。なお、ステップSB9の処理の詳細については、実施形態1で説明した分割処理(
図4)と同様である。
【0116】
次に、制御部11は、上記のように設定した複数本の第1形状線L1の各々の線上における各々の分割点Nをy軸方向に連結することにより、
図12(e)に示したような複数本の第2形状線L2を原稿画像G0に更に設定する(ステップSB10)。すなわち制御部11は、複数本の第1形状線L1にそれぞれ設定した分割点Nのうちで、基準として設定した第2形状線L2からの3次元空間での距離が同一となるものを互いに連結する線を、第2形状線L2として新たに設定する。
【0117】
以上の処理により、原稿画像G0には、複数本の第1形状線L1と複数本の第2形状線L2とからなる、
図12(f)に示したようなグリッドが設定される。
【0118】
しかる後、制御部11は、実施形態1で
図3に示したステップSA13〜ステップSA16の各処理と同様の処理を行う。
【0119】
すなわち制御部11は、原稿画像G0から、既に分割点Nとして座標値を取得した複数本の第1形状線と複数本の第2形状線との交点(グリッドの格子点)における、隣接する4つの分割点を頂点とする各々の四角形領域を処理対象として順に切り出し、射影変換によって所定の縦横サイズを有する矩形に変形する(ステップSB11)。
図12(f)は、各交点(図で白丸)と上記四角形領域Qの1つを明示した図である。
【0120】
なお、変形後の矩形の縦横サイズは、ステップSB7の処理で基準とする第2形状線L2を複数区間に分割する際、及びステップSB9の処理で複数の第1形状線L1を複数区間に分割する際の分割距離、すなわち前述した3次元空間での規定の幅w、及び高さhに応じたサイズである。
【0121】
以後、制御部11は、変形後の四角形領域の画像(矩形画像)をメモリ内の変形済みの他の矩形画像に元の位置関係を維持した状態で順に連結し(ステップSB12)、画面全体の格子(全ての四角形領域)について処理が完了するまで(ステップSB13:NO)、ステップSB11,SA12の処理を繰り返す。
【0122】
そして、制御部11は全ての画面全体の格子について処理が完了した後について処理が完了した後(ステップSB13:YES)、全ての矩形画像を連結した画像であって、原稿画像G0と縦横サイズが同一の画像を補正画像としてワークメモリ13bに記憶する。
【0123】
これにより、第1の実施形態と同様、原稿の歪みが補正された
図7(c)に示したような状態の補正画像G3が得られることとなる。
【0124】
以上説明した本実施形態においても上述した画像補正処理に際して原稿画像G0に設定されるグリッドの格子点(分割点N)は、原稿内に存在する各点の3次元空間での位置関係(距離)、つまり原稿の各部における3次元的な歪みが直接反映されたものである。よって、実施形態1説明したものと同様の理由により同一の効果を奏することができる。
【0125】
さらに、本実施形態においては、実施形態1と比較して以下の効果を得ることができる。すなわち実施形態1では、2値化画像G1(領域画像G2)から文字行方向を検出したが、文字行方向の検出精度は原稿内の文字の違いに大きく左右される。例えば原稿内の文字が日本語の文字である場合には、画像情報として文字行方向がアルファベットほど顕著に表れないため、検出精度が低い。
【0126】
また、画像解像度が低いほど文字行方向の検出精度が低下する。特に、カメラ3aの光軸と紙面の間の角度(撮影角度θ)が浅い(小さい)場合には、カメラ3aから遠い部分では、近い部分に比べて画像解像度が低くなるため、検出精度の低下が顕著となる。そのため、文字行方向に基づき原稿画像G0に設定される複数の第2形状線L2の精度、つまり前述したグリッドの精度には自ずと限界がある。
【0127】
これに対して、本実施形態においては、複数の第2形状線L2を、文字列方向を示す複数の第1形状線L1に基づき間接的に決定して原稿画像G0に設定する。したがって、原稿内の文字が日本語の文字であっても、原稿内に存在する各点の3次元空間での位置関係がより正確に反映された格子点を有するグリッドを原稿画像G0に設定することができる。また、グリッド全体に、原稿内に存在する各点の3次元空間での位置関係を同一精度で反映させることができる。
【0128】
よって、本実施形態においては、原稿内の文字が、日本語の文字である場合のように、画像情報として文字行方向がアルファベットほど顕著に表れない文字である場合において、より良好な状態の文字情報を表す補正画像を取得することができる。
【0129】
ここで、以上説明した実施形態1及び実施形態2においては、原稿画像G0に第1形状線L1と第2形状線L2とからなるグリッドを設定した後、グリッドにおける各々の四角形領域Qを射影変換によって所定の縦横サイズの矩形に変形し、変形後の各々の矩形画像Rを連結することにより補正画像G3を生成するものについて説明した。
【0130】
しかし、本発明の実施に際しては、例えば原稿画像G0に上記グリッドを設定した後、モーフィング技術で使用される非線形の画像変換(メッシュワーピング等)を行うことにより補正画像G3を生成するようにしてもよい。すなわち上記グリッドの格子点の位置を目標とする正規のグリッドの格子点の位置へ変換するマッピング関数を決定し、それを用いて原稿画像G0から補正画像G3を生成するようにしてもよい。
【0131】
その場合、例えば原稿画像G0内で格子点が縦横方向に間隔に配置されている領域については、その領域内の格子点を使用せずに上記画像変換を行ったとしても補正画像G3を生成することができる。したがって、上記画像変換に使用する格子点の数を必要最小限とすることにより、補正画像G3を効率的に生成することができる。
【0132】
また、実施形態1及び実施形態2においては、原稿画像G0に第1形状線L1と第2形状線L2とからなるグリッドを設定し、原稿画像G0を補正して最終的な補正画像G3を得る場合について説明した。しかし、本発明の実施に際しては、上記グリッドを前述した2値化画像G1に設定し、2値化画像G1を補正して最終的な補正画像を得るようにしてもよい。
【0133】
また、実施形態1及び実施形態2においては、原稿画像G0が書類である場合、すなわち紙媒体である場合について説明したが、原稿は紙以外の合成樹脂や金属等からなる他の情報表示媒体であっても構わない。また、原稿の表面に印刷等により記載されている情報は、規則的に並んだものであれば、文字に限らず、図形や模様等であっても構わない。
【0134】
以上、本発明の実施形態、及びその変形例について説明したが、これらは本発明の作用効果が得られる範囲内であれば適宜変更が可能であり、変更後の実施形態も特許請求の範囲に記載された発明、及びその発明と均等の発明の範囲に含まれる。以下に、本出願の当初の特許請求の範囲に記載された発明を付記する。
[請求項1]
原稿を撮影して得られた原稿画像の歪みを補正する画像補正装置において、
前記原稿画像における前記原稿内の各点の2次元空間での位置関係と前記原稿の表面に対する撮影角度とに基づいて、前記各点の3次元空間での位置関係を特定する特定手段と、
前記特定手段により特定された前記各点の3次元空間での位置関係が反映された前記原稿画像の歪み情報を取得する取得手段と、
前記取得手段により取得された歪み情報に基づいて前記原稿画像の歪みを補正する補正手段と
を備えたことを特徴とする画像補正装置。
[請求項2]
前記特定手段は、前記原稿内における各点の原稿の表面の湾曲に伴う3次元空間での移動方向を特定方向に仮定することによって、前記原稿画像における各点の3次元空間での位置関係を特定することを特徴とする請求項1記載の画像補正装置。
[請求項3]
前記特定手段は、前記各点の3次元空間での位置関係として3次元空間での2点間の距離を特定し、
前記取得手段は、前記歪み情報として、前記特定手段により特定された3次元空間での2点間の距離が反映された位置関係を有する前記原稿画像における複数の注目点の座標位置を取得する
ことを特徴とする請求項2記載の画像補正装置。
[請求項4]
前記特定手段は、前記原稿内における位置関係が既知である前記各点について、前記原稿を湾曲が無い状態で所定の角度で斜めから撮影した場合における前記原稿画像の各点の2次元空間での位置関係として想定される想定位置関係と、実際に撮影された前記原稿画像の各点の2次元空間での位置関係である実位置関係との差異が生じた原因が、前記各点が3次元空間で前記特定方向へ移動したことにより生じたものとして、前記原稿内の各点の3次元空間での位置関係を特定することを特徴とする請求項2又は3記載の画像補正装置。
[請求項5]
前記原稿内における位置関係が既知である前記各点は、前記原稿内の文字の並び方向に沿った第1直線上に存在する複数の点であって、
前記取得手段は、前記歪み情報として、前記第1直線に対応する前記原稿画像内の第1形状線上に存在する前記複数の注目点の座標位置を取得する
ことを特徴とする請求項4記載の画像補正装置。
[請求項6]
前記原稿画像の複数箇所で文字の並び方向を検出し、検出した複数箇所での文字の並び方向の整合性を確保し得られた形状線を前記第1形状線として前記原稿画像に設定する設定手段を更に備え、
前記取得手段は、前記歪み情報として、前記設定手段により設定された第1形状線と、当該第1形状線上に存在するとともに、前記特定手段により特定された各々の間の3次元空間での距離が同一である前記複数の注目点の座標位置を取得する
ことを特徴とする請求項5記載の画像補正装置。
[請求項7]
前記設定手段は、前記原稿内で互いに平行する複数の前記第1直線に対応するとともに、各々の線上における各点の位置関係が前記特定手段により特定された3次元空間での位置関係にある複数の前記第1形状線を前記原稿画像に設定し、
前記取得手段は、前記歪み情報として、前記設定手段により設定された前記複数の第1形状線と、各々の第1形状線上に存在する前記複数の注目点の座標位置を取得する
ことを特徴とする請求項6記載の画像補正装置。
[請求項8]
前記補正手段は、前記歪み情報に基づいて、前記第1形状線上の前記複数の注目点の2点間の距離を前記原稿内における2次元空間での距離に補正するとともに、前記第1形状線を直線に補正する画像処理を前記原稿画像に施すことにより、前記原稿画像の歪みを補正することを特徴とする請求項5又は6,7記載の画像補正装置。
[請求項9]
前記設定手段は、前記原稿内で前記複数の第1直線に直交する互いに平行な複数の第2直線にそれぞれ対応するとともに、前記複数の第1形状線の各々と前記複数の注目点で交わる複数の第2形状線を前記原稿画像に更に設定し、
前記取得手段は、前記歪み情報として前記複数の第2形状線を更に取得する
ことを特徴とする請求項6又は7,8記載の画像補正装置。
[請求項10]
前記補正手段は、前記複数の第1形状線と前記複数の第2形状線とによって区画された複数の単位領域の形状を個別に矩形に射影変換することによって前記原稿画像の歪みを補正することを特徴とする請求項9記載の画像補正装置。
[請求項11]
前記補正手段は、個別に矩形に射影変換した後の前記複数の単位領域を結合することによって前記原稿画像の歪みを補正した補正画像を生成することを特徴とする請求項10記載の画像補正装置。
[請求項12]
前記設定手段は、前記原稿画像の複数の箇所で、前記原稿内の文字の並び方向に直交する文字の行方向を検出し、検出した複数の箇所での文字の行方向の整合性を確保した形状線を前記第2形状線として前記原稿画像に設定することを特徴とする請求項9又は10,11記載の画像補正装置。
[請求項13]
前記設定手段は、
前記原稿画像に基準となる前記第1形状線を設定し、
前記基準となる第1形状線に、前記特定手段により特定された当該第1形状線上の互いに近接する2点間の3次元空間での距離に基づいて、3次元空間での距離が等間隔となる複数の分割点を設定し、
前記複数の分割点において前記基準となる第1形状線とそれぞれ交差する前記文字の行方向に沿った複数の形状線を前記複数の第2形状線として設定し、
前記複数の第2形状線のうちで基準となる第2形状線に、前記特定手段により特定された当該第2形状線上の互いに近接する2点間の3次元空間での距離に基づいて、3次元空間での距離が等間隔となる複数の分割点を設定し、
前記基準となる第2形状線に設定した複数の分割点で前記複数の第2形状線とそれぞれ交差する前記文字の並び方向に沿った複数の形状線を他の前記第1形状線として設定し、
前記取得手段は、前記歪み情報として、前記複数の分割点を含む前記第1形状線上と前記第2形状線との全ての交点の座標位置を取得する
ことを特徴とする請求項9乃至12のいずれか1項に記載の画像補正装置。
[請求項14]
前記設定手段は、
前記原稿画像に、前記原稿内で前記第1直線に直交する第2直線に対応した形状線であって、前記原稿内の文字の並び方向に直交する文字の行方向に沿った基準となる第2形状線を設定し、
前記基準となる第2形状線上に、前記特定手段により特定された当該第2形状線上の互いに近接する2点間の3次元空間での距離に基づいて、3次元空間での距離が等間隔となる複数の分割点を設定し、
前記複数の分割点において前記基準となる第2形状線とそれぞれ交差する前記文字の並び方向に沿った複数の形状線を前記複数の第1形状線として設定し、
前記複数の第1形状線の各々に、前記特定手段により特定された各々の第1形状線上の互いに近接する2点間の3次元空間での距離に基づいて、3次元空間での距離が等間隔となる複数の分割点をそれぞれ設定し、
前記複数の第1形状線にそれぞれ設定した複数の分割点で前記複数の第1形状線とそれぞれ交差する前記文字の行方向に沿った複数の形状線を他の第2形状線として設定し、
前記取得手段は、前記歪み情報として、前記設定手段により設定された全ての前記分割点の座標位置を取得する
ことを特徴とする請求項9乃至12のいずれか1項に記載の画像補正装置。
[請求項15]
原稿を撮影して得られた原稿画像の歪みを補正する画像補正方法において、
前記原稿画像における前記原稿内の各点の2次元空間での位置関係と前記原稿の表面に対する撮影角度とに基づいて、前記各点の3次元空間での位置関係を特定する工程と、
前記特定手段により特定された前記各点の3次元空間での位置関係が反映された前記原稿画像の歪み情報を取得する工程と、
前記取得手段により取得された歪み情報に基づいて前記原稿画像の歪みを補正する工程と
を含むことを特徴とする画像補正方法。
[請求項16]
原稿を撮影して得られた原稿画像の歪みを補正する画像補正装置が有するコンピュータに、
記憶手段に記憶された前記原稿画像における前記原稿内の各点の2次元空間での位置関係と前記原稿の表面に対する撮影角度とに基づいて、前記各点の3次元空間での位置関係を特定する特定手段と、
前記特定手段により特定された前記各点の3次元空間での位置関係が反映された前記原稿画像の歪み情報を取得する取得手段と、
前記取得手段により取得された歪み情報に基づいて前記原稿画像の歪みを補正する補正手段と、
前記補正手段による補正後の補正画像を任意の記憶手段に記憶させる記憶処理手段と
して機能させることを特徴するプログラム。