説明

直線検出装置および直線検出方法

【課題】画像内の方向や位置に依存することなく、同様の基準で、ハフ変換を利用した直線検出処理を行うことを課題とする。
【解決手段】ハフ変換部14は、輪郭強調された2値画像データ104に対してハフ変換を実行する。ハフテーブル15には、ハフ変換後の集計値が格納される。直線算出部161は、2値画像データ104内の各直線について、各直線が2値画像データ104を切り取るときの交点を求め、交点間距離Lenを算出する。正規化部162は、ハフテーブル15に格納された集計値を交点間距離Lenで除算し、集計値を正規化する。直線検出部16は、正規化された集計値に基づき、直線を検出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像に含まれる直線を検出する技術に関する。
【背景技術】
【0002】
画像に含まれる直線を検出する技術として、ハフ(Hough)変換が用いられている。XY座標系を持つ画像の任意の点を通る直線は、ハフ空間上の座標(θ、ρ)に変換される。ハフ空間の座標(θ、ρ)に変換される直線の数を2次元配列[θ][ρ]を用いて集計する。そして、2次元配列[θ][ρ]の中で所定の閾値を上回る集計値を有する座標(θ、ρ)から、XY座標系の直線を検出する。
【0003】
下記特許文献1においては、画像を局所領域に分割するために、ハフ変換を用いて画像中の線分を検出している。下記特許文献2においては、直線の長さに応じてハフ空間上のパラメータθ、ρのサンプリング間隔を最適化することを試みている。下記特許文献3においても画像の中に含まれる線分を検出するためにハフ変換が用いられている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平10−283476号公報
【特許文献2】特開平11−66302号公報
【特許文献3】特開2006−107034号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ハフ変換を利用した直線の検出方法は、XY座標系における直線上に存在する点の数に着目する。同一直線上に存在する点の数が多ければ多いほど、直線として検出される可能性が高くなる。このため、縦方向よりも横方向の長さの長い画像であれば、横方向については直線が検出され易くなる。逆に縦方向の直線は、多少密度が濃い場合であっても、集計値が小さくなれば、直線として検出されない可能性がある。
【0006】
あるいは、画像の4隅に存在するような直線は、直線距離が短いため、さらに、直線として検出される可能性が小さくなる。
【0007】
本発明は、直線が存在する方向あるいは位置に左右されることなく、同じような基準で直線を検出する技術を提供することを課題とする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、請求項1記載の発明は、直線検出装置であって、対象画像の基準点から前記対象画像内の任意の直線に下した垂線の長さρおよび前記垂線が前記基準点を通る基準軸となす角θを用いて、前記対象画像内の任意の直線を表現することにより、前記対象画像内の任意の点を通る直線をハフ空間内の座標(θ、ρ)に変換するハフ変換部と、ハフ空間内の任意の座標(θ、ρ)に対応する前記対象画像内の直線が、前記対象画像の外周と交わる交点を求めるとともに、交点間の距離を算出する交点間距離算出部と、ハフ空間内の各座標(θ、ρ)について、前記ハフ変換部によって変換された回数を集計し、各座標(θ、ρ)の集計値をそれぞれ対応する交点間距離で正規化し、正規化集計値を算出する正規化部と、正規化集計値が第1の閾値を超える座標(θ、ρ)を特定することにより、前記対象画像における直線を検出する検出部と、を備える。
【0009】
請求項2記載の発明は、請求項1に記載の直線検出装置であって、さらに、前記ハフ変換が行われる前に前記対象画像を2値変換する変換部、を備え、前記対象画像内のある点がハフ空間内の座標(θ、ρ)に変換されたとき、集計値に1が加算される。
【0010】
請求項3記載の発明は、請求項1または請求項2に記載の直線検出装置であって、前記対象画像内のそれぞれの点がハフ空間内の座標(θ、ρ)に変換されたとき、前記対象画像内のそれぞれの点の特徴量の大きさによって重みづけされた値が集計値に加算される。
【0011】
請求項4記載の発明は、請求項3に記載の直線検出装置であって、前記特徴量の大きさは線分強度を含む。
【0012】
請求項5記載の発明は、請求項1ないし請求項4のいずれかに記載の直線検出装置であって、前記検出部は、前記交点間距離が第2の閾値以下となる直線については、正規化集計値の値によらず直線の検出対象から除外する。
【0013】
請求項6記載の発明は、請求項1ないし請求項5のいずれかに記載の直線検出装置であって、前記交点間距離算出部は、ハフ空間内の座標(θ、ρ)に対応する前記対象画像内の直線の前記交点間距離を算出するとき、ρ=0と置き換えた上で前記交点間距離を算出する簡易算出部、を含む。
【0014】
請求項7記載の発明は、請求項1ないし請求項6のいずれかに記載の直線検出装置であって、前記基準点は、前記対象画像内の任意の座標に設定される。
【0015】
請求項8記載の発明は、直線検出装置であって、対象画像に対して、アスペクト比を1:1に変換するアスペクト比変換処理を実行することにより、正方画像を生成する変換部と、前記正方画像の基準点から前記正方画像内の任意の直線に下した垂線の長さρおよび前記垂線が前記基準点を通る基準軸となす角θを用いて、前記正方画像内の任意の直線を表現することにより、前記正方画像内の任意の点を通る直線をハフ空間内の座標(θ、ρ)に変換するハフ変換部と、ハフ空間内の各座標(θ、ρ)について、前記ハフ変換部によって変換された回数を集計し、各座標(θ、ρ)の集計値が第1の閾値を超える座標(θ、ρ)を特定することにより、前記正方画像における直線を検出する検出部と、を備える。
【0016】
請求項9記載の発明は、請求項8に記載の直線検出装置であって、さらに、前記ハフ変換が行われる前であって、アスペクト比変換前あるいは変換後の画像を2値変換する変換部、を備え、前記正方画像内のある点がハフ空間内の座標(θ、ρ)に変換されたとき、集計値に1が加算される。
【0017】
請求項10記載の発明は、請求項8または請求項9に記載の直線検出装置であって、前記正方画像内のそれぞれの点がハフ空間内の座標(θ、ρ)に変換されたとき、前記正方画像内のそれぞれの点の特徴量の大きさによって重みづけされた値が集計値に加算される。
【0018】
請求項11記載の発明は、請求項10に記載の直線検出装置であって、前記特徴量の大きさは線分強度を含む。
【0019】
請求項12記載の発明は、請求項8ないし請求項11のいずれかに記載の直線検出装置であって、前記基準点は、前記正方画像内の任意の座標に設定される。
【0020】
請求項13記載の発明は、請求項1ないし請求項12のいずれかに記載の直線検出装置であって、さらに、前記対象画像がカラー画像である場合、ハフ変換が行われる前にカラー画像から輝度画像を生成する輝度画像生成部、を含む。
【0021】
請求項14記載の発明は、請求項2または請求項9に記載の直線検出装置であって、前記変換部は、前記対象画像に特徴量抽出処理を施した後、2値変換を行う。
【0022】
請求項15記載の発明は、請求項14に記載の直線検出装置であって、前記特徴量抽出処理は輪郭抽出処理を含む。
【0023】
請求項16記載の発明は、直線検出方法であって、対象画像の基準点から前記対象画像内の任意の直線に下した垂線の長さρおよび前記垂線が前記基準点を通る基準軸となす角θを用いて、前記対象画像内の任意の直線を表現することにより、前記対象画像内の任意の点を通る直線をハフ空間内の座標(θ、ρ)に変換するハフ変換工程と、ハフ空間内の任意の座標(θ、ρ)に対応する前記対象画像内の直線が、前記対象画像の外周と交わる交点を求めるとともに、交点間の距離を算出する交点間距離算出工程と、ハフ空間内の各座標(θ、ρ)について、前記ハフ変換工程によって変換された回数を集計し、各座標(θ、ρ)の集計値をそれぞれ対応する交点間距離で正規化し、正規化集計値を算出する正規化工程と、正規化集計値が第1の閾値を超える座標(θ、ρ)を特定することにより、前記対象画像における直線を検出する検出工程と、を備える。
【0024】
請求項17記載の発明は、直線検出方法であって、対象画像に対して、アスペクト比を1:1に変換するアスペクト比変換処理を実行することにより、正方画像を生成する変換工程と、前記正方画像の基準点から前記正方画像内の任意の直線に下した垂線の長さρおよび前記垂線が前記基準点を通る基準軸となす角θを用いて、前記正方画像内の任意の直線を表現することにより、前記正方画像内の任意の点を通る直線をハフ空間内の座標(θ、ρ)に変換するハフ変換工程と、ハフ空間内の各座標(θ、ρ)について、前記ハフ変換工程によって変換された回数を集計し、各座標(θ、ρ)の集計値が第1の閾値を超える座標(θ、ρ)を特定することにより、前記正方画像における直線を検出する検出工程と、を備える。
【発明の効果】
【0025】
本発明の直線検出装置を用いることにより、直線の方向や位置に依存することなく、同じような基準で、ハフ変換された情報から直線を検出することができる。アスペクト比が1:1でない画像であっても、縦方向あるいは横方向、いずれかの直線が検出され難いといった問題を解消することができる。画像の4隅に存在するような直線も検出漏れを防ぐことができる。
【図面の簡単な説明】
【0026】
【図1】第1の実施の形態に係る直線検出装置のブロック図である。
【図2】2値画像データにおける直線の表現方法を示す図である。
【図3】ハフ空間を示す図である。
【図4】2値画像データを切り取る直線を示す図である。
【図5】第2の実施の形態に係る直線検出装置のブロック図である。
【発明を実施するための形態】
【0027】
{第1の実施の形態}
<1.処理の全体の流れ>
図1は、第1の実施の形態に係る直線検出装置1のブロック図である。直線検出装置1は、輝度画像生成部11、輪郭抽出処理部12、2値変換部13、ハフ(Hough)変換部14、ハフテーブル15および直線検出部16を備えている。
【0028】
本実施の形態においては、輝度画像生成部11、輪郭抽出処理部12、2値変換部13、ハフ変換部14および直線検出部16は、ハードウェア回路により構成されている。しかし、これら機能部をCPUおよびCPU上で動作するソフトウェアにより構成してもよい。
【0029】
輝度画像生成部11は、カラー画像データ101を入力する。カラー画像データ101は、たとえば、図示せぬ撮像素子により取得された画像である。カラー画像データ101は、たとえば、YCbCr色空間やRGB色空間の画像データである。輝度画像生成部11は、カラー画像データ101から、輝度画像データ102を生成する。たとえば、カラー画像データ101がYCbCr色空間の画像データであれば、輝度画像生成部11は、Y信号を抽出することにより輝度画像データ102を生成する。
【0030】
輪郭抽出処理部12は、輝度画像データ102を入力する。輪郭抽出処理部12は、輝度画像データ102から輪郭画像データ103を生成する。本実施の形態においては、輪郭抽出処理部12は、ソーベル(Sobel)フィルタを利用して、輪郭抽出処理を行っている。ソーベルフィルタは、空間1次微分演算により、輪郭を検出するフィルタである。輪郭抽出処理部12は、フィルタの出力の絶対値を線分の強度として出力する。用いるフィルタは特に限定されるものではない。たとえば、ラプラシアンフィルタを用いてもよい。
【0031】
2値変換部13は、輪郭画像データ103を入力する。2値変換部13は、輪郭画像データ103から2値画像データ104を生成する。輪郭画像データ103は、グレースケールの画像データである。2値変換部13は、予め設定された閾値に基づいて、輪郭画像データ103の各画素の画素値を0あるいは1に変換する。
【0032】
ハフ変換部14は、2値画像データ104を入力する。ハフ変換部14は、2値画像データ104をハフ変換し、変換後の結果をハフテーブル15に書き込む。具体的には、ハフ変換部14は、変換後の結果を2次元配列[θ][ρ]に格納する。ハフ変換の処理の内容は後で詳しく説明する。
【0033】
直線検出部16は、交点間距離算出部161および正規化部162を備えている。直線検出部16は、ハフテーブル15を参照することで、2値画像データ104に含まれる直線を検出する。交点間距離算出部161および正規化部162を含め、直線検出部16の処理の内容は後で詳しく説明する。
【0034】
<2.ハフ変換>
ハフ変換部14の処理内容について詳しく説明する。ハフ変換部14は、2値画像データ104に含まれる任意の点について、各点を通る直線をハフ空間上の座標(θ、ρ)に変換する。
【0035】
図2は、2値画像データ104を示す図である。2値画像データ104には、図2に示すように、原点OとXY座標が定義されている。図2には、2値画像データ104に含まれる点のうち一部の点51〜55を図示している。ここで、2値画像データ104に含まれる点とは、2値変換により画素値1が与えられている点のことである。点51を通る直線61は、θおよびρを用いて数1式のように表すことができる。
【0036】
【数1】

