説明

画像処理装置、画像処理プログラムおよび画像処理方法

【課題】処理対象図形に外接または近接する矩形を算出する際の計算量を削減する。
【解決手段】この画像処理装置は、処理対象の画像が記憶された記憶部と、この記憶部から読み出した画像から、輪郭点の集合として表現される折れ線として輪郭線を抽出し、抽出した輪郭線に対する接線を導出する接線導出部と、導出された接線と直交する軸へ接線を射影し、接線が軸と交わる交点の座標を求める射影部と、前記軸の方向毎に前記射影部により求められた交点の座標のうち座標の値が最大値と最小値の交点を抽出し、第一の軸について抽出した最大値と最小値の2つの交点を通る1組の平行な接線と、前記第一の軸と直交する第二の軸について抽出した最大値と最小値の2つの交点を通るもう1組の接線の組とで形成される矩形を求める矩形算出部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば方向毎に処理対象画像中の図形の外接矩形を求める画像処理装置、画像処理プログラムおよび画像処理方法に関する。
【背景技術】
【0002】
例えば番号札に印字した文字をカメラで撮影して認識する場合、番号札上の文字行は、必ずしも水平方向を向いていない。
【0003】
この場合、番号札の文字部分と文字認識用の辞書データとのマッチングがうまくいかないことから、通常、番号札の文字部分の画像を切り出して文字の方向を求めるための処理を行う必要がある。例えば、方向別に文字部分の画像から文字行候補を抽出し、抽出した文字行の長さなどのパラメータが最も妥当な行の方向を行方向とみなす等の処理が行われる。方向別の文字行の候補は、文字部分の画像の方向別の外接矩形を用いて推定することができる.
【0004】
外接矩形の算出方法としては、以下に示す方法が広く知られている。例えば図形上の画素の各々あるいは図形の輪郭線上の点の各々について、X座標とY座標の最大値及び最小値を求め、これらを上下左右の端の座標とすることによって図形の外接矩形を求めることができる(水平方向をX軸方向、垂直方向をY軸方向、X軸方向の座標をX座標、Y軸方向の座標をY座標とする。以降でもこの表記方法を用いる)。
【0005】
この他、外接矩形の算出方法としては、処理対象画像あるいは処理対象画像に対して二値化等の変換を施した画像をX軸方向およびY軸方向で積分し、積分値が予め定めた閾値以上のX座標およびY座標の最小値および最大値として上下左右の端の座標を求める方法が広く知られている。
【0006】
また、方向別に外接矩形を算出する方法としては、上記方法を応用した方法がいくつかある。
【0007】
例えば一つ目の方法は、図形上の画素の各々について、一方の座標軸が当該方向を向きもう一方の座標軸が当該方向と垂直な方向を向いた座標系上での座標を座標変換により算出し、算出した座標の最大値及び最小値として当該方向の外接矩形を算出する方法である(以降、この方法を「方法A」と表記する)。
【0008】
二つ目の方法は、図形の輪郭点を抽出して、輪郭点の各々について方法Aと同様に座標変換で算出した座標の最大値及び最小値として当該方向の外接矩形を算出する方法である(以降、この方法を「方法B」と表記する)。
【0009】
三つ目の方法は、処理対象画像あるいは処理対象画像に対して二値化等の変換を施した画像を当該方向およびそれと垂直な方向で積分し、積分値が予め定めた閾値以上の座標の最小値および最大値として上下左右の端の座標を求める方法である(以降、この方法を「方法C」と表記する)。
【0010】
四つ目の方法は、処理対象画像上で当該方向を向いた直線が水平方向または垂直方向となるように画像を回転して、回転した画像上で外接矩形を算出する方法である(以降、この方法を「方法D」と表記する)。
【0011】
さらに、方向別に図形の射影を算出する方法としては、図形上の画素の各々について、当該方向をむいた座標軸へ当該画素の座標を射影し、射影した座標のヒストグラムを算出する方法が一般的である。
【0012】
文字行の方向を推定する方法としては、方向別に画像の射影を算出して、算出した射影が最も急激に変化する方向を文字行の方向と推定する方法が知られている(例えば(特許文献1参照)
【特許文献1】特開昭57−52971号公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
上記のいずれの方法においても、計算量は方向数に比例する。例えば、方法Bを用いた場合、座標変換の回数は方向数と輪郭点数の積となる。
【0014】
算出した外接矩形を、例えば文書画像の方向推定に用いる場合、推定精度を向上するためには、外接矩形を算出する方向数を増やす必要があるが、方向数を増やすとそれに比例して計算量が増加する。従って、リアルタイム処理等、計算量に制約がある場合においては、計算量に応じて推定精度が制約されるという問題があった。
【0015】
本発明はこのような課題を解決するためになされたもので、画像を囲う矩形を求める上で、方向数の増大に伴う計算量の増大を抑えることができる画像処理装置、画像処理プログラムおよび画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0016】
上記の課題を解決するために本発明の画像処理装置は、処理対象の画像が記憶された記憶部と、前記記憶部から読み出した画像から、輪郭点の集合として表現される折れ線として輪郭線を抽出し、抽出した前記輪郭線に対する接線を導出する接線導出部と、前記接線導出部により導出された接線と直交する軸へ前記接線を射影し、前記接線が前記軸と交わる交点の座標を求める射影部と、前記軸の方向毎に前記射影部により求められた交点の座標のうち座標の値が最大値と最小値の交点を抽出し、第一の軸について抽出した最大値と最小値の2つの交点を通る1組の平行な接線と、前記第一の軸と直交する第二の軸について抽出した最大値と最小値の2つの交点を通るもう1組の接線の組とで形成される矩形を求める矩形算出部とを具備することを特徴とする。
【0017】
本発明の画像処理プログラムは、画像処理装置に画像処理を実行させる画像処理プログラムにおいて、前記画像処理装置を、処理対象の画像が記憶された記憶部と、前記記憶部から読み出した画像から、輪郭点の集合として表現される折れ線として輪郭線を抽出し、抽出した前記輪郭線に対する接線を導出する接線導出部と、前記接線導出部により導出された接線と直交する軸へ前記接線を射影し、前記接線が前記軸と交わる交点の座標を求める射影部と、前記軸の方向毎に前記射影部により求められた交点の座標のうち座標の値が最大値と最小値の交点を抽出し、第一の軸について抽出した最大値と最小値の2つの交点を通る1組の平行な接線と、前記第一の軸と直交する第二の軸について抽出した最大値と最小値の2つの交点を通るもう1組の接線の組とで形成される矩形を求める矩形算出部として機能させることを特徴とする。
【0018】
本発明の画像処理方法は、処理対象の画像が記憶された記憶部と、接線導出部と、射影部と、矩形算出部とを有する画像処理装置における画像処理方法において、前記接線導出部が、前記記憶部から読み出した画像から、輪郭点の集合として表現される折れ線として輪郭線を抽出し、抽出した前記輪郭線に対する接線を導出し、前記射影部が、導出した接線と直交する軸へ前記接線を射影し、前記接線が前記軸と交わる交点の座標を求め、前記矩形算出部が、前記軸の方向毎に前記射影部により求められた交点の座標のうち座標の値が最大値と最小値の交点を抽出し、第一の軸について抽出した最大値と最小値の2つの交点を通る1組の平行な接線と、前記第一の軸と直交する第二の軸について抽出した最大値と最小値の2つの交点を通るもう1組の接線の組とで形成される矩形を求めることを特徴とする。
【発明の効果】
【0019】
本発明によれば、画像を囲う矩形を求める上で、方向数の増大に伴う計算量の増大を抑えることができる。
【発明を実施するための最良の形態】
【0020】
以下、本発明の実施の形態について図面を参照しながら説明する。図1は本発明の第1実施形態に係る画像処理装置の構成を示すブロック図である。
【0021】
(第1実施形態)
図1に示すように、この画像処理装置は、メモリなどの画像記憶部10、画像抽出部11、接線導出部12、方向別輪郭点射影部16、方向別矩形算出部17、出力部18および入力部19などを有している。
【0022】
接線導出部12は、輪郭線算出部の一例としての輪郭線追跡部13、接線方向算出部14を有している。接線方向算出部14は、計算に用いる接線の方向の範囲を限定する接線方向範囲算出部としてのベクトル方向算出部15を有している。
【0023】
画像記憶部10には、画像201が記憶されている。画像記憶部10に記憶される画像としては、例えば図2に示すようにカメラで撮影した番号札の映像が記憶される。画像201には、番号札202が映っており、画像201に対して、番号札202の文字、例えば「20」等が傾斜しているものとする。
【0024】
また、画像記憶部10には、文字の輪郭線を構成する一つ一つの輪郭点(輪郭点)の情報(位置座標や数えはじめからの順序を示す番号等)が、配列として対応付けられて記憶される記憶テーブル(図5参照)が設けられている。
【0025】
画像抽出部11は、画像記憶部10から読み出した画像201から認識対象(処理対象)の図形や文字の画像を抽出する。例えば図2の例では図3のように「20」という文字列の部分の画像204(以下「処理対象図形204」と称す)を抽出する。図2の画像を処理対象画像とする場合では、画像記憶部10に記憶された画像201を画像抽出部11が読み出して、傾斜した番号札202から処理対象の画像を抽出するが、予め図3に示した処理対象図形204を画像記憶部10に記憶しておく場合、画像抽出部11は不要である。
【0026】
接線導出部12は、画像抽出部11により画像記憶部10から読み出されて部分的に抽出された画像から、輪郭点の集合として表現される折れ線として輪郭線を抽出し、抽出した輪郭線に対する接線を導出する。
【0027】
輪郭線追跡部13は、処理対象図形204の輪郭を画素色に基づいて追跡し輪郭線205を生成する(図4参照)。
【0028】
より具体的には、輪郭線追跡部13は、処理対象図形と外接する矩形を求める上で、処理対象図形204の内部と外部を隔てる輪郭線を構成する輪郭点を列挙する。輪郭点の各々は当該輪郭点の座標で表現される。以下では、処理対象の画像(図2参照)が二値画像であり、その中に含まれる外接矩形を求める処理対象図形204(図3参照)が黒画素の連結成分で構成されている場合について説明する。
【0029】
ベクトル方向算出部15は、輪郭線追跡部13により生成された輪郭線205(図4参照)から接線が引き出される方向(ベクトル方向)を求める。
【0030】
方向別輪郭点射影部16は、接線方向算出部14により求められた輪郭線205の各輪郭点から引き出される接線と直交(垂直)する軸を仮想的に設け、その軸へ接線を射影し(図6参照)、接線が軸と交る交点の座標を求める。
【0031】
方向別矩形算出部17は、軸の方向毎に方向別輪郭点射影部16により求められた交点の座標のうち座標の値が最大値と最小値の交点を抽出し(図7参照)、第一の軸について抽出した最大値と最小値の2つの交点を通る1組の平行な接線と、前記第一の軸と直交する第二の軸について抽出した最大値と最小値の2つの交点を通るもう1組の接線の組とで形成される矩形を求める(図8参照)。
【0032】
換言すると、方向別矩形算出部17は、方向毎に方向別輪郭点射影部16により求められた交点の座標のうち座標の値が最大値と最小値の交点を抽出し、直交する方向の組み合わせの各々について、方向毎に抽出した最大値と最小値を上下左右の端の座標とする矩形を求める。なお矩形は輪郭線を囲うように形成される。輪郭線を囲うという意味は、輪郭線に外接する、または輪郭線に近接する、輪郭線に接するという意味が含まれるものとする。
【0033】
出力部18は、方向別矩形算出部17により求められた矩形を出力するものであり、例えばディスプレイなどの表示部である。また、出力部18は、表示部以外に、例えば文字認識処理を行う画像処理モジュール等も適用できる。画像処理モジュールとしては、後述する第7実施形態及び第8実施形態で詳細に説明する。
【0034】
入力部19は、画像処理の開始及び終了を指示するものであり、例えばキーボード、マウスなどで実現される。
【0035】
以下、図3乃至図10を参照してこの第1実施形態の画像処理装置の動作を説明する。
画像抽出部11は、画像記憶部10から読み出した画像201から認識対象(処理対象)の図形204を少なくとも含む少し広い範囲の画像を抽出する。例えば図2の例では図3のように「20」という文字列の部分204を含んだ画像203を抽出する。
【0036】
図2のように円形の縁取りが行われた番号札の文字を認識対象とする場合で、縁取りが赤色の場合、画像201をRGB表現のカラー画像として画像記憶部10に記憶し、画像201からR成分がGおよびB成分の2倍以上の画素を黒画素とする二値画像を抽出し、二値画像からHough変換で円形領域を検出し、円形領域外をマスクして白色にした画像を作成することで、処理対象画像204を抽出する。
【0037】
すると、接線導出部12では、輪郭線追跡部13が、画像抽出部11により切り出された画像203から、輪郭線205と(図4参照)、輪郭線205を構成する輪郭点(図9参照)を求める。
【0038】
ここで、接線導出部12の輪郭線追跡部13が処理対象図形204の輪郭点を、輪郭線上の順序で列挙する処理について説明する。この例の場合、外接矩形を求める画像が例えば“20”などの文字画像204であり、黒画素の連結成分で構成されているものとする。
【0039】
輪郭点の情報は、例えば図5に示すような記憶テーブルにより記憶される。記憶テーブルには、配列R、配列P、配列mの各レコードが対応して記憶されている。
【0040】
配列Rは、輪郭線の各輪郭点の位置を示す配列である。配列Pは各輪郭点の2次元座標を示す配列である。配列mは輪郭点の数を示す配列である。
【0041】
以下の計算では、処理対象の画像を、例えば横w画素、縦h画素の二値(0または1)の配列Iとして表現し、二値の「0」で白画素を、「1」で黒画素を表すものとする。また、配列Fも横w画素、縦h画素の二値の配列とする。整数変数X0、Y0は輪郭線の追跡開始点の座標を表す。
【0042】
整数変数X、Yは、現在追跡中の輪郭点の座標を表す。X0とXは右方向が正、Y0とYは下方向が正とする。整数変数D0、D1、D2は上下左右の方向を表し、0が右方向、1が上方向、2が左方向、3が下方向を表す。整数変数Lは追跡中の輪郭線の番号を表す。
【0043】
整数変数Mは列挙した輪郭点の個数を表す。配列変数Pは二次元座標の配列であり、列挙した輪郭点の座標を格納する。配列変数Rは整数の配列であり、R[l]は第l番目に追跡した輪郭線の最初の輪郭点が、配列P中で位置する要素番号を表す。配列変数mではm[l]が第l番目に追跡した輪郭線について列挙した輪郭点の個数を表す。
【0044】
輪郭線追跡部13は、以下の手順で輪郭点を列挙する。
1. Lを「0」に初期化する。
2. Mを0に初期化する。
3. 配列Fを全て0に初期化する。
4. Y0を0に初期化する。
5. Y0がhに達するまで以下の処理を繰り返す。
(ア) X0を0に初期化する。
(イ) X0がwに達するまで以下の処理を繰り返す。
[1]配列Fの座標(X、Y)における要素が0ならば以下の処理を行う。
(1) m[L]に0を代入する。
(2) R[L]にMを代入する。
(3) XにX0を、YにY0を代入する。
(4) D0に2を代入する。
(5) D1にD0を代入する。
(6) 以下の処理を繰り返す。
(a) P[M]に座標(X、Y)を代入する。
(座標(X、Y)の点を輪郭点として列挙する。)
(b) m[L]にm[L]+1を代入する。
(c) MにM+1を代入する。
(e) 座標(X、Y)の画素からみてD2の方向に隣接した画素の値を確認し、
「1」になるまでD2を以下の値の順に変更する。但し、D2の方向の画素
が画像の範囲外ならば隣接した画素の値が「0」であるものとみなす。
・(D1+3) MOD 4 (a MOD b はaをbで割った余り)
・D1
・(D1+1) MOD 4
・(D1+2) MOD 4
(f) D1にD2を代入する。
(g) 配列Fの座標(X、Y)における要素を1とする。
(h) D1の値に応じて、以下のいずれかの処理を行う。
・D1=0ならXにX+1を代入する。
・D1=1ならYにY−1を代入する。
・D1=2ならXにX−1を代入する。
・D1=3ならXにY+1を代入する。
(i) X=X0かつY=Y0かつD1=D0ならば(6)の繰り返しを終了する。
(7) LにL+1を代入する。
[2]X0を1増やす。
(ウ) Y0を1増やす。
【0045】
このようにして、図9に示すように、例えば「0」という処理対象図形に対して輪郭点が列挙される。ここで、□は黒画素、●点は輪郭点、●点をつなぐ−の線は輪郭線である。
【0046】
接線方向算出部14は、輪郭線追跡部13により列挙された輪郭点おのおのについて輪郭線から引き出される接線の方向の範囲を算出する。
【0047】
なお、接線の方向の範囲を算出する輪郭点が所属する輪郭線の番号をl、当該輪郭線上での輪郭点の番号をiとする。dを予め定めた自然数とする。
この場合、接線方向算出部14は、以下の手順で接線方向の範囲を算出する。この様子を図10に示す。
【0048】
接線方向算出部14は、図5の記憶テーブルを参照し、まず第l番目の輪郭線上で、第i番の輪郭点の座標を記憶テーブルから取得し、各座標を(X、Y)とする。((X、Y)にP[R[l]+i]を代入する。)
【0049】
接線方向算出部14は、第l番目の輪郭線上で、第i番の輪郭点のd個前の輪郭点の座標を取得し、(Xs、Ys)とする。((Xs、Ys)にP[R[l]+((i−d) MOD m[l])]を代入する。)
【0050】
接線方向算出部14は、第l番目の輪郭線上で、第i番の輪郭点のd個後の輪郭点の座標を取得して(Xe、Ye)とする。((Xe、Ye)にP[R[l]+((i+d) MOD m[l])]を代入する。)
【0051】
接線方向算出部14は、差分ベクトルFs=(X−Xs、Y−Ys)を算出し、ベクトル方向算出部15によりベクトルFsから方向番号Dsを算出する。
【0052】
接線方向算出部14は、差分ベクトルFe=(Xe−X、Ye−Y)を算出し、ベクトル方向算出部15によりベクトルFeから方向番号Deを算出する。
【0053】
接線方向算出部14は、ΔD=Ds−Deとする。
ここで、ΔD≦N/2ならば、接線方向算出部14は、D1=Ds、D2=Deとする。また、ΔD>N/2ならば、接線方向算出部14は、D1=De、D2=Dsとする。
【0054】
接線方向算出部14は、このようにして求めたD1からD2を輪郭線の方向の範囲とする。
【0055】
続いて、ベクトル方向算出部15は、輪郭線追跡部13により生成された輪郭線205(図4参照)から、接線が引き出される方向(ベクトル方向)を算出する。
【0056】
この場合、ベクトル方向算出部15は、ベクトルF≡(Fx、Fy)から方向番号Dを算出する。ベクトル方向算出部15は、条件に応じて下記(式1)、(式2)、(式3)、(式4)の中から一つを選択利用し、方向番号Dを算出する。
【0057】
Fx=0の場合、
Fy>0ならば、D=ROUND(N/4)…(式1)
Fy>0ならば、D=ROUND(3N/4)…(式2)
Fx>0の場合、
D=ROUND(ATAN(−Fy/Fx)×N/360) MOD N…(式3)
Fx<0の場合、
D=(180+ROUND(ATAN(−Fy/Fx)×N/360)) MOD N…(式4)
【0058】
但し、関数ROUND(x)は実数xを四捨五入した値を返す関数、関数ATAN(x)はxの逆正接関数とする。関数ATAN(x)で返す角度の単位は「度」である。
【0059】
方向別輪郭点射影部16は、接線方向範囲算出部(ベクトル方向算出部15)により範囲が限定された方向の接線の候補Dと直交する軸へ、輪郭点から接線の候補Dを引き出す、つまり輪郭点を軸へ射影することで、接線の候補Dと交わった軸上の座標tを算出する。なお座標tは、以下の(式5)を用いて算出される。
【0060】
t=X×COS(−360D/N―90)+X×SIN(−360D/N―90)
…(式5)
但し、当該輪郭点の座標を(X、Y)とする。
【0061】
方向別矩形算出部17は、方向別輪郭点射影部16で軸に射影した交点に従い処理対象図形204の輪郭線205に外接する矩形(以下「外接矩形」と称す)を軸の方向別に求める。外接矩形は上下左右の端の座標で表現される。
【0062】
D番目の方向における外接矩形の座標は、方向Dが一方の軸(以下「U軸」と称す)方向Dから時計回りに90度の方向がもう一方の軸(以下「V軸」と称す)の座標系で表現するものとする。以降、U軸に沿った座標をU座標、V軸にそった座標をV座標と表記する。
【0063】
方向別矩形算出部17における方向別の外接矩形は、以下の手順で算出される。
1. 接線方向D毎に、方向別輪郭点射影部16で射影した輪郭点の射影先での座標tの最大値を算出し、記憶テーブルの配列Aに記憶する。A[D]に方向Dにおける方向別輪郭点射影部16で算出した座標tの最大値が代入される。なお最大値は以下の方法で算出する。
(1) D=0,…,N−1について、A[D]を0とする。
(2) 輪郭点の各々について、ベクトル接線方向算出部で求めた方向Dと、方向別輪郭
点射影部で算出した座標tを取得し、t>A[D]ならA[D]にtを代入する。
2. l番目の輪郭線の角度Dでの外接矩形の下端のV座標Ve(l、D)をA[D]右端のU座標Ue(l、D)をA[D+ROUND(N/4)]、上端のV座標Vs(l、D)をA[D+ROUND(N/2)]左端のU座標Us(l、D)をA[D+ROUND(3N/4)]とする。
【0064】
このようにして外接矩形が方向別に算出され、出力部18から出力される。例えばディスプレイの画面などに外接矩形が表示される。
【0065】
このようにこの第1実施形態の画像処理装置によれば、処理対象図形204の外接矩形を求める上で、処理対象図形204の輪郭線205から引き出す接線の方向をある角度の範囲(接線が取り得る範囲)に限定することで、演算量が少なくなり、方向数の増大に伴う計算量の増大を抑えることができる。
【0066】
(第2実施形態)
次に、図11乃至図14を参照して第2実施形態の画像処理装置を説明する。なお上記第1実施形態と同じ構成には同一の符号を付しその説明は省略する。
【0067】
この第2実施形態の画像処理装置の場合、図11に示すように、接線方向算出部14は、接線方向候補列挙部20を有している。
【0068】
接線方向候補列挙部20は、接線の取り得る方向の範囲を予め方向数Nとして定めておき、輪郭線上の輪郭点おのおのについて、ベクトル方向算出部15により求められた接線の方向の範囲(角度)内に存在する接線の候補を列挙(選出)する。すなわち、接線方向候補列挙部20は、円周をN個に均等に分割した回転方向(図12参照)の中で、接線範囲の算出により求められた範囲内に存在する分割線を接線の候補とする。
【0069】
列挙する方向の候補は、予め定めた方向数N未満の非負整数で表される。非負整数nで表現される方向は、図12に示すように、X軸の方向を0度とした場合、X軸から360n/N度回転した方向として表わされる。
【0070】
接線方向候補列挙部20は、ベクトル方向算出部15により求められた輪郭線上の各輪郭点における接線の方向の範囲を、非負整数D1、D2の対として接線の候補を列挙する。ここで、非負整数D1は接線の方向の範囲の始点であり、非負整数D2は接線の方向の範囲の終点である。
【0071】
例えばD1≦D2ならば、接線方向候補列挙部20は、図13に示すように、非負整数D1(始点)から非負整数D2(終点)までの全ての非負整数それぞれを接線の候補Dとして列挙する。
【0072】
また、D1>D2ならば、接線方向候補列挙部20は、図14に示すように、非負整数D1(始点)からN−1および0からD2までの非負正数を接線の候補Dとして列挙する。
【0073】
接線方向候補列挙部20は、このように方向の範囲を限定して各輪郭点から引き出すべき接線の候補Dを列挙する。
【0074】
方向別輪郭点射影部16は、接線方向候補列挙部20により範囲が限定された方向の接線の候補Dと直交する軸へ、輪郭点から接線の候補Dを引き出す、つまり輪郭点を軸へ射影することで、接線の候補Dと交わった軸上の座標tを算出する。なお座標tは、第1実施形態で示した(式5)を用いて算出される。
【0075】
このようにこの第2実施形態の画像処理装置によれば、接線方向範囲算出部により算出された接線の方向の範囲の中に演算対象の接線の方向が限られるため、方向数の増大に伴う計算量の増大を抑えることができる。
【0076】
(第3実施形態)
次に、図15および図16を参照して第3実施形態の画像処理装置を説明する。なお上記第1実施形態と同じ構成には同一の符号を付しその説明は省略する。
【0077】
この第3実施形態の画像処理装置は、上記第1および第2の各実施形態に示した接線方向算出部14のように、接線の方向の範囲や接線の候補を列挙することなく、図15に示すように、輪郭点から引き出す接線の方向を単に算出するだけの構成に単純化したものである。
【0078】
この場合、接線方向算出部14は、図16に示すように、処理対象の処理対象図形の輪郭線上の輪郭点それぞれについて接線を算出する。輪郭線上の輪郭点は、輪郭線追跡部13によって決定されるので、接線方向算出部14は、接線の方向を以下の手順で算出する。
1. 第l番目の輪郭線上で、第i番の輪郭点のd個前の輪郭点の座標を取得して(Xp、Yp)とする。
((Xp、Yp)にP[R[l]+((i−d) MOD m[l])]を代入する。)
2. 第l番目の輪郭線上で、第i番の輪郭点のd個後の輪郭点の座標を取得して(Xn、Yn)とする。
((Xn、Yn)にP[R[l]+((i+d) MOD m[l])]を代入する。)
3. 差分ベクトルF=(Xn−Xp、Yn−Yp)を算出する。
この場合、方向別輪郭点射影部16は、接線方向算出部14により算出された方向の接線Dと直交する軸へ、輪郭点から接線Dを引き出す、つまり輪郭点を軸へ射影することで、接線Dと交わった軸上の座標tを算出する。
このようにこの第3実施形態の画像処理装置によれば、接線の方向の演算(計算)を簡素な構成で行うことができ、外接矩形を求めるための演算処理を高速化することができる。
【0079】
(第4実施形態)
次に、第4実施形態の画像処理装置を説明する。なお上記第1実施形態とは構成の配置(図1参照)が同じであり、一部の構成(接線方向範囲算出部)の機能(動作)が異なる。
【0080】
上記第1実施形態では、処理対象図形204の輪郭線205の各輪郭点それぞれについて接線の方向の範囲を算出し、その中で個々の輪郭点から接線を射影(引き出)したが、この第4実施形態の画像処理装置では、輪郭線205を所定長の小区間に区分し、区分した個々の小区間それぞれについて接線の方向の範囲を算出し、その中で個々の小区間から接線を軸へ射影(引き出)するものとする。一例として、輪郭線追跡部13によって求められた輪郭点のうち、隣り合う物同士の対として小区間を定める。
【0081】
方向別輪郭点射影部16は、接線方向範囲算出部で算出された範囲の方向と直交する軸へ小区間を射影する。
【0082】
接線方向範囲算出部によって算出した方向の範囲の始点D1、及び終点D2について、D1≦D2が成立する場合、D1≦D≦D2なる整数Dの各々について、小区間の両端の輪郭点それぞれについて上述した(式5)で射影の座標tを算出し、方向別矩形算出部17での配列A[D]の更新に用いる。但し、上記(式5)による座標tの算出においては,座標XおよびYに上記小区間の両端の輪郭点の座標を代入する。
【0083】
また、D1>D2ならば、始点D1からN−1および0から終点D2までの非負正数それぞれをDとして、小区間の両端の輪郭点それぞれについて上述した(式5)で射影の座標tを算出し、方向別矩形算出部17での配列A[D]の更新に用いる。但し、上記(式5)による座標tの算出においては,座標XおよびYに上記小区間の両端の輪郭点の座標を代入する。
【0084】
このようにこの第4実施形態の画像処理装置によれば、接線方向範囲算出部により算出された接線の方向の範囲の中に演算対象の接線の方向が限られるため、方向数の増大に伴う計算量の増大を抑えることができる。
【0085】
また、処理対象図形の輪郭線を黒画素毎ではなく、ある長さの小区間に区分することで、計算対象の候補の接線数を少なくでき、演算量が少なくなり、方向数の増大に伴う計算量の増大を抑えることができる。
(第5実施形態)
次に、第5実施形態の画像処理装置を説明する。なお上記第2実施形態とは構成の配置(図11参照)が同じであり、一部の構成(接線方向候補列挙部20)の機能(動作)が異なる。
【0086】
上記第第2実施形態では、処理対象図形204の輪郭線205の各輪郭点それぞれについて接線を引くべき方向の範囲を限定し、その範囲内に存在する方向の接線を候補として列挙したが、この第5実施形態の画像処理装置の場合、接線方向候補列挙部20は、輪郭線追跡部で生成した輪郭線を所定の長さ毎に区分し、区分した小区間それぞれについて接線の方向の範囲を求め、その範囲内に存在する接線を候補として列挙する。
【0087】
接線方向範囲算出部における接線の方向の範囲の算出は以下の手順で行う。
1. 小区間の始点からd個前の輪郭点における接線の方向Dsを算出する。接線の方向Dsは第3の実施形態における接線方向算出部14と同じ方法で求める。
2. 小区間の終点からd個後の輪郭点における接線の方向Deを算出する。接線の方向Deは第3の実施形態における接線方向導出部と同じ方法で求める。
3. ΔD=Ds−Deとする。
4. ΔD≦N/2ならば、D1=Ds、D2=De、ΔD>N/2ならば、D1=De、D2=Dsとする。
5. D1からD2を接線の方向の範囲とする。
但し、dは予め定めた自然数である。
【0088】
接線方向候補列挙部20は、輪郭線追跡部13で生成した輪郭線を所定の長さ毎に区分し、その区分した小区間それぞれについて接線の方向の範囲を求め、その範囲内に存在する接線を候補として列挙する。
【0089】
その後、方向別輪郭点射影部16は、接線方向候補列挙部20で列挙した接線の方向の候補と直交する軸へ小区間の両端の輪郭点の射影として交点の座標を算出する。この際、輪郭点の射影は当該軸上への射影の座標tとして、上述した(式5)を用いて算出する。但し、当該輪郭点の座標を(X、Y)とする。
【0090】
このようにこの第5実施形態の画像処理装置によれば、接線方向候補列挙部20が、輪郭線を区分した小区間それぞれについて輪郭線の方向の範囲の中から接線の候補を列挙するので、計算対象の接線の候補数を少なくでき、演算量が少なくなり、方向数の増大に伴う計算量の増大を抑えることができる。
【0091】
(第6実施形態)
次に、図17を参照して第6実施形態の画像処理装置を説明する。なお上記第3実施形態とは構成の配置(図15参照)が同じであり、一部の構成(接線方向算出部14)の機能(動作)が異なる。
【0092】
この第6実施形態の画像処理装置では、接線方向算出部14は、処理対象図形の輪郭線を所定の長さ毎に区分し、その区分した小区間それぞれについて輪郭線の方向を算出する。
【0093】
また、方向別矩形算出部17は、方向別輪郭点射影部16により輪郭線の各小区間それぞれから軸に射影された交点を基に処理対象図形の輪郭線を接線で囲み、処理対象図形に外接する矩形を方向別に求める。
【0094】
この第6実施形態の場合、小区間の始点に位置する輪郭点の当該輪郭線上の番号をs、終点に位置する輪郭点の当該輪郭線上の番号をeと表記する。当該輪郭線の番号をlとする。この場合、接線方向算出部14は、接線の方向を以下の手順で算出する。接線方向算出部14における接線の方向の算出の様子を図17に示す。
【0095】
1. 第l番目の輪郭線上で、小区間の始点のd個前の輪郭点の座標を取得して(Xp、Yp)とする。
((Xp、Yp)にP[R[l]+((s−d) MOD m[l])]を代入する。)
2. 第l番目の輪郭線上で、小区間の終点のd個後の輪郭点の座標を取得して(Xn、Yn)とする。
((Xn、Yn)にP[R[l]+((e+d) MOD m[l])]を代入する。)
3. 差分ベクトルF=(Xn−Xp、Yn−Yp)を算出する。算出したベクトルFから方向番号Dを算出する。
但し、dは予め定めた自然数である。
【0096】
このようにこの第6実施形態の画像処理装置によれば、接線の方向の演算(計算)を簡素な構成で行うことができ、外接矩形を求めるための演算処理を高速化することができる。また、処理対象図形の輪郭線から接線を導出する上で、輪郭線の輪郭点毎ではなく、輪郭線を小区間毎に区分することで、計算対象の接線の候補数を少なくでき、演算量が少なくなり、方向数の増大に伴う計算量の増大を抑えることができる。
【0097】
すなわち、上記第4乃至第6実施形態では、接線方向算出部14は、処理対象図形の輪郭線を小区間に区分し、区分した小区間それぞれについて、接線の方向の算出(第3実施形態)、接線の方向の範囲の算出(第1実施形態)、接線の方向の範囲内に存在する接線の候補の列挙(第2実施形態)などの処理を行う。
【0098】
(第7実施形態)
次に、図18を参照して第7実施形態の画像処理装置を説明する。なお上記第1実施形態と同じ構成には同一の符号を付しその説明は省略する。
【0099】
第7実施形態の画像処理装置は、第1から第6のいずれかの実施形態で記載した構成(方向別矩形算出部17までの構成)により輪郭線の外接矩形を方向別に求めた後で、外接矩形をどのように処理するかを例示するものである。
【0100】
第7実施形態の画像処理装置は、図18に示すように、第1から第6のいずれかの実施形態で記載した構成(方向別矩形算出部17までの構成)に加えて、出力部18として、輪郭線重み算出部73、方向別射影算出部74および方向別射影出力部75を有している。
【0101】
輪郭線重み算出部73は、輪郭線それぞれについて重みを算出する。方向別射影算出部74は、輪郭線重み算出部73で算出された輪郭線の重みと方向別矩形算出部17により方向別に算出(推定)された輪郭線の外接矩形とから、処理対象図形の射影を方向別に算出する。
【0102】
方向別矩形算出部17は、第1から第6のいずれかの実施形態に示したものと同じ構成であり、処理対象図形から生成された輪郭線から、輪郭線の外接矩形を方向別に求める。
【0103】
輪郭線重み算出部73は、処理対象図形の輪郭線から引き出される接線それぞれについて、重みを計算する。l番目の輪郭線の重みは当該輪郭線が取り囲む面積として算出する。重みを輪郭線が取り囲む面積として算出するのは、当該輪郭線に囲まれる黒画素の射影結果に近似した射影を算出するためである。
【0104】
第l番目の輪郭線が取り囲む面積は、当該輪郭線上の輪郭点それぞれについて下記(式6)により面積ΔS[i]を算出し、輪郭線毎に面積ΔS[i]の総和S[l]として算出する。
【0105】
ΔS[i]=(P[R[l]+i].X+P[R[l]+j].X)
×(P[R[l]+i].Y−P[R[l]+j].Y)/2 …(式6)
【0106】
但し、iは当該輪郭線上における当該輪郭点の番号である。P[k]は輪郭線追跡部13で列挙した輪郭点の座標を格納した配列の第k要素を表す。P[k].XはP[k]のX成分を表す。P[k].YはP[k]のY成分を表す。また、j=(i+1) MOD N とする。
【0107】
方向別射影算出部74は、輪郭線重み算出部73により算出された輪郭線の重みと方向別矩形算出部17により方向別に算出された輪郭線の外接矩形から、方向別に処理対象図形の射影を算出する。輪郭線の番号をl、方向をD、当該方向の軸上での座標をtとする。
【0108】
この際、方向別射影算出部74は、下記(式7)を用いて射影の増分ΔJ(l、D、t)を算出する。例えば座標ROUND(Vs(l、D))からROUND(Ve(l、D))の間の座標tについて射影の増分ΔJ(l、D、t)を算出し、算出した射影の増分ΔJ(l、D、t)を射影J[t]に積算することで、方向Dについての射影を算出する。
【0109】
ΔJ(l、D、t)=S[l]/(Ve(l、D)―Vs(l、D))…(式7)
但し、Us(l、D)を方向別矩形算出部17で求めたl番目の輪郭線の角度Dでの外接矩形の左端のU座標、Vs(l、D)を外接矩形の上端のV座標、Ue(l、D)を外接矩形の右端のU座標、Ve(l、D)を外接矩形の下端のV座標とする。
【0110】
この第7実施形態の画像処理装置によれば、文字認識処理における文字行や文字の抽出に有用な射影を高速に計算することができる。
【0111】
(第8実施形態)
次に、図19および図20を参照して第8実施形態の画像処理装置を説明する。なお上記第7実施形態と同じ構成には同一の符号を付しその説明は省略する。
【0112】
第8実施形態の画像処理装置は、第7実施形態で記載した方向別射影算出部74により処理対象図形の射影を方向別に求めた後で、その射影をどのように処理するかを例示するものである。
【0113】
第8実施形態の画像処理装置は、図19に示すように、第1から第6のいずれかの実施形態で記載した構成(方向別矩形算出部17までの構成)に加えて、出力部18として、輪郭線重み算出部73、方向別射影算出部74、文字行推定部83および文字行出力部84を有している。
【0114】
文字行推定部83は、方向別射影算出部74で算出された処理対象図形の方向別の射影を基に処理対象図形中の文字行の方向を推定する。文字行出力部84は、文字行推定部83により推定された文字行を出力する。文字行出力部84が例えばディスプレイなどであれば、文字行を画面に表示する等の出力を行う。
【0115】
方向別射影算出部74は、第7実施形態で示した構成であり、処理対象図形の射影を算出する。文字行推定部83は、図20に示すように、方向別射影算出部74により算出された射影が予め定めた定数θを超える区間のうち、長さが予め定めた定数ε以上の領域を「行」として抽出する。
【0116】
このようにこの第8実施形態の画像処理装置によれば、方向別の処理対象図形の射影を基に処理対象図形中の文字行の方向を推定するので、文字認識用の辞書の文字の方向と処理対象図形の向きを合わせることで、例えば服に手で取り付けられた番号札や名札などのように文字列の向きが一定しない映像を読み取った画像の文字認識処理を高速に行うことができる。
【0117】
上記実施形態によれば、射影の計算では、射影を計算する方向を輪郭線と直交する方向に限定することで、計算量を削減することができる。したがって、計算量に制限がある場合は、より多くの方向について射影を計算することができる。すなわち、処理対象図形の射影を用いて文字行の方向を推定する場合、計算量に制限がある場合は、より高精度に行方向を推定できる。
【0118】
なお、本願発明は、上記実施形態のみに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形してもよい。また、上記実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の発明を構成できる。
【0119】
例えば上記各実施形態に示した構成は、ハードウェアだけでなく、例えばコンピュータに画像処理ソフトウェアのモジュール(プログラム)として組み込むことで実現できる。
【0120】
また上記実施形態に示した構成は、専用ハードウェアやその集合体、または分散処理用のコンピュータネットワークの一つのコンピュータ上に分散して実装してもよく、上記構成のうち本発明の実現するために必須の要素を全て備えるならば、実施形態で例示した構成に関わらずどのような形態で実現しても良い。
【0121】
また、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせて発明を構成してもよい。
【図面の簡単な説明】
【0122】
【図1】本発明の第1実施形態の画像処理装置の構成を示す図である。
【図2】処理対象の画像の一例を示す図である。
【図3】処理対象の処理対象図形を示す図である。
【図4】処理対象図形から生成した輪郭線を示す図である。
【図5】輪郭点の情報が記憶される記憶テーブルを示す図である。
【図6】輪郭線の各輪郭点から引き出される接線の様子を示す図である。
【図7】輪郭点を軸に射影した交点の座標のうち座標の値が最大値と最小値を抽出する様子を示す図である。
【図8】ある軸の輪郭線の外接矩形を示す図である。
【図9】処理対象図形の輪郭点が列挙された様子を示す図である。
【図10】輪郭線の接線方向の範囲を算出する様子を示す図である。
【図11】第2実施形態の画像処理装置の構成を示す図である。
【図12】輪郭線から接線の候補を列挙する上で接線が取り得る方向を示す図である。
【図13】D1≦D2の場合に接線の候補が列挙された一例を示す図である。
【図14】D1>D2の場合に接線の候補が列挙された一例を示す図である。
【図15】第3実施形態の画像処理装置の構成を示す図である。
【図16】第3実施形態において、輪郭線上の輪郭点から接線を導出する様子を示す図である。
【図17】第6実施形態において、輪郭線上の小区間から接線を導出する様子を示す図である。
【図18】第7実施形態の画像処理装置の構成を示す図である。
【図19】第8実施形態の画像処理装置の構成を示す図である。
【図20】文字行を抽出する様子を示す図である。
【符号の説明】
【0123】
10…画像記憶部、11…画素抽出部、12…接線導出部、13…輪郭線追跡部、14…接線方向算出部、15…ベクトル方向算出部、16…方向別輪郭点射影部、17…方向別矩形算出部、18…出力部、19…入力部、20…接線方向候補列挙部、73…輪郭線重み算出部、74…方向別射影算出部、75…方向別射影出力部、83…文字行推定部、84…文字行出力部、201…処理対象画像、202…番号札、203…画像、204…処理対象図形、205…輪郭線。

【特許請求の範囲】
【請求項1】
処理対象の画像が記憶された記憶部と、
前記記憶部から読み出した画像から、輪郭点の集合として表現される輪郭線を抽出し、抽出した前記輪郭線に対する接線を導出する接線導出部と、
前記接線導出部により導出された接線と直交する方向の軸へ前記接線を射影し、前記接線が前記軸と交わる交点の座標を求める射影部と、
前記軸の方向毎に前記射影部により求められた交点の座標のうち座標の値が最大値と最小値の交点を抽出し、第一の軸について抽出した最大値と最小値の2つの交点を通る1組の平行な接線と、前記第一の軸と直交する第二の軸について抽出した最大値と最小値の2つの交点を通るもう1組の接線の組とで形成される矩形を求める矩形算出部と
を具備することを特徴とする画像処理装置。
【請求項2】
前記接線導出部は、
前記輪郭線を所定の長さ毎に区分した区間単位に接線を導出することを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記接線導出部は、
前記輪郭線を構成する輪郭点に対してそれぞれ接線を導出することを特徴とする請求項1記載の画像処理装置。
【請求項4】
前記接線導出部は、
前記輪郭線上のある位置から前記輪郭線を構成する輪郭点を順に追跡する輪郭線追跡部と、
前記輪郭線追跡部により追跡された個々の輪郭点の追跡結果に従って、前記接線を引き出すべき方向を、前記輪郭点を起点とした回転方向の角度の範囲で決定する接線範囲決定部と、
前記接線範囲決定部により決定された角度の範囲内で前記輪郭線から前記接線を導出する範囲内接線導出部と
を具備することを特徴とする請求項1乃至3いずれか1記載の画像処理装置。
【請求項5】
前記範囲接線導出部は、
一周をN個に分割した前記回転方向の中で前記範囲に存在する分割線を接線の候補とする接線候補列挙部を具備することを特徴とする請求項4記載の画像処理装置。
【請求項6】
前記輪郭線それぞれについて重みを算出する重み算出部と、
前記重み算出部により算出された輪郭線の重みと前記矩形算出部により方向別に算出された輪郭線の外接矩形とから、前記画像の射影を方向別に算出する射影算出部と
を具備することを特徴とする請求項1記載の画像処理装置。
【請求項7】
前記射影算出部により算出された方向別の射影を基に文字行の方向を求める文字行推定部を具備することを特徴とする請求項6記載の画像処理装置。
【請求項8】
画像処理装置に画像処理を実行させる画像処理プログラムにおいて、
前記画像処理装置を、
処理対象の画像が記憶された記憶部と、
前記記憶部から読み出した画像から、輪郭点の集合として表現される輪郭線を抽出し、抽出した前記輪郭線に対する接線を導出する接線導出部と、
前記接線導出部により導出された接線と直交する軸へ前記接線を射影し、前記接線が前記軸と交わる交点の座標を求める射影部と、
前記軸の方向毎に前記射影部により求められた交点の座標のうち座標の値が最大値と最小値の交点を抽出し、第一の軸について抽出した最大値と最小値の2つの交点を通る1組の平行な接線と、前記第一の軸と直交する第二の軸について抽出した最大値と最小値の2つの交点を通るもう1組の接線の組とで形成される矩形を求める矩形算出部
として機能させることを特徴とする画像処理プログラム。
【請求項9】
処理対象の画像が記憶された記憶部と、接線導出部と、射影部と、矩形算出部とを有する画像処理装置における画像処理方法において、
前記接線導出部が、前記記憶部から読み出した画像から、輪郭点の集合として表現される輪郭線を抽出し、抽出した前記輪郭線に対する接線を導出し、
前記射影部が、導出した接線と直交する軸へ前記接線を射影し、前記接線が前記軸と交わる交点の座標を求め、
前記矩形算出部が、前記軸の方向毎に前記射影部により求められた交点の座標のうち座標の値が最大値と最小値の交点を抽出し、第一の軸について抽出した最大値と最小値の2つの交点を通る1組の平行な接線と、前記第一の軸と直交する第二の軸について抽出した最大値と最小値の2つの交点を通るもう1組の接線の組とで形成される矩形を求める
ことを特徴とする画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2010−108135(P2010−108135A)
【公開日】平成22年5月13日(2010.5.13)
【国際特許分類】
【出願番号】特願2008−277870(P2008−277870)
【出願日】平成20年10月29日(2008.10.29)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】