輝度勾配方向検出器及び輝度勾配方向検出方法
【課題】計算量が多い三角関数を用いることなく、高速に輝度勾配方向を検出する輝度勾配方向検出器及び輝度勾配方向検出方法を提供する。
【解決手段】注目画素を囲む8つの画素に時計回りに順に番号を割り振り(B1)、当該8つの画素の輝度値から注目画素を中心とする8つの点対称方向の輝度差分値を求め(B2)、8つの輝度差分値から最大となる最大輝度差分値を求め(B3)、最大輝度差分値を有する方向の画素が中央の番号となるように、8つの画素に時計回りに順に仮番号を割り振り(B4)、中央の番号とその両隣の画素の仮番号について、最大輝度差分値と両隣の画素の輝度差分値を重みとして、仮番号の重み付き平均値を求め(B5)、仮番号の重み付き平均値から中央の番号を引くと共に、最大輝度差分値を有する方向の画素の番号を加えることにより、注目画素における輝度勾配方向を検出する(B6)。
【解決手段】注目画素を囲む8つの画素に時計回りに順に番号を割り振り(B1)、当該8つの画素の輝度値から注目画素を中心とする8つの点対称方向の輝度差分値を求め(B2)、8つの輝度差分値から最大となる最大輝度差分値を求め(B3)、最大輝度差分値を有する方向の画素が中央の番号となるように、8つの画素に時計回りに順に仮番号を割り振り(B4)、中央の番号とその両隣の画素の仮番号について、最大輝度差分値と両隣の画素の輝度差分値を重みとして、仮番号の重み付き平均値を求め(B5)、仮番号の重み付き平均値から中央の番号を引くと共に、最大輝度差分値を有する方向の画素の番号を加えることにより、注目画素における輝度勾配方向を検出する(B6)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理により、画像上の各画素における輝度勾配方向を検出する輝度勾配方向検出器及び輝度勾配方向検出方法に関する。
【背景技術】
【0002】
画像上の各画素における輝度勾配方向を求める方法として、Sobelオペレータのような微分フィルタを用いて、縦方向・横方向の輝度勾配強度を求め、この縦横方向それぞれの輝度勾配強度を用いて、次の2種類の方法により、輝度勾配方向を表現している。
【0003】
(1)タンジェント(正接)の逆関数を用いて、角度を計算し、輝度勾配方向を角度で表現する。
例えば、下記特許文献1、2においては、Sobelオペレータによって求めた縦横方向それぞれの輝度勾配強度を基に、三角関数を用いて角度を求めることで、輝度勾配方向を求める方法が用いられている。
【0004】
(2)縦横方向それぞれの輝度勾配強度を成分とする2次元ベクトルとして輝度勾配方向を表現する。
例えば、下記特許文献3においては、Sobelオペレータによって求めた縦横方向それぞれの輝度勾配強度を成分とする2次元ベクトルとして輝度勾配方向を表現する方法が用いられている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−140684号公報
【特許文献2】特開2006−025394号公報
【特許文献3】特開2004−164034号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
画像特徴量として、画像中の輝度勾配情報を基に構成されるものが多くある。この輝度勾配情報の内、輝度勾配方向については、縦方向及び横方向の輝度勾配強度からタンジェント(正接)の逆関数により角度を計算し、輝度勾配方向を算出する手法が一般的である。しかしながら、この計算では、三角関数を用いるため計算量が多く、高速解析(リアルタイムでの解析等)には適していない。
【0007】
本発明は上記課題に鑑みなされたもので、計算量が多い三角関数を用いることなく、高速に輝度勾配方向を検出する輝度勾配方向検出器及び輝度勾配方向検出方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決する第1の発明に係る輝度勾配方向検出器は、
画像データ中の注目している注目画素について、当該注目画素における輝度勾配方向を演算する演算装置を備えた輝度勾配方向検出器において、
前記演算装置は、
前記注目画素を囲む8つの画素に時計回りに順に番号を割り振る画素番号設定部と、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求める輝度差分値計算部と、
8つの前記輝度差分値から最大となる最大輝度差分値を求める最大輝度差分値検出部と、
前記最大輝度差分値を有する方向の画素が最小値及び最大値を除く所定番号となるように、前記8つの画素に時計回りに順に仮番号を振り直す画素番号再設定部と、
前記所定番号と前記所定番号の両隣の画素の仮番号について、前記最大輝度差分値と前記両隣の画素の輝度差分値を重みとして、仮番号の重み付き平均値を求める重み付き平均計算部と、
前記仮番号の重み付き平均値から前記所定番号を引くと共に、前記最大輝度差分値を有する方向の画素の当初の番号を加えることにより、前記注目画素における輝度勾配方向を検出する輝度勾配方向計算部とを有することを特徴とする。
【0009】
上記課題を解決する第2の発明に係る輝度勾配方向検出器は、
画像データ中の注目している注目画素について、当該注目画素における輝度勾配方向を演算する演算装置を備えた輝度勾配方向検出器において、
前記演算装置は、
前記注目画素を囲む8つの画素に時計回りに順に番号を割り振る画素番号設定部と、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求める輝度差分値計算部と、
8つの前記輝度差分値から最大となる最大輝度差分値を求める最大輝度差分値検出部と、
前記最大輝度差分値を有する方向の画素の番号と当該番号の両隣の番号について、前記最大輝度差分値と前記両隣の方向の輝度差分値を重みとして、番号の重み付き平均値を求める重み付き平均計算部と、
前記番号の重み付き平均値を前記注目画素における輝度勾配方向として検出する輝度勾配方向計算部とを有することを特徴とする。
【0010】
上記課題を解決する第3の発明に係る輝度勾配方向検出器は、
上記第1又は第2の発明に記載の輝度勾配方向検出器において、
前記輝度差分値計算部は、前記輝度差分値を求める際、任意の方向の画素及び当該画素の両隣の画素の輝度値の和と、当該複数の画素の点対称位置にある他の画素及び当該他の画素の両隣の画素の輝度値の和との差分を用いることを特徴とする。
【0011】
上記課題を解決する第4の発明に係る輝度勾配方向検出器は、
上記第1〜第3のいずれか1つの発明に記載の輝度勾配方向検出器において、
前記演算装置は、
更に、検出した前記輝度勾配方向を360度の角度方向へ換算して出力する角度換算部を有することを特徴とする。
【0012】
上記課題を解決する第5の発明に係る輝度勾配方向検出方法は、
画像データ中の注目している注目画素を囲む8つの画素に時計回りに順に番号を割り振り、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求め、
8つの前記輝度差分値から最大となる最大輝度差分値を求め、
前記最大輝度差分値を有する方向の画素が最小値及び最大値を除く所定番号となるように、前記8つの画素に時計回りに順に仮番号を振り直し、
前記所定番号と前記所定番号の両隣の画素の仮番号について、前記最大輝度差分値と前記両隣の画素の輝度差分値を重みとして、仮番号の重み付き平均値を求め、
前記仮番号の重み付き平均値から前記所定番号を引くと共に、前記最大輝度差分値を有する方向の画素の当初の番号を加えることにより、前記注目画素における輝度勾配方向を検出することを特徴とする。
【0013】
上記課題を解決する第6の発明に係る輝度勾配方向検出方法は、
画像データ中の注目している注目画素を囲む8つの画素に時計回りに順に番号を割り振り、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求め、
8つの前記輝度差分値から最大となる最大輝度差分値を求め、
前記最大輝度差分値を有する方向の画素の番号と当該番号の両隣の番号について、前記最大輝度差分値と前記両隣の方向の輝度差分値を重みとして、番号の重み付き平均値を求め、
前記番号の重み付き平均値を前記注目画素における輝度勾配方向として検出することを特徴とする。
【0014】
上記課題を解決する第7の発明に係る輝度勾配方向検出方法は、
上記第5又は第6の発明に記載の輝度勾配方向検出方法において、
前記輝度差分値を求める際、任意の方向の画素及び当該画素の両隣の画素の輝度値の和と、当該複数の画素の点対称位置にある他の画素及び当該他の画素の両隣の画素の輝度値の和との差分を用いることを特徴とする。
【0015】
上記課題を解決する第8の発明に係る輝度勾配方向検出方法は、
上記第5〜第7のいずれか1つの発明に記載の輝度勾配方向検出方法において、
更に、検出した前記輝度勾配方向を360度の角度方向へ換算して出力することを特徴とする。
【発明の効果】
【0016】
本発明によれば、三角関数を用いることなく、高速に輝度勾配方向を検出することができる。
【図面の簡単な説明】
【0017】
【図1】注目画素Pを囲む8つの画素に割り振った番号を示す図である。
【図2】注目画素Pを囲む8つの画素において、その輝度値と、点対称方向の輝度差分値を説明する図である。
【図3】注目画素Pを囲む8つの画素において、最大輝度差分値の方向の画素を中央番号として付け直した画素の仮番号を示す図である。
【図4】各画素の注目画素Pに対する方向を説明する図である。
【図5】(a)、(b)は、各々、画素の番号を横軸とした輝度値、輝度差分値の分布例を示す図である。
【図6】本発明に係る輝度勾配方向検出器の実施形態の一例(実施例1)を示す概略構成図である。
【図7】図6に示した輝度勾配方向検出器における輝度勾配方向検出方法を説明するフローチャートである。
【図8】図6に示した輝度勾配方向検出器における輝度勾配方向検出方法の他の一例(実施例2)を説明するフローチャートである。
【図9】本発明に係る輝度勾配方向検出器の実施形態の他の一例(実施例3)を示す概略構成図である。
【図10】図9に示した輝度勾配方向検出器における輝度勾配方向検出方法を説明するフローチャートである。
【図11】(a)、(b)は、各々、画素の番号を横軸とした輝度値、輝度差分値の分布例を示す図である。
【図12】本発明に係る輝度勾配方向検出器の実施形態の他の一例(実施例4)を示す概略構成図である。
【図13】図12に示した輝度勾配方向検出器における輝度勾配方向検出方法を説明するフローチャートである。
【発明を実施するための形態】
【0018】
本発明に係る輝度勾配方向検出器及び輝度勾配方向検出方法について、図1〜図13を参照して、その実施形態のいくつかを説明する。
【0019】
最初に、本発明の概略を説明する。輝度勾配方向は、特に、360度の角度方向で表現する必要はない。従って、本発明では、図1に示すように、任意の注目画素Pを中心とする3画素×3画素の領域において、注目画素Pを囲む8つの画素に対し、12時方向(図中の真上の方向)を0として、時計回りに順に0から7までの整数の番号を振り、これらの番号を用いた演算により、輝度勾配強度の最も高い方向を推定し、この方向を注目画素Pにおける輝度勾配方向として検出しており、0以上8未満の数値(整数とは限らない。)を用いて輝度勾配方向を表現するようにしている。なお、必要な場合には、後述の実施例3で説明するように、0以上8未満の数値で表現した輝度勾配方向を、360度の角度方向に変換可能である。
【0020】
(実施例1)
本実施例の輝度勾配方向検出器及び輝度勾配方向検出方法について、図1〜図5と共に、図6、図7を参照して、説明を行う。
【0021】
本実施例において、輝度勾配方向検出器11は、図6に示すように、画素番号設定部B1と、輝度差分値計算部B2と、最大輝度差分値計算部B3と、画素番号再設定部B4と、重み付き平均計算部B5と、輝度勾配計算部B6とを有する演算装置である。この輝度勾配方向検出器11では、画像を撮影するカメラ12から入力された画像データにおいて、後述する手順を用いて、輝度勾配方向を検出し、検出した輝度勾配方向をディスプレイ13に表示するようにしている。
【0022】
なお、画像データは、カメラ12からのデータに限らず、例えば、HDD(ハード・ディスク・ドライブ)等の記録媒体に記録した画像データを用いてもよい。又、検出した輝度勾配方向は、ディスプレイ13に限らず、例えば、プリンタ等に出力するようにしてもよいし、又、HDD等の記録媒体に記録し、画像データ同士の比較に用いるようにしてもよい。
【0023】
まず、画素番号設定部B1では、入力された画像データ中において、注目画素位置を選択し、選択した位置の注目画素Pを中心とする3画素×3画素の領域において、図1で説明したように、注目画素Pを囲む8つの画素に対し、12時方向(図中の真上の方向)を0として、時計回りに順に0から7までの整数の番号を設定する(図7のステップS1)。
【0024】
次に、輝度差分値計算部B2では、注目画素Pを中心とする3画素×3画素の領域において、注目画素Pを囲む8つの画素の輝度値から、注目画素Pを中心とする8つの点対称方向の画素間の輝度差分値を、輝度勾配強度として計算する(図7のステップS2a)。注目画素Pの選択は、画像データの全画素に対して行う場合には、各位置の画素を順次選択するようにすればよい。又、特定の条件を満たす画素のみを選択してもよい。
【0025】
図1で説明したように、注目画素Pを囲む8つの画素には、12時方向を0として、時計回りにi=0〜7の整数の番号が割り振られている。そして、図2に示すように、各画素の輝度値をIi、点対称方向の輝度差分値Diとすると、4つの点対称方向の輝度差分値Diは次のように計算できる。
【0026】
D0=I0−I4
D1=I1−I5
D2=I2−I6
D3=I3−I7
【0027】
一方、他の4つの点対称方向の輝度差分値Diは、先に求めた4つの点対称方向の輝度差分値Diの逆方向に輝度差分値であり、次のように計算できる。
【0028】
D4=I4−I0=−D0
D5=I5−I1=−D1
D6=I6−I2=−D2
D7=I7−I3=−D3
【0029】
以上の計算により、8つの点対称方向の輝度勾配強度データとなる8つの輝度差分値Diが計算されることになる。
【0030】
次に、最大輝度差分値計算部B3では、求めた8つの輝度差分値Diから最大輝度差分値を求める(図7のステップS3)。そして、最大輝度差分値の方向の画素の番号をmとし、その方向の輝度差分値、即ち、最大輝度差分値をDmで表す。例えば、図1、図2において、輝度差分値D1が最大輝度差分値であれば、m=1、Dm=D1である。
【0031】
次に、画素番号再設定部B4では、最大輝度差分値Dmの方向の画素が、最小の番号0及び最大の番号7を除く所定の番号(以降、所定番号cと呼ぶ。)となるように、注目画素Pを囲む8つの画素に仮番号を付け直す(図7のステップS4)。
【0032】
例えば、図1、図2において、m=1、Dm=D1、即ち、画素1の方向の輝度差分値D1が最大輝度差分値であり、所定番号cを全番号の中央の番号である[4]とする場合、図3のように、画素1が番号の[4]となるように、各画素に時計回りに順に[0]〜[7]の仮番号を割り振っている。ここでは、当初の番号iと区別するため、付け直した仮番号には大括弧“[]”を付ける。
【0033】
ここで、仮番号[0]〜[7]は、後述する重み付き平均値Paを正しく計算するための一時的なものである。仮番号[0]〜[7]を用いる理由について、図4、図5(a)、(b)と共に、図1〜図2を参照して説明する。
【0034】
図1の各画素を、図4に示すように、注目画素Pの周囲360度に対応する方向と考え、各方向を示す画素の番号を横軸として、対応する輝度値I0〜I7、輝度差分値D0〜D7の分布例を示すと、例えば、図5(a)、(b)の実線で示すグラフG1や点線で示すグラフG2のような分布となる。なお、図5(b)に示す輝度差分値D0〜D7の分布は、上述した輝度差分値D0〜D7を求める式からもわかるように、正側と負側で対称のグラフとなる。
【0035】
実線で示すグラフG1において、輝度勾配方向は画素3と画素4の間にあり、最大の輝度値はI4であり、最大の輝度差分値はD4である。この場合、輝度勾配方向を求めるためには、最大輝度差分値D4と隣接する2画素の輝度差分値D3、D5を重みとし、画素の番号3、4、5の重み付き平均値を計算すればよい。
【0036】
ところが、点線で示すグラフG2のように、輝度勾配方向が画素7と画素0の間にあり、最大の輝度値がI0であり、最大の輝度差分値はD0である場合、最大輝度差分値D0と隣接する2画素の輝度差分値D7、D1を重みとし、画素の番号7、0、1の重み付き平均値を計算すると、画素の番号7、0、1が不連続となっているので、重み付き平均値の計算が正しくできず、輝度勾配方向を求めることができない。
【0037】
そのため、本実施例では、所定番号cを全番号の中央の番号である[4]とし、最大輝度差分値Dmの方向の画素が[4]となるように、仮番号を付け直している。その結果、重み付き平均値の計算で用いる画素の仮番号が3、4、5と連続することになるので、正しく重み付き平均値を計算することができる。このように、重み付き平均値の計算で用いる画素の仮番号が連続すればよいので、所定番号cとしては、全番号の中央の番号[4]に限る必要は無く、最小の番号[0]及び最大の番号[7]除く、[1]〜[6]の番号を使用可能である。
【0038】
上述した画素番号再設定の後に、重み付き平均計算部B5では、所定番号cと両隣の画素の仮番号(c−1)、(c+1)について、最大輝度差分値Dmと両隣の画素の輝度差分値D(m−1)、D(m+1)を重みとし、下記の(式1)を用いて、重み付き平均値Paを計算する(図7のステップS5)。
【0039】
【数1】
但し、D(m−1)がD(−1)となる場合、D(−1)はD7とし、D(m+1)がD(8)となる場合、D(8)はD0とする。
【0040】
例えば、図1〜図3において、m=1、Dm=D1、c=[4]、即ち、画素1の方向の輝度差分値D1が最大輝度差分値Dmであり、所定番号c=[4]である場合には、上記(式1)は以下の通りとなる。
Pa=(D0×3+D1×4+D2×5)/(D0+D1+D2)
【0041】
このように、付け直した仮番号[0]〜[7]の8つの画素においては、Paが輝度勾配方向となる。
【0042】
最後に、輝度勾配計算部B6では、下記(式2)を用いて、当初の番号i=0〜7の8つの画素における輝度勾配方向を求める(図7のステップS6)。具体的には、上記(式1)で求めた仮番号の重み付き平均値Paから所定番号cを引くと共に、最大輝度差分値の方向の画素の番号mを加えることで、輝度勾配方向Poを求める。
【0043】
Po=m+(Pa−c)…(式2)
但し、Po<0となる場合、Po=Po+8とする。
【0044】
例えば、図1〜図3において、m=1、Dm=D1、c=[4]、即ち、画素1の方向の輝度差分値D1が最大輝度差分値であり、所定番号c=[4]である場合には、上記(式2)は以下の通りとなる。
【0045】
Po=1+(Pa−4)=Pa−3
【0046】
このように、本実施例では、計算量の多い三角関数を用いることなく、簡単且つ高速に輝度勾配方向を検出することができる。
【0047】
(実施例2)
図8は、本実施例の輝度勾配方向検出方法を説明するフローチャートである。
本実施例においては、図8に示すフローチャートに基づいて、輝度勾配方向を検出しているが、本実施例の輝度勾配方向検出器は、実施例1の図6に示した輝度勾配方向検出器と同等の構成でよい。又、図8のフローチャートは、ステップS2bの手順を除き、実施例1の図7のフローチャートと同等である。従って、ここでは、前述の図1〜図7も参照すると共に、重複する記載を省略又は簡略化して説明を行う。
【0048】
本実施例でも、実施例1で説明したステップS1の手順を経た後、輝度勾配方向検出器11の輝度差分値計算部B2において、8つの点対称方向の輝度勾配強度を計算している。
【0049】
輝度差分値計算部B2において、実施例1では、点対称位置にある2つの画素同士の輝度値Iiの輝度差分値Diを計算することで、8つの点対称方向の輝度勾配強度を求めている。これに対して、本実施例では、任意の方向の画素と当該画素の両隣の画素の輝度値の和と、これらの複数の画素の点対称位置にある他の画素と当該他の画素の両隣の画素の輝度値の和との差分を輝度差分値Diとすることで、即ち、線対称位置にある複数の画素同士の輝度差分値Diを計算することで、8つの点対称方向の輝度勾配強度を求めている(ステップS2b)。
【0050】
具体的には、図1、図2で説明したように、各画素の輝度値をIi、点対称方向の輝度差分値Diとすると、4つの点対称方向の輝度差分値Diは次のように計算する。
【0051】
D0=(I7+I0+I1)−(I3+I4+I5)
D1=(I0+I1+I2)−(I4+I5+I6)
D2=(I1+I2+I3)−(I5+I6+I7)
D3=(I2+I3+I4)−(I6+I7+I0)
【0052】
一方、他の4つの点対称方向の輝度差分値Diは、先に求めた4つの点対称方向の輝度差分値Diの逆方向に輝度差分値であり、次のように計算できる。
【0053】
D4=(I3+I4+I5)−(I7+I0+I1)=−D0
D5=(I4+I5+I6)−(I0+I1+I2)=−D1
D6=(I5+I6+I7)−(I1+I2+I3)=−D2
D7=(I6+I7+I0)−(I2+I3+I4)=−D3
【0054】
以上の計算により、8つの点対称方向の輝度勾配強度となる8つの輝度差分値Diが計算されることになる。
【0055】
以降の手順は、本実施例で求めた8つの輝度差分値Diを用いて、実施例1で説明したステップS3〜S6を経て、輝度勾配方向Poを求めることができる。
【0056】
本実施例では、注目画素Pにおける点対称方向の輝度勾配強度を求める際に、複数画素の輝度値を用いているので、実施例1での効果に加え、ノイズの混入した画像でも、輝度勾配方向の検出結果を安定して得ることができる。
【0057】
(実施例3)
図9は、本実施例の輝度勾配方向検出器を示す概略構成図であり、図10は、本実施例の輝度勾配方向検出方法を説明するフローチャートである。
【0058】
本実施例においては、図9に示す輝度勾配方向検出器、図10に示すフローチャートに基づいて、輝度勾配方向を検出しているが、本実施例の輝度勾配方向検出器は、輝度勾配方向−角度換算部B7を除き、実施例1の図6に示した輝度勾配方向検出器と同等の構成でよい。又、図10のフローチャートは、ステップS7の手順を除き、実施例1の図7のフローチャート、実施例2の図8のフローチャートと同等である。従って、ここでも、重複する記載を省略又は簡略化して説明を行う。
【0059】
本実施例でも、実施例1(又は実施例2)で説明したステップS1〜S6の手順を経て、輝度勾配方向Po(0以上8未満の数値)を検出している。その後、輝度勾配方向検出器14(演算装置)の輝度勾配方向−角度換算部B7において、検出した輝度勾配方向Poを、下記式により、360度の角度方向θへ変換し、ディスプレイ13へ出力するようにしている(ステップS7)。なお、ここでは、12時の方向(図中の真上の方向)を0度としている。
【0060】
θ=Po×(360/8)
【0061】
本実施例では、輝度勾配方向を360度の角度方向θで出力するので、実施例1、実施例2での効果に加え、三角関数で輝度勾配方向を計算する従来の装置と簡単に置き換えることができる。
【0062】
(実施例4)
図12は、本実施例の輝度勾配方向検出器を示す概略構成図であり、図13は、本実施例の輝度勾配方向検出方法を説明するフローチャートである。
【0063】
本実施例においては、図12に示す輝度勾配方向検出器、図13に示すフローチャートに基づいて、輝度勾配方向を検出している。図12に示す本実施例の輝度勾配方向検出器は、実施例1の図6に示した輝度勾配方向検出器と略同等の構成であるが、画素番号再設定部B4を有しておらず、同様に、図13に示すフローチャートも、実施例1の図7に示したフローチャートと略同等であるが、画素番号再設定のステップを有しておらず、この点が相違する。従って、ここでは、重複する記載を簡略化して説明を行う。
【0064】
本実施例においても、まず、画素番号設定部B1では、実施例1のステップS1と同様に、選択した位置の注目画素Pを囲む8つの画素に対し、時計回りに順に0から7までの整数の番号を設定する(ステップS11)。
【0065】
次に、輝度差分値計算部B2では、実施例1のステップS2aと同様に、注目画素Pを中心とする8つの点対称方向の画素間の輝度差分値Di(i=0〜7)を、輝度勾配強度として計算する(ステップS12)。なお、ここでの輝度差分値Diの計算は、実施例2のステップ2bと同様に、複数画素の輝度値を用いて計算してもよい。
【0066】
次に、最大輝度差分値計算部B3では、実施例1のステップS3と同様に、求めた8つの輝度差分値Diから最大輝度差分値を求め、最大輝度差分値の方向の画素の番号をmとし、最大輝度差分値をDmで表す(ステップS13)。
【0067】
実施例1〜3においては、次に、重み付き平均値Paを正しく計算するため、画素番号を仮番号に再設定する手順を行っているが、本実施例においては、図11(a)、(b)に示すように、画素の番号を横軸する輝度値I0〜I7、輝度差分値D0〜D7の分布のグラフにおいて、「−1」の画素の番号を導入することにより、画素番号再設定の手順を不要としている。なお、この「−1」の画素は、画素7に該当する。又、図11(b)に示す輝度差分値D0〜D7の分布も、正側と負側で対称のグラフとなる。
【0068】
図11(a)、(b)に示す点線のグラフG2のように、輝度勾配方向が画素7と画素0の間にあり、最大の輝度値がI0であり、最大の輝度差分値はD0である場合、最大輝度差分値D0と隣接する2画素の輝度差分値D7、D1を重みとし、画素の番号7、0、1の重み付き平均値を計算すると、画素の番号7、0、1が不連続となっているので、重み付き平均値の計算が正しくできず、輝度勾配方向を求めることができない。
【0069】
このような場合、本実施例では、計算に用いる画素の番号7の替わりに「−1」を用いることにより、画素の番号を−1、0、1と連続させるので、正しく重み付き平均値を計算することができる。
【0070】
そして、重み付き平均計算部B5では、実施例1のステップS5と同様に、最大輝度差分値の方向の画素の番号mと両隣の画素の番号(m−1)、(m+1)について、最大輝度差分値Dmと両隣の画素の輝度差分値D(m−1)、D(m+1)を重みとし、下記の(式3)を用いて、重み付き平均値Paを計算する(ステップS14)。
【0071】
【数2】
但し、D(m−1)がD(−1)となる場合、D(−1)はD7とし、D(m+1)がD(8)となる場合、D(8)はD0とする。
【0072】
例えば、図11(a)、(b)に示すように、m=0、Dm=D0である場合には、上記(式3)は以下の通りとなる。
Pa=(D7×(−1)+D0×0+D1×1)/(D7+D0+D1)
=(D1−D7)/(D7+D0+D1)
【0073】
本実施例の場合、このようにして求めたPaが、番号i=0〜7の8つの画素における輝度勾配方向となる。即ち、Po=Paである(輝度勾配計算部B6;ステップS15)。但し、本実施例でも、Po<0となる場合、Po=Po+8とする。
【0074】
このように、本実施例でも、計算量の多い三角関数を用いることなく、簡単且つ高速に輝度勾配方向を検出することができる。
【0075】
更に、実施例3で説明したように、検出した輝度勾配方向Poを、360度の角度方向θへ変換してもよい。
【産業上の利用可能性】
【0076】
本発明は、画像処理装置に好適なものであり、例えば、AGV(Auto Guided Vehicle)等に搭載される。
【符号の説明】
【0077】
11、14、15 輝度勾配方向検出器
12 カメラ
13 ディスプレイ
【技術分野】
【0001】
本発明は、画像処理により、画像上の各画素における輝度勾配方向を検出する輝度勾配方向検出器及び輝度勾配方向検出方法に関する。
【背景技術】
【0002】
画像上の各画素における輝度勾配方向を求める方法として、Sobelオペレータのような微分フィルタを用いて、縦方向・横方向の輝度勾配強度を求め、この縦横方向それぞれの輝度勾配強度を用いて、次の2種類の方法により、輝度勾配方向を表現している。
【0003】
(1)タンジェント(正接)の逆関数を用いて、角度を計算し、輝度勾配方向を角度で表現する。
例えば、下記特許文献1、2においては、Sobelオペレータによって求めた縦横方向それぞれの輝度勾配強度を基に、三角関数を用いて角度を求めることで、輝度勾配方向を求める方法が用いられている。
【0004】
(2)縦横方向それぞれの輝度勾配強度を成分とする2次元ベクトルとして輝度勾配方向を表現する。
例えば、下記特許文献3においては、Sobelオペレータによって求めた縦横方向それぞれの輝度勾配強度を成分とする2次元ベクトルとして輝度勾配方向を表現する方法が用いられている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−140684号公報
【特許文献2】特開2006−025394号公報
【特許文献3】特開2004−164034号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
画像特徴量として、画像中の輝度勾配情報を基に構成されるものが多くある。この輝度勾配情報の内、輝度勾配方向については、縦方向及び横方向の輝度勾配強度からタンジェント(正接)の逆関数により角度を計算し、輝度勾配方向を算出する手法が一般的である。しかしながら、この計算では、三角関数を用いるため計算量が多く、高速解析(リアルタイムでの解析等)には適していない。
【0007】
本発明は上記課題に鑑みなされたもので、計算量が多い三角関数を用いることなく、高速に輝度勾配方向を検出する輝度勾配方向検出器及び輝度勾配方向検出方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決する第1の発明に係る輝度勾配方向検出器は、
画像データ中の注目している注目画素について、当該注目画素における輝度勾配方向を演算する演算装置を備えた輝度勾配方向検出器において、
前記演算装置は、
前記注目画素を囲む8つの画素に時計回りに順に番号を割り振る画素番号設定部と、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求める輝度差分値計算部と、
8つの前記輝度差分値から最大となる最大輝度差分値を求める最大輝度差分値検出部と、
前記最大輝度差分値を有する方向の画素が最小値及び最大値を除く所定番号となるように、前記8つの画素に時計回りに順に仮番号を振り直す画素番号再設定部と、
前記所定番号と前記所定番号の両隣の画素の仮番号について、前記最大輝度差分値と前記両隣の画素の輝度差分値を重みとして、仮番号の重み付き平均値を求める重み付き平均計算部と、
前記仮番号の重み付き平均値から前記所定番号を引くと共に、前記最大輝度差分値を有する方向の画素の当初の番号を加えることにより、前記注目画素における輝度勾配方向を検出する輝度勾配方向計算部とを有することを特徴とする。
【0009】
上記課題を解決する第2の発明に係る輝度勾配方向検出器は、
画像データ中の注目している注目画素について、当該注目画素における輝度勾配方向を演算する演算装置を備えた輝度勾配方向検出器において、
前記演算装置は、
前記注目画素を囲む8つの画素に時計回りに順に番号を割り振る画素番号設定部と、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求める輝度差分値計算部と、
8つの前記輝度差分値から最大となる最大輝度差分値を求める最大輝度差分値検出部と、
前記最大輝度差分値を有する方向の画素の番号と当該番号の両隣の番号について、前記最大輝度差分値と前記両隣の方向の輝度差分値を重みとして、番号の重み付き平均値を求める重み付き平均計算部と、
前記番号の重み付き平均値を前記注目画素における輝度勾配方向として検出する輝度勾配方向計算部とを有することを特徴とする。
【0010】
上記課題を解決する第3の発明に係る輝度勾配方向検出器は、
上記第1又は第2の発明に記載の輝度勾配方向検出器において、
前記輝度差分値計算部は、前記輝度差分値を求める際、任意の方向の画素及び当該画素の両隣の画素の輝度値の和と、当該複数の画素の点対称位置にある他の画素及び当該他の画素の両隣の画素の輝度値の和との差分を用いることを特徴とする。
【0011】
上記課題を解決する第4の発明に係る輝度勾配方向検出器は、
上記第1〜第3のいずれか1つの発明に記載の輝度勾配方向検出器において、
前記演算装置は、
更に、検出した前記輝度勾配方向を360度の角度方向へ換算して出力する角度換算部を有することを特徴とする。
【0012】
上記課題を解決する第5の発明に係る輝度勾配方向検出方法は、
画像データ中の注目している注目画素を囲む8つの画素に時計回りに順に番号を割り振り、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求め、
8つの前記輝度差分値から最大となる最大輝度差分値を求め、
前記最大輝度差分値を有する方向の画素が最小値及び最大値を除く所定番号となるように、前記8つの画素に時計回りに順に仮番号を振り直し、
前記所定番号と前記所定番号の両隣の画素の仮番号について、前記最大輝度差分値と前記両隣の画素の輝度差分値を重みとして、仮番号の重み付き平均値を求め、
前記仮番号の重み付き平均値から前記所定番号を引くと共に、前記最大輝度差分値を有する方向の画素の当初の番号を加えることにより、前記注目画素における輝度勾配方向を検出することを特徴とする。
【0013】
上記課題を解決する第6の発明に係る輝度勾配方向検出方法は、
画像データ中の注目している注目画素を囲む8つの画素に時計回りに順に番号を割り振り、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求め、
8つの前記輝度差分値から最大となる最大輝度差分値を求め、
前記最大輝度差分値を有する方向の画素の番号と当該番号の両隣の番号について、前記最大輝度差分値と前記両隣の方向の輝度差分値を重みとして、番号の重み付き平均値を求め、
前記番号の重み付き平均値を前記注目画素における輝度勾配方向として検出することを特徴とする。
【0014】
上記課題を解決する第7の発明に係る輝度勾配方向検出方法は、
上記第5又は第6の発明に記載の輝度勾配方向検出方法において、
前記輝度差分値を求める際、任意の方向の画素及び当該画素の両隣の画素の輝度値の和と、当該複数の画素の点対称位置にある他の画素及び当該他の画素の両隣の画素の輝度値の和との差分を用いることを特徴とする。
【0015】
上記課題を解決する第8の発明に係る輝度勾配方向検出方法は、
上記第5〜第7のいずれか1つの発明に記載の輝度勾配方向検出方法において、
更に、検出した前記輝度勾配方向を360度の角度方向へ換算して出力することを特徴とする。
【発明の効果】
【0016】
本発明によれば、三角関数を用いることなく、高速に輝度勾配方向を検出することができる。
【図面の簡単な説明】
【0017】
【図1】注目画素Pを囲む8つの画素に割り振った番号を示す図である。
【図2】注目画素Pを囲む8つの画素において、その輝度値と、点対称方向の輝度差分値を説明する図である。
【図3】注目画素Pを囲む8つの画素において、最大輝度差分値の方向の画素を中央番号として付け直した画素の仮番号を示す図である。
【図4】各画素の注目画素Pに対する方向を説明する図である。
【図5】(a)、(b)は、各々、画素の番号を横軸とした輝度値、輝度差分値の分布例を示す図である。
【図6】本発明に係る輝度勾配方向検出器の実施形態の一例(実施例1)を示す概略構成図である。
【図7】図6に示した輝度勾配方向検出器における輝度勾配方向検出方法を説明するフローチャートである。
【図8】図6に示した輝度勾配方向検出器における輝度勾配方向検出方法の他の一例(実施例2)を説明するフローチャートである。
【図9】本発明に係る輝度勾配方向検出器の実施形態の他の一例(実施例3)を示す概略構成図である。
【図10】図9に示した輝度勾配方向検出器における輝度勾配方向検出方法を説明するフローチャートである。
【図11】(a)、(b)は、各々、画素の番号を横軸とした輝度値、輝度差分値の分布例を示す図である。
【図12】本発明に係る輝度勾配方向検出器の実施形態の他の一例(実施例4)を示す概略構成図である。
【図13】図12に示した輝度勾配方向検出器における輝度勾配方向検出方法を説明するフローチャートである。
【発明を実施するための形態】
【0018】
本発明に係る輝度勾配方向検出器及び輝度勾配方向検出方法について、図1〜図13を参照して、その実施形態のいくつかを説明する。
【0019】
最初に、本発明の概略を説明する。輝度勾配方向は、特に、360度の角度方向で表現する必要はない。従って、本発明では、図1に示すように、任意の注目画素Pを中心とする3画素×3画素の領域において、注目画素Pを囲む8つの画素に対し、12時方向(図中の真上の方向)を0として、時計回りに順に0から7までの整数の番号を振り、これらの番号を用いた演算により、輝度勾配強度の最も高い方向を推定し、この方向を注目画素Pにおける輝度勾配方向として検出しており、0以上8未満の数値(整数とは限らない。)を用いて輝度勾配方向を表現するようにしている。なお、必要な場合には、後述の実施例3で説明するように、0以上8未満の数値で表現した輝度勾配方向を、360度の角度方向に変換可能である。
【0020】
(実施例1)
本実施例の輝度勾配方向検出器及び輝度勾配方向検出方法について、図1〜図5と共に、図6、図7を参照して、説明を行う。
【0021】
本実施例において、輝度勾配方向検出器11は、図6に示すように、画素番号設定部B1と、輝度差分値計算部B2と、最大輝度差分値計算部B3と、画素番号再設定部B4と、重み付き平均計算部B5と、輝度勾配計算部B6とを有する演算装置である。この輝度勾配方向検出器11では、画像を撮影するカメラ12から入力された画像データにおいて、後述する手順を用いて、輝度勾配方向を検出し、検出した輝度勾配方向をディスプレイ13に表示するようにしている。
【0022】
なお、画像データは、カメラ12からのデータに限らず、例えば、HDD(ハード・ディスク・ドライブ)等の記録媒体に記録した画像データを用いてもよい。又、検出した輝度勾配方向は、ディスプレイ13に限らず、例えば、プリンタ等に出力するようにしてもよいし、又、HDD等の記録媒体に記録し、画像データ同士の比較に用いるようにしてもよい。
【0023】
まず、画素番号設定部B1では、入力された画像データ中において、注目画素位置を選択し、選択した位置の注目画素Pを中心とする3画素×3画素の領域において、図1で説明したように、注目画素Pを囲む8つの画素に対し、12時方向(図中の真上の方向)を0として、時計回りに順に0から7までの整数の番号を設定する(図7のステップS1)。
【0024】
次に、輝度差分値計算部B2では、注目画素Pを中心とする3画素×3画素の領域において、注目画素Pを囲む8つの画素の輝度値から、注目画素Pを中心とする8つの点対称方向の画素間の輝度差分値を、輝度勾配強度として計算する(図7のステップS2a)。注目画素Pの選択は、画像データの全画素に対して行う場合には、各位置の画素を順次選択するようにすればよい。又、特定の条件を満たす画素のみを選択してもよい。
【0025】
図1で説明したように、注目画素Pを囲む8つの画素には、12時方向を0として、時計回りにi=0〜7の整数の番号が割り振られている。そして、図2に示すように、各画素の輝度値をIi、点対称方向の輝度差分値Diとすると、4つの点対称方向の輝度差分値Diは次のように計算できる。
【0026】
D0=I0−I4
D1=I1−I5
D2=I2−I6
D3=I3−I7
【0027】
一方、他の4つの点対称方向の輝度差分値Diは、先に求めた4つの点対称方向の輝度差分値Diの逆方向に輝度差分値であり、次のように計算できる。
【0028】
D4=I4−I0=−D0
D5=I5−I1=−D1
D6=I6−I2=−D2
D7=I7−I3=−D3
【0029】
以上の計算により、8つの点対称方向の輝度勾配強度データとなる8つの輝度差分値Diが計算されることになる。
【0030】
次に、最大輝度差分値計算部B3では、求めた8つの輝度差分値Diから最大輝度差分値を求める(図7のステップS3)。そして、最大輝度差分値の方向の画素の番号をmとし、その方向の輝度差分値、即ち、最大輝度差分値をDmで表す。例えば、図1、図2において、輝度差分値D1が最大輝度差分値であれば、m=1、Dm=D1である。
【0031】
次に、画素番号再設定部B4では、最大輝度差分値Dmの方向の画素が、最小の番号0及び最大の番号7を除く所定の番号(以降、所定番号cと呼ぶ。)となるように、注目画素Pを囲む8つの画素に仮番号を付け直す(図7のステップS4)。
【0032】
例えば、図1、図2において、m=1、Dm=D1、即ち、画素1の方向の輝度差分値D1が最大輝度差分値であり、所定番号cを全番号の中央の番号である[4]とする場合、図3のように、画素1が番号の[4]となるように、各画素に時計回りに順に[0]〜[7]の仮番号を割り振っている。ここでは、当初の番号iと区別するため、付け直した仮番号には大括弧“[]”を付ける。
【0033】
ここで、仮番号[0]〜[7]は、後述する重み付き平均値Paを正しく計算するための一時的なものである。仮番号[0]〜[7]を用いる理由について、図4、図5(a)、(b)と共に、図1〜図2を参照して説明する。
【0034】
図1の各画素を、図4に示すように、注目画素Pの周囲360度に対応する方向と考え、各方向を示す画素の番号を横軸として、対応する輝度値I0〜I7、輝度差分値D0〜D7の分布例を示すと、例えば、図5(a)、(b)の実線で示すグラフG1や点線で示すグラフG2のような分布となる。なお、図5(b)に示す輝度差分値D0〜D7の分布は、上述した輝度差分値D0〜D7を求める式からもわかるように、正側と負側で対称のグラフとなる。
【0035】
実線で示すグラフG1において、輝度勾配方向は画素3と画素4の間にあり、最大の輝度値はI4であり、最大の輝度差分値はD4である。この場合、輝度勾配方向を求めるためには、最大輝度差分値D4と隣接する2画素の輝度差分値D3、D5を重みとし、画素の番号3、4、5の重み付き平均値を計算すればよい。
【0036】
ところが、点線で示すグラフG2のように、輝度勾配方向が画素7と画素0の間にあり、最大の輝度値がI0であり、最大の輝度差分値はD0である場合、最大輝度差分値D0と隣接する2画素の輝度差分値D7、D1を重みとし、画素の番号7、0、1の重み付き平均値を計算すると、画素の番号7、0、1が不連続となっているので、重み付き平均値の計算が正しくできず、輝度勾配方向を求めることができない。
【0037】
そのため、本実施例では、所定番号cを全番号の中央の番号である[4]とし、最大輝度差分値Dmの方向の画素が[4]となるように、仮番号を付け直している。その結果、重み付き平均値の計算で用いる画素の仮番号が3、4、5と連続することになるので、正しく重み付き平均値を計算することができる。このように、重み付き平均値の計算で用いる画素の仮番号が連続すればよいので、所定番号cとしては、全番号の中央の番号[4]に限る必要は無く、最小の番号[0]及び最大の番号[7]除く、[1]〜[6]の番号を使用可能である。
【0038】
上述した画素番号再設定の後に、重み付き平均計算部B5では、所定番号cと両隣の画素の仮番号(c−1)、(c+1)について、最大輝度差分値Dmと両隣の画素の輝度差分値D(m−1)、D(m+1)を重みとし、下記の(式1)を用いて、重み付き平均値Paを計算する(図7のステップS5)。
【0039】
【数1】
但し、D(m−1)がD(−1)となる場合、D(−1)はD7とし、D(m+1)がD(8)となる場合、D(8)はD0とする。
【0040】
例えば、図1〜図3において、m=1、Dm=D1、c=[4]、即ち、画素1の方向の輝度差分値D1が最大輝度差分値Dmであり、所定番号c=[4]である場合には、上記(式1)は以下の通りとなる。
Pa=(D0×3+D1×4+D2×5)/(D0+D1+D2)
【0041】
このように、付け直した仮番号[0]〜[7]の8つの画素においては、Paが輝度勾配方向となる。
【0042】
最後に、輝度勾配計算部B6では、下記(式2)を用いて、当初の番号i=0〜7の8つの画素における輝度勾配方向を求める(図7のステップS6)。具体的には、上記(式1)で求めた仮番号の重み付き平均値Paから所定番号cを引くと共に、最大輝度差分値の方向の画素の番号mを加えることで、輝度勾配方向Poを求める。
【0043】
Po=m+(Pa−c)…(式2)
但し、Po<0となる場合、Po=Po+8とする。
【0044】
例えば、図1〜図3において、m=1、Dm=D1、c=[4]、即ち、画素1の方向の輝度差分値D1が最大輝度差分値であり、所定番号c=[4]である場合には、上記(式2)は以下の通りとなる。
【0045】
Po=1+(Pa−4)=Pa−3
【0046】
このように、本実施例では、計算量の多い三角関数を用いることなく、簡単且つ高速に輝度勾配方向を検出することができる。
【0047】
(実施例2)
図8は、本実施例の輝度勾配方向検出方法を説明するフローチャートである。
本実施例においては、図8に示すフローチャートに基づいて、輝度勾配方向を検出しているが、本実施例の輝度勾配方向検出器は、実施例1の図6に示した輝度勾配方向検出器と同等の構成でよい。又、図8のフローチャートは、ステップS2bの手順を除き、実施例1の図7のフローチャートと同等である。従って、ここでは、前述の図1〜図7も参照すると共に、重複する記載を省略又は簡略化して説明を行う。
【0048】
本実施例でも、実施例1で説明したステップS1の手順を経た後、輝度勾配方向検出器11の輝度差分値計算部B2において、8つの点対称方向の輝度勾配強度を計算している。
【0049】
輝度差分値計算部B2において、実施例1では、点対称位置にある2つの画素同士の輝度値Iiの輝度差分値Diを計算することで、8つの点対称方向の輝度勾配強度を求めている。これに対して、本実施例では、任意の方向の画素と当該画素の両隣の画素の輝度値の和と、これらの複数の画素の点対称位置にある他の画素と当該他の画素の両隣の画素の輝度値の和との差分を輝度差分値Diとすることで、即ち、線対称位置にある複数の画素同士の輝度差分値Diを計算することで、8つの点対称方向の輝度勾配強度を求めている(ステップS2b)。
【0050】
具体的には、図1、図2で説明したように、各画素の輝度値をIi、点対称方向の輝度差分値Diとすると、4つの点対称方向の輝度差分値Diは次のように計算する。
【0051】
D0=(I7+I0+I1)−(I3+I4+I5)
D1=(I0+I1+I2)−(I4+I5+I6)
D2=(I1+I2+I3)−(I5+I6+I7)
D3=(I2+I3+I4)−(I6+I7+I0)
【0052】
一方、他の4つの点対称方向の輝度差分値Diは、先に求めた4つの点対称方向の輝度差分値Diの逆方向に輝度差分値であり、次のように計算できる。
【0053】
D4=(I3+I4+I5)−(I7+I0+I1)=−D0
D5=(I4+I5+I6)−(I0+I1+I2)=−D1
D6=(I5+I6+I7)−(I1+I2+I3)=−D2
D7=(I6+I7+I0)−(I2+I3+I4)=−D3
【0054】
以上の計算により、8つの点対称方向の輝度勾配強度となる8つの輝度差分値Diが計算されることになる。
【0055】
以降の手順は、本実施例で求めた8つの輝度差分値Diを用いて、実施例1で説明したステップS3〜S6を経て、輝度勾配方向Poを求めることができる。
【0056】
本実施例では、注目画素Pにおける点対称方向の輝度勾配強度を求める際に、複数画素の輝度値を用いているので、実施例1での効果に加え、ノイズの混入した画像でも、輝度勾配方向の検出結果を安定して得ることができる。
【0057】
(実施例3)
図9は、本実施例の輝度勾配方向検出器を示す概略構成図であり、図10は、本実施例の輝度勾配方向検出方法を説明するフローチャートである。
【0058】
本実施例においては、図9に示す輝度勾配方向検出器、図10に示すフローチャートに基づいて、輝度勾配方向を検出しているが、本実施例の輝度勾配方向検出器は、輝度勾配方向−角度換算部B7を除き、実施例1の図6に示した輝度勾配方向検出器と同等の構成でよい。又、図10のフローチャートは、ステップS7の手順を除き、実施例1の図7のフローチャート、実施例2の図8のフローチャートと同等である。従って、ここでも、重複する記載を省略又は簡略化して説明を行う。
【0059】
本実施例でも、実施例1(又は実施例2)で説明したステップS1〜S6の手順を経て、輝度勾配方向Po(0以上8未満の数値)を検出している。その後、輝度勾配方向検出器14(演算装置)の輝度勾配方向−角度換算部B7において、検出した輝度勾配方向Poを、下記式により、360度の角度方向θへ変換し、ディスプレイ13へ出力するようにしている(ステップS7)。なお、ここでは、12時の方向(図中の真上の方向)を0度としている。
【0060】
θ=Po×(360/8)
【0061】
本実施例では、輝度勾配方向を360度の角度方向θで出力するので、実施例1、実施例2での効果に加え、三角関数で輝度勾配方向を計算する従来の装置と簡単に置き換えることができる。
【0062】
(実施例4)
図12は、本実施例の輝度勾配方向検出器を示す概略構成図であり、図13は、本実施例の輝度勾配方向検出方法を説明するフローチャートである。
【0063】
本実施例においては、図12に示す輝度勾配方向検出器、図13に示すフローチャートに基づいて、輝度勾配方向を検出している。図12に示す本実施例の輝度勾配方向検出器は、実施例1の図6に示した輝度勾配方向検出器と略同等の構成であるが、画素番号再設定部B4を有しておらず、同様に、図13に示すフローチャートも、実施例1の図7に示したフローチャートと略同等であるが、画素番号再設定のステップを有しておらず、この点が相違する。従って、ここでは、重複する記載を簡略化して説明を行う。
【0064】
本実施例においても、まず、画素番号設定部B1では、実施例1のステップS1と同様に、選択した位置の注目画素Pを囲む8つの画素に対し、時計回りに順に0から7までの整数の番号を設定する(ステップS11)。
【0065】
次に、輝度差分値計算部B2では、実施例1のステップS2aと同様に、注目画素Pを中心とする8つの点対称方向の画素間の輝度差分値Di(i=0〜7)を、輝度勾配強度として計算する(ステップS12)。なお、ここでの輝度差分値Diの計算は、実施例2のステップ2bと同様に、複数画素の輝度値を用いて計算してもよい。
【0066】
次に、最大輝度差分値計算部B3では、実施例1のステップS3と同様に、求めた8つの輝度差分値Diから最大輝度差分値を求め、最大輝度差分値の方向の画素の番号をmとし、最大輝度差分値をDmで表す(ステップS13)。
【0067】
実施例1〜3においては、次に、重み付き平均値Paを正しく計算するため、画素番号を仮番号に再設定する手順を行っているが、本実施例においては、図11(a)、(b)に示すように、画素の番号を横軸する輝度値I0〜I7、輝度差分値D0〜D7の分布のグラフにおいて、「−1」の画素の番号を導入することにより、画素番号再設定の手順を不要としている。なお、この「−1」の画素は、画素7に該当する。又、図11(b)に示す輝度差分値D0〜D7の分布も、正側と負側で対称のグラフとなる。
【0068】
図11(a)、(b)に示す点線のグラフG2のように、輝度勾配方向が画素7と画素0の間にあり、最大の輝度値がI0であり、最大の輝度差分値はD0である場合、最大輝度差分値D0と隣接する2画素の輝度差分値D7、D1を重みとし、画素の番号7、0、1の重み付き平均値を計算すると、画素の番号7、0、1が不連続となっているので、重み付き平均値の計算が正しくできず、輝度勾配方向を求めることができない。
【0069】
このような場合、本実施例では、計算に用いる画素の番号7の替わりに「−1」を用いることにより、画素の番号を−1、0、1と連続させるので、正しく重み付き平均値を計算することができる。
【0070】
そして、重み付き平均計算部B5では、実施例1のステップS5と同様に、最大輝度差分値の方向の画素の番号mと両隣の画素の番号(m−1)、(m+1)について、最大輝度差分値Dmと両隣の画素の輝度差分値D(m−1)、D(m+1)を重みとし、下記の(式3)を用いて、重み付き平均値Paを計算する(ステップS14)。
【0071】
【数2】
但し、D(m−1)がD(−1)となる場合、D(−1)はD7とし、D(m+1)がD(8)となる場合、D(8)はD0とする。
【0072】
例えば、図11(a)、(b)に示すように、m=0、Dm=D0である場合には、上記(式3)は以下の通りとなる。
Pa=(D7×(−1)+D0×0+D1×1)/(D7+D0+D1)
=(D1−D7)/(D7+D0+D1)
【0073】
本実施例の場合、このようにして求めたPaが、番号i=0〜7の8つの画素における輝度勾配方向となる。即ち、Po=Paである(輝度勾配計算部B6;ステップS15)。但し、本実施例でも、Po<0となる場合、Po=Po+8とする。
【0074】
このように、本実施例でも、計算量の多い三角関数を用いることなく、簡単且つ高速に輝度勾配方向を検出することができる。
【0075】
更に、実施例3で説明したように、検出した輝度勾配方向Poを、360度の角度方向θへ変換してもよい。
【産業上の利用可能性】
【0076】
本発明は、画像処理装置に好適なものであり、例えば、AGV(Auto Guided Vehicle)等に搭載される。
【符号の説明】
【0077】
11、14、15 輝度勾配方向検出器
12 カメラ
13 ディスプレイ
【特許請求の範囲】
【請求項1】
画像データ中の注目している注目画素について、当該注目画素における輝度勾配方向を演算する演算装置を備えた輝度勾配方向検出器において、
前記演算装置は、
前記注目画素を囲む8つの画素に時計回りに順に番号を割り振る画素番号設定部と、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求める輝度差分値計算部と、
8つの前記輝度差分値から最大となる最大輝度差分値を求める最大輝度差分値検出部と、
前記最大輝度差分値を有する方向の画素が最小値及び最大値を除く所定番号となるように、前記8つの画素に時計回りに順に仮番号を振り直す画素番号再設定部と、
前記所定番号と前記所定番号の両隣の画素の仮番号について、前記最大輝度差分値と前記両隣の画素の輝度差分値を重みとして、仮番号の重み付き平均値を求める重み付き平均計算部と、
前記仮番号の重み付き平均値から前記所定番号を引くと共に、前記最大輝度差分値を有する方向の画素の番号を加えることにより、前記注目画素における輝度勾配方向を検出する輝度勾配方向計算部とを有することを特徴とする輝度勾配方向検出器。
【請求項2】
画像データ中の注目している注目画素について、当該注目画素における輝度勾配方向を演算する演算装置を備えた輝度勾配方向検出器において、
前記演算装置は、
前記注目画素を囲む8つの画素に時計回りに順に番号を割り振る画素番号設定部と、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求める輝度差分値計算部と、
8つの前記輝度差分値から最大となる最大輝度差分値を求める最大輝度差分値検出部と、
前記最大輝度差分値を有する方向の画素の番号と当該番号の両隣の番号について、前記最大輝度差分値と前記両隣の方向の輝度差分値を重みとして、番号の重み付き平均値を求める重み付き平均計算部と、
前記番号の重み付き平均値を前記注目画素における輝度勾配方向として検出する輝度勾配方向計算部とを有することを特徴とする輝度勾配方向検出器。
【請求項3】
請求項1又は請求項2に記載の輝度勾配方向検出器において、
前記輝度差分値計算部は、前記輝度差分値を求める際、任意の方向の画素及び当該画素の両隣の画素の輝度値の和と、当該複数の画素の点対称位置にある他の画素及び当該他の画素の両隣の画素の輝度値の和との差分を用いることを特徴とする輝度勾配方向検出器。
【請求項4】
請求項1から請求項3のいずれか1つに記載の輝度勾配方向検出器において、
前記演算装置は、
更に、検出した前記輝度勾配方向を360度の角度方向へ換算して出力する角度換算部を有することを特徴とする輝度勾配方向検出器。
【請求項5】
画像データ中の注目している注目画素を囲む8つの画素に時計回りに順に番号を割り振り、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求め、
8つの前記輝度差分値から最大となる最大輝度差分値を求め、
前記最大輝度差分値を有する方向の画素が最小値及び最大値を除く所定番号となるように、前記8つの画素に時計回りに順に仮番号を振り直し、
前記所定番号と前記所定番号の両隣の画素の仮番号について、前記最大輝度差分値と前記両隣の画素の輝度差分値を重みとして、仮番号の重み付き平均値を求め、
前記仮番号の重み付き平均値から前記所定番号を引くと共に、前記最大輝度差分値を有する方向の画素の番号を加えることにより、前記注目画素における輝度勾配方向を検出することを特徴とする輝度勾配方向検出方法。
【請求項6】
画像データ中の注目している注目画素を囲む8つの画素に時計回りに順に番号を割り振り、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求め、
8つの前記輝度差分値から最大となる最大輝度差分値を求め、
前記最大輝度差分値を有する方向の画素の番号と当該番号の両隣の番号について、前記最大輝度差分値と前記両隣の方向の輝度差分値を重みとして、番号の重み付き平均値を求め、
前記番号の重み付き平均値を前記注目画素における輝度勾配方向として検出することを特徴とする輝度勾配方向検出方法。
【請求項7】
請求項5又は請求項6に記載の輝度勾配方向検出方法において、
前記輝度差分値を求める際、任意の方向の画素及び当該画素の両隣の画素の輝度値の和と、当該複数の画素の点対称位置にある他の画素及び当該他の画素の両隣の画素の輝度値の和との差分を用いることを特徴とする輝度勾配方向検出方法。
【請求項8】
請求項5から請求項7のいずれか1つに記載の輝度勾配方向検出方法において、
更に、検出した前記輝度勾配方向を360度の角度方向へ換算して出力することを特徴とする輝度勾配方向検出方法。
【請求項1】
画像データ中の注目している注目画素について、当該注目画素における輝度勾配方向を演算する演算装置を備えた輝度勾配方向検出器において、
前記演算装置は、
前記注目画素を囲む8つの画素に時計回りに順に番号を割り振る画素番号設定部と、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求める輝度差分値計算部と、
8つの前記輝度差分値から最大となる最大輝度差分値を求める最大輝度差分値検出部と、
前記最大輝度差分値を有する方向の画素が最小値及び最大値を除く所定番号となるように、前記8つの画素に時計回りに順に仮番号を振り直す画素番号再設定部と、
前記所定番号と前記所定番号の両隣の画素の仮番号について、前記最大輝度差分値と前記両隣の画素の輝度差分値を重みとして、仮番号の重み付き平均値を求める重み付き平均計算部と、
前記仮番号の重み付き平均値から前記所定番号を引くと共に、前記最大輝度差分値を有する方向の画素の番号を加えることにより、前記注目画素における輝度勾配方向を検出する輝度勾配方向計算部とを有することを特徴とする輝度勾配方向検出器。
【請求項2】
画像データ中の注目している注目画素について、当該注目画素における輝度勾配方向を演算する演算装置を備えた輝度勾配方向検出器において、
前記演算装置は、
前記注目画素を囲む8つの画素に時計回りに順に番号を割り振る画素番号設定部と、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求める輝度差分値計算部と、
8つの前記輝度差分値から最大となる最大輝度差分値を求める最大輝度差分値検出部と、
前記最大輝度差分値を有する方向の画素の番号と当該番号の両隣の番号について、前記最大輝度差分値と前記両隣の方向の輝度差分値を重みとして、番号の重み付き平均値を求める重み付き平均計算部と、
前記番号の重み付き平均値を前記注目画素における輝度勾配方向として検出する輝度勾配方向計算部とを有することを特徴とする輝度勾配方向検出器。
【請求項3】
請求項1又は請求項2に記載の輝度勾配方向検出器において、
前記輝度差分値計算部は、前記輝度差分値を求める際、任意の方向の画素及び当該画素の両隣の画素の輝度値の和と、当該複数の画素の点対称位置にある他の画素及び当該他の画素の両隣の画素の輝度値の和との差分を用いることを特徴とする輝度勾配方向検出器。
【請求項4】
請求項1から請求項3のいずれか1つに記載の輝度勾配方向検出器において、
前記演算装置は、
更に、検出した前記輝度勾配方向を360度の角度方向へ換算して出力する角度換算部を有することを特徴とする輝度勾配方向検出器。
【請求項5】
画像データ中の注目している注目画素を囲む8つの画素に時計回りに順に番号を割り振り、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求め、
8つの前記輝度差分値から最大となる最大輝度差分値を求め、
前記最大輝度差分値を有する方向の画素が最小値及び最大値を除く所定番号となるように、前記8つの画素に時計回りに順に仮番号を振り直し、
前記所定番号と前記所定番号の両隣の画素の仮番号について、前記最大輝度差分値と前記両隣の画素の輝度差分値を重みとして、仮番号の重み付き平均値を求め、
前記仮番号の重み付き平均値から前記所定番号を引くと共に、前記最大輝度差分値を有する方向の画素の番号を加えることにより、前記注目画素における輝度勾配方向を検出することを特徴とする輝度勾配方向検出方法。
【請求項6】
画像データ中の注目している注目画素を囲む8つの画素に時計回りに順に番号を割り振り、
前記注目画素を囲む8つの画素の輝度値から、前記注目画素を中心とする8つの点対称方向の画素間の輝度差分値を求め、
8つの前記輝度差分値から最大となる最大輝度差分値を求め、
前記最大輝度差分値を有する方向の画素の番号と当該番号の両隣の番号について、前記最大輝度差分値と前記両隣の方向の輝度差分値を重みとして、番号の重み付き平均値を求め、
前記番号の重み付き平均値を前記注目画素における輝度勾配方向として検出することを特徴とする輝度勾配方向検出方法。
【請求項7】
請求項5又は請求項6に記載の輝度勾配方向検出方法において、
前記輝度差分値を求める際、任意の方向の画素及び当該画素の両隣の画素の輝度値の和と、当該複数の画素の点対称位置にある他の画素及び当該他の画素の両隣の画素の輝度値の和との差分を用いることを特徴とする輝度勾配方向検出方法。
【請求項8】
請求項5から請求項7のいずれか1つに記載の輝度勾配方向検出方法において、
更に、検出した前記輝度勾配方向を360度の角度方向へ換算して出力することを特徴とする輝度勾配方向検出方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−118854(P2012−118854A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−269190(P2010−269190)
【出願日】平成22年12月2日(2010.12.2)
【出願人】(000006105)株式会社明電舎 (1,739)
【Fターム(参考)】
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願日】平成22年12月2日(2010.12.2)
【出願人】(000006105)株式会社明電舎 (1,739)
【Fターム(参考)】
[ Back to top ]