【0037】
数1式において、ρは、原点から直線61に下した垂線62の長さである。θは、垂線62がX軸の正の方向となす角である。
【0038】
点51を通る直線は、多数存在する。点51を通る直線の数は、θおよびρのサンプリング間隔に基づいて決まる。したがって、2値画像データ104上の1つの点に対して、複数のハフ空間上の座標(θ、ρ)が対応付けられる。
【0039】
図2に示すように、点51〜点53は、同一直線上に並んでいる。点52および点53を通る直線についても、それぞれ複数のハフ空間上の座標(θ、ρ)に変換される。そして、点51〜点53の全ての点について、直線61がハフ変換されて、同一の座標(θ、ρ)に対応付けられる。
【0040】
図3は、ハフ空間を示す図である。正弦曲線71〜75は、それぞれ、点51〜点55がハフ変換されることにより得られるハフ空間上の点の集合を示している。そして、正弦曲線71〜73の交わる座標(θ1、ρ1)が直線61に対応している。
【0041】
このように、2値画像データ104において同一の直線上に複数の点が存在する場合、2値画像上の複数の点がハフ空間上の同一の点に変換されることになる。ハフ空間上で各座標(θ、ρ)に変換される点を集計することで、直線を検出することができる。ハフテーブル15は、2次元配列T[θ][ρ]を有している。つまり、2値画像データ104の全ての点についてハフ変換を行い、その結果が2次元配列T[θ][ρ]において集計される。
【0042】
<3.直線検出処理>
直線検出部16は、ハフテーブル15を参照し、2値画像データ104に含まれる直線を検出する。直線検出部16は、ハフ変換部14による変換結果をそのまま用いて直線を検出するのではなく、ハフテーブル15の内容を補正した上で直線の検出を行う。補正処理は交点間距離算出部161および正規化部162により行われる。
【0043】
交点間距離算出部161の処理内容を説明する。図4は、2値画像データ104に含まれる直線81を示している。原点Oから直線81に下ろした垂線82の長さはρである。垂線82がX軸の正の方向と成す角はθである。
【0044】
図4において、2値画像データ104は、横方向(X軸方向)の長さが2wであり、縦方向(Y軸方向)の長さが2hの長方形の画像データである。2値画像データ104の中心に原点Oが設定されている。
【0045】
直線81は、点P0(x0、y0)および点P1(x1、y1)において、2値画像データ104の外周辺と交差する。言い換えると、直線81が2値画像データ104を切り取るとき、直線81と2値画像データ104の外周との2つの交点が、点P0(x0、y0)および点P1(x1、y1)である。交点間距離算出部161は、2つの交点間の距離、すなわち、点P0(x0、y0)および点P1(x1、y1)間の距離(交点間距離Len)を算出する。
【0046】
本実施の形態における距離算出方法を具体的に説明する。まず、点P0の座標(x0、y0)および点P1の座標(x1、y1)の決定方法について説明する。本実施の形態においては、直線81と直線y=hとの交点から点P0のX座標x0を求め、直線81と直線y=−hとの交点から点P1のX座標x1を求める。また、直線81と直線x=wとの交点から点P0のY座標y0を求め、直線81と直線x=−wとの交点から点P1のY座標y1を求める。
【0047】
まず、直線81がX軸あるいはY軸に平行となる場合を考える。この場合は、上記のような方法で点P0および点P1の座標を求めることなく、以下の方法により交点間距離Lenを求める。
【0048】
cosθ=0のとき、つまり、直線81がX軸と並行な直線である場合、交点間距離Lenは、数2式のように表わされる。
【0049】
【数2】

【0050】
sinθ=0のとき、つまり、直線81がY軸と並行な直線である場合、交点間距離Lenは、数3式のように表わされる。
【0051】
【数3】

【0052】
次に、直線81と直線y=hの交点である点P0のX座標x0を求める。x0は、数4式で表される。
【0053】
【数4】

【0054】
次に、直線81と直線y=―hの交点である点P1のX座標x1を求める。x1は、数5式で表される。
【0055】
【数5】

【0056】
次に、直線81と直線x=wの交点である点P0のY座標y0を求める。y0は、数6式で表される。
【0057】
【数6】

【0058】
次に、直線81と直線x=−wの交点である点P1のY座標y1を求める。y1は、数7式で表される。
【0059】
【数7】

【0060】
そして、x0が−wより小さい場合には、数8式に示すように、x0を−wに設定する。つまり、2値画像のフレーム端よりも交点がはみ出している場合には、フレーム端を交点のX座標とする。2値画像のフレーム端から交点のX座標がはみ出す場合は、数8式に示すように、全てのケースにおいて、X座標をフレーム端に設定する。つまり、x0がwより大きい場合には、x0をwに設定する。x1が−wより小さい場合には、x1を−wに設定する。x1がwより大きい場合には、x1をwに設定する。
【0061】
【数8】

【0062】
2値画像のフレーム端から交点のY座標がはみ出す場合は、数9式に示すように、全てのケースにおいて、Y座標をフレーム端に設定する。つまり、y0が−hより小さい場合には、y0を−hに設定する。y0がhより大きい場合には、y0をhに設定する。y1が−hより小さい場合には、y1を−hに設定する。y1がhより大きい場合には、y1をhに設定する。
【0063】
【数9】

【0064】
以上のようにして、点P0(x0、y0)および点P1(x1、y1)の座標が決定されると、交点間距離算出部161は、数10式で示される演算を行い、交点間距離Lenを求める。
【0065】
【数10】

【0066】
数10式中、x0、x1、y0、y1は、数8式あるいは数9式に当てはまらない場合には、数4式〜数7式で算出された値であり、数8式あるいは数9式に当てはまる場合は、数8式あるいは数9式で設定された値である。
【0067】
以上のような計算方法により、交点間距離算出部161は、ハフテーブル15を参照し、直線候補となっている全ての座標(θ、ρ)について交点間距離Lenを算出する。つまり、2次元配列[θ][ρ]に1以上の集計値が格納されている各座標(θ、ρ)について交点間距離Lenを算出する。あるいは、集計値がゼロである配列も含め、全ての2次元配列[θ][ρ]について交点間距離Lenを算出してもよい。たとえば、あらかじめ全ての組み合わせ(θ、ρ)に対して交点間距離Lenを算出しておき、Len[θ][ρ]をルックアップテーブルとして保持するようにしてもよい。
【0068】
正規化部162は、各座標(θ、ρ)の集計値を、各座標(θ、ρ)について算出された交点間距離Lenで除算することで、集計値を正規化する。正規化部162は、2次元配列[θ][ρ]に1以上の集計値が格納されている各座標(θ、ρ)について、それぞれ集計値を交点間距離Lenで除算する。あるいは、上述したように全ての2次元配列[θ][ρ]について交点間距離Lenを算出し、全ての集計値を対応する交点間距離Lenで正規化する。言い換えると、正規化部162は、2値画像上の直線の集計値を単位長さ当たりの数値に補正する。これにより、ハフテーブル15(2次元配列[θ][ρ])の補正処理が完了する。
【0069】
直線検出部16は、正規化により補正されたハフテーブル15を参照し、直線検出を行う。直線検出部16には、予め直線判定用の閾値(第1の閾値)が設定されている。直線検出部16は、2次元配列[θ][ρ]に第1の閾値を超える集計値が格納されている座標(θ、ρ)を特定する。直線検出部16は、特定された座標(θ、ρ)から2値画像データ104に含まれる直線を特定する。直線検出部16は、検出情報を出力する。
【0070】
このように本実施の形態の直線検出装置1は、ハフテーブル15を正規化により補正した上で直線を検出する。正規化は、2次元配列[θ][ρ]の集計値を交点間距離Lenで除算することにより行われる。交点間距離Lは、図4で示した例であれば、横方向の直線については長く、縦方向の直線については、短くなる。したがって、2次元配列[θ][ρ]に格納された集計値は、横方向の直線については、縦方向の直線より大きな値で除算されることになる。
【0071】
これによって、2値画像データ104において、横方向の直線が検出され易く、縦方向の直線が検出され難いという問題は発生しない。あるいは、画像の4隅に存在するような直線も検出し難いという問題は発生しない。画像のアスペクト比が1:1でない場合であっても、画像内のあらゆる方向あるいは位置の直線を同じ基準で検出することができる。
【0072】
{第2の実施の形態}
次に、本発明の第2の実施の形態について説明する。第2の実施の形態における直線検出装置1の機能ブロックは、図1に示したものと同様である。ただし、第2の実施の形態においては、直線検出部16における処理が第1の実施の形態とは異なる。
【0073】
第1の実施の形態においては、ハフ空間において各座標(θ、ρ)の集計値を交点間距離Lenで除算し、正規化した。つまり、全ての直線候補について正規化集計値を算出し、第1の閾値との比較をした。
【0074】
第2の実施の形態においては、交点間距離Lenが、所定の閾値(第2の閾値)を下回る直線については、直線の検出対象から除外することにしている。たとえば、2値画像データ104の4隅に存在し、交点間距離Lenの短い直線が検出対象から除外される。これにより、直線上に並ぶ点の密度がそれぞれ大きくないが、交点間距離Lenが非常に小さいために正規化集計値が増大し、直線として誤認識されることを防止することができる。あるいは、画像の4隅において距離の非常に短い多数の直線が検出されるという問題を防止することができる。
【0075】
たとえば、画像上の4隅の情報がそれほど重要視されない場合には、第2の閾値を比較的大きめに調整することで、画像中央付近にスポットを当てて直線を検出することが可能である。
【0076】
{第3の実施の形態}
次に、本発明の第3の実施の形態について説明する。第3の実施の形態における直線検出装置1の機能ブロックは、図1に示したものと同様である。ただし、第3の実施の形態においては、直線検出部16における処理が第1の実施の形態とは異なる。
【0077】
第1の実施の形態においては、数4式〜数7式に示した方法により、点P0およびP1の座標を求めて交点間距離Lenを算出した。第3の実施の形態においては、直線と原点Oとの距離を0として交点間距離Lenを算出する。
【0078】
つまり、交点間距離算出部161は、座標(θ、ρ)に対応する2値画像内の直線の交点間距離Lenを算出するとき、ρ=0と置き換えた上で交点間距離Lenを算出する。
【0079】
このようにして交点間距離Lenを算出することで、交点間距離算出部161の演算量を少なくし、処理速度を向上させることができる。具体的には、数4式〜数7式において、ρ=0と置き換えることができるので、演算式が簡素化される。
【0080】
{第4の実施の形態}
次に、本発明の第4の実施の形態について説明する。図5は、第4の実施の形態に係る直線検出装置1Aのブロック図である。
【0081】
第4の実施の形態の直線検出装置1Aは、第1の実施の形態の直線検出装置1と同様、輝度画像生成部11、輪郭抽出処理部12、2値変換部13、ハフ変換部14およびハフテーブル15を備える。これらの各機能部の機能は第1の実施の形態と同様である。
【0082】
第4の実施の形態における直線検出部16は、第1の実施の形態と異なり、交点間距離算出部161および正規化部162を備えていない。第4の実施の形態においては、直線検出部16は、ハフテーブル15の正規化を行うことなく、直線を検出する。
【0083】
直線検出装置1Aは、アスペクト比変換部17を備えている。アスペクト比変換部17は、カラー画像101を入力し、カラー画像をアスペクト比が1:1のカラーの正方画像に変換する。アスペクト比を変換するとき、画像の伸長あるいは縮小を行う必要がある。伸長を行う方法は特に限定されないが、たとえば、線形補間などを利用して画像を伸長する。縮小を行う場合には、たとえば画像の間引きを行えばよい。アスペクト比が変換された場合であっても、直線は直線に変換される。
【0084】
輝度画像生成部11、輪郭抽出処理部12、2値変換部13およびハフ変換部14は、第1の実施の形態と同様の処理を実行する。ただし、アスペクト比が1:1に変換された正方画像を対象として処理を実行する。
【0085】
ハフテーブル15は、ハフ変換部14において変換された座標(θ、ρ)を2次元配列[θ][ρ]を用いて集計する。直線検出部16には、予め直線判定用の閾値(第1の閾値)が設定されている。直線検出部16は、2次元配列[θ][ρ]に第1の閾値を超える集計値が格納されている座標(θ、ρ)を特定する。直線検出部16は、特定された座標(θ、ρ)から2値画像データ104に含まれる直線を特定する。直線検出部16は、検出情報を出力する。なお、第1の閾値は、第1の実施の形態と異なる値を設定することができる。
【0086】
このように、本実施の形態の直線検出装置1Aは、アスペクト比を1:1に変換した後にハフ変換を行う。したがって、画像内の方向によって直線検出の可能性が異なるという問題を解消することができる。
【0087】
本実施の形態においては、輝度画像を生成する前にアスペクト比を変換した。しかし、アスペクト比の変換処理は、ハフ変換を行う前のどのタイミングであってもよい。たとえば、輝度画像生成処理の後、輪郭抽出処理の後、あるいは、2値変換処理の後にアスペクト比の変換を行ってもよい。なお、正方画像上で検出された直線は、アスペクト比を元に戻す演算を行うことにより、カラー画像101内に含まれる直線に変換される。
【0088】
{第5の実施の形態}
上記各実施の形態においては、ハフ変換を行う前に画像を2値化した。第5の実施の形態においては、画像の2値化は行わない。画像は、たとえば、0〜255などの多値の画素値を保有している。
【0089】
第5の実施の形態における直線検出装置のブロック図は、図1あるいは図5に示した直線検出装置1、1Aと同様である。ただし、2値変換部13は、備えられていない。
【0090】
ハフ変換部14は、輪郭画像データ103あるいは113に含まれる全ての点についてハフ変換を行う。輪郭画像データ103あるいは113に含まれる点は、たとえば、0〜255などの多値の画素値を有しているが、これら全ての点についてハフ変換を行う。
【0091】
ハフ変換部14は、上記の各実施の形態においては、2値画像データ104あるいは114に含まれる点がハフ変換された回数を2変数配列[θ][ρ]に格納した。言い換えると、ある座標(θ、ρ)にハフ変換された回数がN回であれば、2変数配列[θ][ρ]に値Nが集計値として格納された。
【0092】
この実施の形態においては、輪郭画像データ103あるいは113に含まれる点の線分強度に応じた値が2変数配列[θ][ρ]に格納される。たとえば、画素値をそのまま2変数配列[θ][ρ]に加算して集計する。あるいは、画素値に所定の変換を行い、変換値を2変数配列[θ][ρ]に加算してもよい。つまり、画素の特徴量の大きさに応じた重みづけを行った上で、2変数配列[θ][ρ]において変換回数を集計することができる。
【0093】
その後の処理は、上記の各実施の形態と同様である。本実施の形態によれば、2値変換を行わないため、比較的強度の弱い直線なども検出したい場合などに有効である。
【0094】
{変形例}
第1〜第5の実施の形態においては、2値画像データ104の中心を原点として、2値画像データ104内の直線をθおよびρを用いて表現した。しかし、原点は画像の任意の場所に設定することができる。あるいは、原点を2値画像データ104のフレームの外に設定してもよい。
【0095】
第1〜第4の実施の形態においては、輪郭抽出処理を行った後、2値化処理を行った。輪郭抽出処理は、画像の特徴量を抽出する処理の一例である。他の方法によって画像の特徴量を抽出した後に2値化処理を行ってもよい。
【符号の説明】
【0096】
11 輝度画像生成部
12 輪郭抽出処理部
13 2値変換部
14 ハフ変換部
15 ハフテーブル
16 直線検出部
17 アスペクト比変換部
101 カラー画像データ
102 輝度画像データ
103 輪郭画像データ
104 2値画像データ

【特許請求の範囲】
【請求項1】
対象画像の基準点から前記対象画像内の任意の直線に下した垂線の長さρおよび前記垂線が前記基準点を通る基準軸となす角θを用いて、前記対象画像内の任意の直線を表現することにより、前記対象画像内の任意の点を通る直線をハフ空間内の座標(θ、ρ)に変換するハフ変換部と、
ハフ空間内の任意の座標(θ、ρ)に対応する前記対象画像内の直線が、前記対象画像の外周と交わる交点を求めるとともに、交点間の距離を算出する交点間距離算出部と、
ハフ空間内の各座標(θ、ρ)について、前記ハフ変換部によって変換された回数を集計し、各座標(θ、ρ)の集計値をそれぞれ対応する交点間距離で正規化し、正規化集計値を算出する正規化部と、
正規化集計値が第1の閾値を超える座標(θ、ρ)を特定することにより、前記対象画像における直線を検出する検出部と、
を備える直線検出装置。
【請求項2】
請求項1に記載の直線検出装置であって、さらに、
前記ハフ変換が行われる前に前記対象画像を2値変換する2値変換部、
を備え、
前記対象画像内のある点がハフ空間内の座標(θ、ρ)に変換されたとき、集計値に1が加算される直線検出装置。
【請求項3】
請求項1または請求項2に記載の直線検出装置であって、
前記対象画像内のそれぞれの点がハフ空間内の座標(θ、ρ)に変換されたとき、前記対象画像内のそれぞれの点の特徴量の大きさによって重みづけされた値が集計値に加算される直線検出装置。
【請求項4】
請求項3に記載の直線検出装置であって、
前記特徴量の大きさは線分強度を含む直線検出装置。
【請求項5】
請求項1ないし請求項4のいずれかに記載の直線検出装置であって、
前記検出部は、前記交点間距離が第2の閾値以下となる直線については、正規化集計値の値によらず直線の検出対象から除外する直線検出装置。
【請求項6】
請求項1ないし請求項5のいずれかに記載の直線検出装置であって、
前記交点間距離算出部は、
ハフ空間内の座標(θ、ρ)に対応する前記対象画像内の直線の前記交点間距離を算出するとき、ρ=0と置き換えた上で前記交点間距離を算出する簡易算出部、
を含む直線検出装置。
【請求項7】
請求項1ないし請求項6のいずれかに記載の直線検出装置であって、
前記基準点は、前記対象画像内の任意の座標に設定される直線検出装置。
【請求項8】
対象画像に対して、アスペクト比を1:1に変換するアスペクト比変換処理を実行することにより、正方画像を生成するアスペクト比変換部と、
前記正方画像の基準点から前記正方画像内の任意の直線に下した垂線の長さρおよび前記垂線が前記基準点を通る基準軸となす角θを用いて、前記正方画像内の任意の直線を表現することにより、前記正方画像内の任意の点を通る直線をハフ空間内の座標(θ、ρ)に変換するハフ変換部と、
ハフ空間内の各座標(θ、ρ)について、前記ハフ変換部によって変換された回数を集計し、各座標(θ、ρ)の集計値が第1の閾値を超える座標(θ、ρ)を特定することにより、前記正方画像における直線を検出する検出部と、
を備える直線検出装置。
【請求項9】
請求項8に記載の直線検出装置であって、さらに、
前記ハフ変換が行われる前であって、アスペクト比変換前あるいは変換後の画像を2値変換する2値変換部、
を備え、
前記正方画像内のある点がハフ空間内の座標(θ、ρ)に変換されたとき、集計値に1が加算される直線検出装置。
【請求項10】
請求項8または請求項9に記載の直線検出装置であって、
前記正方画像内のそれぞれの点がハフ空間内の座標(θ、ρ)に変換されたとき、前記正方画像内のそれぞれの点の特徴量の大きさによって重みづけされた値が集計値に加算される直線検出装置。
【請求項11】
請求項10に記載の直線検出装置であって、
前記特徴量の大きさは線分強度を含む直線検出装置。
【請求項12】
請求項8ないし請求項11のいずれかに記載の直線検出装置であって、
前記基準点は、前記正方画像内の任意の座標に設定される直線検出装置。
【請求項13】
請求項1ないし請求項12のいずれかに記載の直線検出装置であって、さらに、
前記対象画像がカラー画像である場合、ハフ変換が行われる前にカラー画像から輝度画像を生成する輝度画像生成部、
を含む直線検出装置。
【請求項14】
請求項2または請求項9に記載の直線検出装置であって、
前記対象画像に特徴量抽出処理が施された後、前記2値変換が行われる直線検出装置。
【請求項15】
請求項14に記載の直線検出装置であって、
前記特徴量抽出処理は輪郭抽出処理を含む直線検出装置。
【請求項16】
対象画像の基準点から前記対象画像内の任意の直線に下した垂線の長さρおよび前記垂線が前記基準点を通る基準軸となす角θを用いて、前記対象画像内の任意の直線を表現することにより、前記対象画像内の任意の点を通る直線をハフ空間内の座標(θ、ρ)に変換するハフ変換工程と、
ハフ空間内の任意の座標(θ、ρ)に対応する前記対象画像内の直線が、前記対象画像の外周と交わる交点を求めるとともに、交点間の距離を算出する交点間距離算出工程と、
ハフ空間内の各座標(θ、ρ)について、前記ハフ変換工程によって変換された回数を集計し、各座標(θ、ρ)の集計値をそれぞれ対応する交点間距離で正規化し、正規化集計値を算出する正規化工程と、
正規化集計値が第1の閾値を超える座標(θ、ρ)を特定することにより、前記対象画像における直線を検出する検出工程と、
を備える直線検出方法。
【請求項17】
対象画像に対して、アスペクト比を1:1に変換するアスペクト比変換処理を実行することにより、正方画像を生成する変換工程と、
前記正方画像の基準点から前記正方画像内の任意の直線に下した垂線の長さρおよび前記垂線が前記基準点を通る基準軸となす角θを用いて、前記正方画像内の任意の直線を表現することにより、前記正方画像内の任意の点を通る直線をハフ空間内の座標(θ、ρ)に変換するハフ変換工程と、
ハフ空間内の各座標(θ、ρ)について、前記ハフ変換工程によって変換された回数を集計し、各座標(θ、ρ)の集計値が第1の閾値を超える座標(θ、ρ)を特定することにより、前記正方画像における直線を検出する検出工程と、
を備える直線検出方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate