(58)【調査した分野】(Int.Cl.,DB名)
前記探索手段は、前記保持手段が前記位置情報を保持した後、前記画素の集合からなる領域を除いて前記探索を再開することを特徴とする請求項1に記載の画像処理装置。
【発明を実施するための形態】
【0009】
以下、この発明の実施形態を図面に基づいて説明する。この実施形態においては、形状認識処理をデジタルカメラ100が行う場合を例にとって説明する。
図1に示すように、デジタルカメラ100は、撮像部110と画像処理部120とインターフェース部130とを備える撮像装置である。
【0010】
撮像部110は、光学装置111とイメージセンサ112とを備え、デジタルカメラ100における撮像動作を行う。
光学装置111は、レンズ、絞り、シャッタ等を備える。光学装置111により、入射光が集光されるとともに、画角やピント等の光学的要素の調整が行われる。
イメージセンサ112は、CCD(Charge Coupled Device:電荷結合素子)やCMOS(Complementary Metal Oxide Semiconductor:相補型金属酸化物半導体)等から構成される。イメージセンサ112は、光学装置111によって集光された入射光に応じた電気信号を生成する。イメージセンサ112は、生成した電気信号を、アナログ信号として出力する。
【0011】
画像処理部120は、撮像部110による撮像動作によって生成された電気信号を処理して、撮像画像を示すデジタルデータを生成する。また、画像処理部120は、撮像画像に対する画像処理等を行う。画像処理部120は、制御部121と集積回路部122と記憶部123と外部記憶部124とを備える。
【0012】
制御部121は、CPU(Central Processing Unit:中央演算処理装置)等のプロセッサ及びRAM(Random Access Memory)等の主記憶装置から構成される。制御部121は、後述する記憶部123に格納されているプログラムに従って動作し、デジタルカメラ100の動作に必要な各機能を実現する。
【0013】
集積回路部122は、ADC(Analog-to-Digital Converter:アナログ−デジタル変換回路)、バッファメモリ、画像処理用のプロセッサ(いわゆる、画像処理エンジン)、YUV画像生成部等を備える。ADCは、イメージセンサ112から出力されたアナログ電気信号を、デジタル信号に変換してバッファメモリに格納する。そして、画像処理エンジンが、バッファされたデジタル信号に基づいて、撮像画像を示すデジタルデータを生成する。YUV画像生成部は、生成されたデジタルデータをYUV(輝度信号(Y)、輝度信号と青色成分の差(U)及び輝度信号と赤色成分の差(V))画像に変換する。
【0014】
記憶部123は、ROM(Read Only Memory)などの不揮発性メモリから構成される。記憶部123は、デジタルカメラ100の動作に必要なプログラムなどを記憶する。本実施形態では、記憶部123は、制御部121が読む込むプログラムや、後述する形状認識処理に用いる閾値の値を示すデータなどを記憶する。
【0015】
外部記憶部124は、SD(Secure Digital)カードなどのデジタルカメラ100に着脱可能な不揮発性メモリから構成される。デジタルカメラ100で撮像した画像は、外部記憶部124に記憶される。
【0016】
インターフェース部130は、デジタルカメラ100のユーザまたは外部装置とのインターフェースに係る構成であり、表示部131と、外部インターフェース部132と、操作部133と、を備える。
【0017】
表示部131は、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイなどから構成される。表示部131は、デジタルカメラ100を操作するために必要な各種画面、撮像部110による撮像映像をリアルタイムに映すライブビュー、撮像された撮像画像などを表示出力する。ユーザは、デジタルカメラ100の操作部133を操作し、この操作に応じた画像を表示部131で見ることができる。
【0018】
外部インターフェース部132は、USB(Universal Serial Bus)コネクタやビデオ出力端子などから構成される。外部インターフェース部132は、ケーブルを介して、外部装置であるPCなどへ撮像画像の出力や、外部モニタへ撮像画像の表示出力を行う。
【0019】
操作部133は、各種ボタンによって構成される。各種ボタンとしては、例えば、撮影動作を指示するためのシャッタボタン、デジタルカメラ100の動作モードを指定するためのモードボタン、各種設定を行うための機能ボタンなどがある。また、モードボタンとしては、例えば、形状認識処理を開始するための形状認識モードボタン(例えば、円形状のタグ認識などを行う形状認識モードに切り替えるためのボタンなど)がある。
【0020】
本実施形態では、制御部121が、記憶部123に記憶されているプログラムを実行することで、
図2に示す形状認識処理に係る各部の機能を実現する。機能としては、
図2に示すように、二値化部150、探索部160、判断部170及び保持部180を備える。また、この実施形態においては、円の形状認識を行う場合を例にとって説明する。
【0021】
二値化部150は、ライブビューの画像に対して、輝度や彩度などのパラメータの閾値を用いて画像を二値化する。なお、この実施形態においては、輝度は画像の明るさの度合いを、彩度は画像の鮮やかさの度合いを、それぞれ定義するものとする。また、輝度及び彩度の最小値は0、最大値は255である。輝度が最小値から最大値に近づく程画像が暗い状態から明るい状態になり、彩度が最小値から最大値に近づく程画像が無彩色から有彩色になる。
【0022】
ここで、二値化部150は、ライブビューの状態でユーザから形状認識モードボタンの押下があると、例えば
図3の表示部131に映る画像の二値化処理を行う。
図3に表示される画像には、例えば、所定の輝度範囲で周期的に発光色を変えながら発光する円型の可視光通信用のマーカー(IDタグともいう)141と、単純に発光する光源142と、被写体像143と、が含まれている。そして本実施形態では、二値化部150は、記憶部123が記憶する輝度及び彩度の閾値に基づいて二値化処理を行い、閾値以上を0xFFの有効画素に、閾値未満を0x00の無効画素に、それぞれした二値画像を記憶部123に記憶する。この二値化処理により、24ビットのカラー画像から1ビットの白黒画像となる。
【0023】
なお、輝度及び彩度の閾値は、マーカー141を認識させるため、形状認識の対象となる円が有彩色のカラーである場合に備えて、そのカラー全て(例えば、赤、青、黄など)を有効画素にできるような閾値に予め設定しておく。この実施形態では、一例として、輝度及び彩度の閾値は、それぞれ120及び150に設定する。
【0024】
このような、二値化部150による二値化処理により
図3の画像から
図4(a)に示す二値画像が得られる。この二値画像から、二値化処理を行う前の画像中の被写体像143と背景とが閾値未満だったので無効画像である黒に、マーカー141と光源142とが閾値以上だったので有効画素である白に、それぞれなったことが分かる。
【0025】
図2に戻って、探索部160は、二値画像において所定条件を満たす画素である有効画素を探索する。具体的には、探索部160は、
図4(b)に示すように、二値画像の左上を始点として、画素列毎に1ラインずつ順次走査していき、有効画素を探索する。
【0026】
次に、判断部170は、探索部160による有効画素の探索中に、その有効画素を検出したか否か判断する。具体的には、判断部170は、二値の値(0x00又は0xFF)のうち、無効画素を示す0x00から有効画素を示す0xFFになったか否かで探索中に有効画素を検出する。
図4(b)では、判断部170は、4ライン目の探索中に有効画素を検出している。
【0027】
次に、判断部170は、有効画素を検出したと判断すると、有効画素の集合からなる領域が可視光通信用のマーカーの形状、すなわち円であるか否かを判断する。具体的には、判断部170は、
図4(c)に示すように、有効画素を検出したマーカー141の上端と仮定して縦方向の有効画素の長さを求める。この際、判断部170は、縦方向に連続して存在する有効画素の数を計数することによって、有効画素の集合からなる領域の一方の長さを求める。そして、判断部170は、求めた縦方向の長さを直径として仮の円の縦方向の半径を求める。
【0028】
次に、判断部170は、求めた直径の中心から、
図4(d)に示すように、横方向の左右の半径を求める。この際も、判断部170は、同様に横方向の左右の有効画素の数を計数することによって横方向の半径を求める。そして、判断部170は、求めた縦方向の半径と横方向の半径とに基づいて、有効画素の集合からなる領域が概ね円であるか否か判断する。例えば、縦方向の半径と横方向の半径とが所定画素以上ずれていた場合は円でないとする。また、縦方向の直径と横方法の直径とが所定画素以上ずれているか、あるいは横方向の左右の半径のバランスが悪い(例えば、横方向の左右の半径のうち、一方の半径が他方の半径よりも所定画素以上長い場合など)も円でないと判断してもよい。これら所定画素は、検出精度に応じて自由に設定できるものとする。
【0029】
ここで、判断部170が、求めた径(直径又は半径)の長さに基づいて概ね円であると判断した場合であっても、径の大幅なずれ等により楕円を含むようなことがある。そこで、信頼性と精度を向上させる観点から、判断部170は、さらに、有効画素の集合からなる領域の面積に基づいて、円であるか否かを判断する。
【0030】
具体的には、判断部170は、
図4(e)に示すように、円の領域に接する外接四角形を設定して、その設定した外接四角形内を走査し、無効画素数と有効画素数とを計数する。そして、判断部170は、無効画素数と有効画素数とを合算した画素数を外接四角形の面積とし、有効画素数を円の面積とする。そして、判断部170は、外接四角形の面積と円の面積とから面積比率を求め、この求めた面積比率に基づいて円か否かを判断する。この判断の際、外接四角形内の円が占める一般的な面積比率を利用して上記判断を行う。
【0031】
一般的な面積比率を求めるにあたっては、まず半径rの場合、円の面積はπr
2となり、外接四角形の面積は2r×2r=4r
2となる。これら面積から、一般的な面積比率は、πr
2/4r
2=79%(小数点第一位を四捨五入)となる。この一般的な面積比率を規定の面積比率として、判断部170が求めた面積比率と比較し円か否かを判断する。この比較を行う際も、検出精度に応じて、例えば完全一致を要求したり、あるいは79%から所定の±何%かの誤差を設けてその誤差範囲内か否かで円か否かを判断してもよい。
【0032】
次に、保持部180は、判断部170が円と判断した場合、その円と判断した有効画素の集合からなる領域の位置を示す位置情報を保持する。具体的には、保持部180は、位置情報として座標や円の半径の長さなどを記憶部123に保持する。座標としては、例えば、二値画像の左上を原点として横方向をx、縦方向をy、としたときの円を構成する全ての有効画素の座標(x、y)や円周を構成する有効画素の座標などが考えられる。
【0033】
次に、判断部170は、
図4(f)に示すように、有効画素の集合からなる円の領域(マーカー141に相当)を既に検出済みの画素とし、再度この領域を走査させないよう、無効画素で書き換える。そして、探索部160は、
図4(f)に示すように、円の領域を除いて有効画素の探索を再開する。
以上が、制御部121によって実現される円の形状認識処理に係る各機能である。
【0034】
次に、円の形状認識処理の流れを
図5を参照しながら説明する。この
図5の円の形状認識処理は、ライブビューの状態でユーザから形状認識モードボタンの押下があると開始される。この際、制御部121は、円の形状認識処理に必要な閾値のデータをこの処理に係るプログラムとともに読み込む。制御部121は、読み込んだプログラムとデータとを自身のRAMに展開した後、各機能により以下の処理を順に行う。
【0035】
まず、二値化部150は、二値化処理を行う(ステップS11)。具体的には、二値化部150は、ライブビューの画像に対して、上述したように輝度や彩度などのパラメータの閾値を用いて画像を二値化する(
図4(a)参照)。
【0036】
次に、判断部170は、有効画素の検出を行う(ステップS12)。具体的には、判断部170は、探索部160によるマーカー141に相当する有効画素の探索中に、その有効画素を検出する(
図4(b)参照)。なお、判断部170は、二値画像の全画素全てについて有効画素を検出できないような場合は、円の形状認識処理を終了する。
【0037】
次に、判断部170は、仮の円の縦方向の半径を求める(ステップS13)。具体的には、判断部170は、有効画素を検出した箇所を円の上端と仮定して縦方向の有効画素の長さを求め、求めた縦方向の長さを直径として仮の円の縦方向の半径を求める(
図4(c)参照)。
【0038】
次に、判断部170は、仮の円の横方向の半径を求める(ステップS14)。具体的には、判断部170は、横方向の左右の有効画素の数を計数することによって横方向の半径を求める(
図4(d)参照)。
【0039】
次に、判断部170は、ステップS13及びS14で求めた半径は所定画素以上ずれるか否か判断する(ステップS15)。ここで、ステップS13の縦方向の半径は、縦方向の直径を二分して求めているので同じ長さである。一方で、横方向の左右の半径はそれぞれ、仮の円の中心から有効画素数を計数することで求めているので左右の半径がずれる可能性がある。そこで、このステップS15において、判断部170は、縦方向の半径に対して、横方向の左右の半径それぞれが所定画素以上ずれているか否か判断するようにする。
【0040】
ここで、判断部170は、横方向の何れの半径も縦方向の半径と所定画素以上のずれがない場合(ステップS15;No)、有効画素の集合からなる領域は概ね円であると判断してステップS16に進む。一方で、判断部170は、横方向の左右の半径のうち少なくとも一方の半径が縦方向の半径と所定画素以上ずれる場合(ステップS15;Yes)(すなわち、(1)横方向の一方の半径が縦方向の半径とずれる場合及び(2)横方向の両方の半径がいずれも縦方向の半径とずれる場合)、有効画素の集合からなる領域は円ではないとして処理を終了する。
【0041】
判断部170は、有効画素の集合からなる領域は概ね円であると判断した場合、ステップS16において円に接する外接四角形を設定する(
図4(e)参照)。
次に、判断部170は、外接四角形の面積と、円の面積と、から面積比率を求める(ステップS17)。具体的には、判断部170は、外接四角形内を走査し、無効画素数と有効画素数とを合算した画素数を外接四角形の面積、有効画素数を円の面積、とそれぞれして面積比率を求める。
【0042】
次に、判断部170は、ステップS17で求めた面積比率は規定の面積比率の誤差範囲内か否か判断する(ステップS18)。具体的には、判断部170は、ステップS17で求めた面積比率が規定の面積比率である79%からの所定の誤差範囲内か否か判断する。
ここで、判断部170が所定の誤差範囲内でないと判断すると(ステップS18;No)、ステップS15で概ね円と判断した形状は円ではないとして処理を終了する。
一方、判断部170が所定の誤差範囲内であると判断すると(ステップS18;Yes)、ステップS15で概ね円と判断した形状は円であるとして、保持部180は、円の位置情報を保持する(ステップS19)。具体的には、保持部180は、円と判断した有効画素の集合からなる領域の位置を示す位置情報である座標や円の半径の長さなどを記憶部123に保持する。
【0043】
次に、判断部170は、有効画素の集合からなる円の領域を無効画素で書き換え(ステップS20)、処理を終了する。探索部160は、この書き換えの後、円の領域を除いて有効画素の探索を再開し(
図4(f)参照)、二値画像の全画素について有効画素の探索が終了するまでステップS12乃至S20の処理を繰り返す。
【0044】
一方、ステップS15又はS18で有効画素の集合からなる領域が円ではないと判断した場合、探索部160は、円ではないと判断した領域を除いて有効画素の探索を再開し、二値画像の全画素について有効画素の探索が終了するまでステップS12乃至S20の処理を繰り返す。なお、探索部160が探索を再開する際、円ではないと判断した領域を無効画素に書き換えてもよい。
【0045】
以上、
図5の円の形状認識処理では、デジタルカメラ100の制御部121が、二値化部150、探索部160、判断部170及び保持部180の各機能を実現することにより、形状認識処理を行う対象の画像を二値画像とし、その上で面積比率に基づく簡易的な手法により画像中の形状の認識を行うことができる。このため、処理負荷が低いことから処理時間が短い。従って、画像中の形状を高速で認識することができる。
【0046】
より具体的な適用例として
図6を用いて説明すると、同図では表示部131に表示されるライブビューに他のユーザが映っているとする。この他のユーザは、端末を持っており、その端末のディスプレイには色が一定時間毎に変わる円(可視光通信用のマーカー141)が映っているとする。可視光通信では、あるパターン(例えば、赤、青、黄の順序など)で色が一定時間毎に変わる円(すなわち、彩度が規則性をもって変化する円)を認識することで、そのパターンに対応付けられた情報をデジタルカメラ100が受信することができる。このような可視光通信では、他のユーザを待たせないように、端末のディスプレイに映る円の認識は早い方が好ましい。
【0047】
このような場合に、他のユーザがライブビューに映った状態において、可視光通信を開始するための例えば可視光モードボタンをユーザが押下すると、上述した円の形状認識処理を行って高速に円の形状認識を行うことができる。なお、円の色パターンの認識は、他の公知の手法によって行う。
また、
図6の他のユーザは、可視光通信の間動く可能性があるので円を追従する必要があるが、この実施形態における円の形状認識処理によれば高速に円の検出を繰り返すことができるので、追従精度を向上することができる。
【0048】
(変形例)
以上で実施形態の説明を終了するが、デジタルカメラ100の具体的な構成や
図4及び
図5に示した円の形状認識処理の内容が上述の実施形態で説明したものに限られないことはもちろんである。
【0049】
例えば、上述した実施形態では、
図5の円の形状認識処理において、ステップS18で求めた面積比率が規定の面積比率の誤差範囲内か否かで円か否かを判断するようにしたがこれに限られない。例えば、
図4(e)の外接四角形を四分割して、それぞれの面積比率を求め、求めた面積比率がそれぞれ20%(規定の面積比率である79%の1/4を小数点第一位で四捨五入した値)になるか否かで円か否か判断するようにしてもよい。これにより、円の検出精度を向上させることができる。なお、規定の面積比率を1/4にした値に所定の誤差を設けてもよい。また、外接四角形を何分割にするかは精度に応じて任意に設定することができる。
【0050】
また、上述した実施形態では、
図5の形状認識処理のステップS15において、仮の円の縦方向と横方向の半径が所定画素以上ずれるか否かで概ね円であるか否か判断するようにしたがこれに限られない。例えば、高精度の円の検出を求められない場合は、ステップS15で処理を終了するようにしてもよい。この場合、ステップS15で円であるか否かを判断するようにする。このことにより、ステップS16乃至S20の処理を省くことができるので、形状認識処理をさらに高速に行うことができる。
【0051】
また、上述した実施形態では、
図5の円の形状認識処理の後、円であると判断した場合はその円の領域を除いて有効画素の探索を行うようにしたがこれに限られない。例えば、円であると判断した場合は、
図7に示すように、外接四角形の領域を除いて有効画素の探索を行うようにしてもよい。このことにより、走査範囲を削減することができるので高速に残りの有効画素の探索を行うことができる。
なお、円であると判断した場合に行う探索を、円又は外接四角形の領域を除いて行う場合を例にとって説明したが、円又は外接四角形のあった領域(無効画素で書き換えた領域)について再度走査することを妨げるものではない。
【0052】
また、上述した実施形態では、円の形状認識処理について説明したがこれに限られない。例えば、別の形状として正方形の形状認識処理を行ってもよい。この場合、
図8に示すように、有効画素を検出すると、検出した箇所から縦方向の有効画素数を計数して一辺の長さを求め、かつ横方向の別の一辺の長さを求める。求めた一辺の長さと別の一辺の長さとのバランス(例えば、所定画素以上のずれがあるかなど)により2辺の長さが概ね等しいか否か判断する。2辺の長さが概ね等しければ、仮の正方形として有効画素数を全て計数して求めた仮の正方形の面積と、1辺の長さ×2により求めた正方形の面積と、を比較することで正方形か否か判断するようにする。
【0053】
また、上述した実施形態では、YUV色空間であることを前提に説明したがこれに限られない。例えば、RGB色空間でもよい。この場合、二値化処理に用いる閾値のパラメータは、輝度に代えて明度を用いるようにする。
【0054】
また、上述した実施形態では、デジタルカメラ100であることを前提に説明したがこれに限られない。例えば、携帯端末(スマートフォンなど)が
図1に示した画像処理部120を備え、上述した円の形状認識処理を行ってもよい。この場合、
図6に示した他のユーザが持つ端末が携帯端末である場合、携帯端末同士での可視光通信に形状認識処理を適用することができる。例えば、円の色パターンに対応付けられた情報(他のユーザの個人情報(電話番号やアドレスなど)あるいは送信したいメッセージなど)をユーザが持つ携帯端末で受信することができる。
【0055】
また、この発明の画像処理部120の形状認識処理は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。
具体的には、上記実施形態では、形状認識処理に係る各機能を実現するためのプログラムが、記憶部123に予め記憶されているものとして説明した。しかし、
図2の各部の機能を実現させるためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disk)及びMO(Magneto-Optical Disk)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の各部の機能を実現することができるコンピュータを構成してもよい。
また、プログラムをインターネット等の通信ネットワーク上のサーバ装置が有するディスク装置等に格納しておき、例えば、コンピュータがダウンロード等することができるようにしてもよい。
【0056】
以上、本発明の実施形態について説明したが、この実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態をとることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下に、本願出願当初の特許請求の範囲に記載された発明を付記する。
【0057】
(付記1)
画像を取得する画像取得手段と、
前記画像取得手段により取得した前記画像において所定条件を満たす画素を探索する探索手段と、
前記探索手段による探索中に、前記所定条件を満たす画素を検出したか否かを判断する第1の判断手段と、
前記第1の判断手段により前記所定条件を満たす画素を検出したと判断すると、該画素の集合からなる領域が特定の形状を有するか否かを判断する第2の判断手段と、
前記第2の判断手段により前記特定の形状を有すると判断すると、前記画素の集合からなる領域の位置を示す位置情報を保持する保持手段と、
を備えたことを特徴とする画像処理装置。
【0058】
(付記2)
前記探索手段は、前記保持手段が前記位置情報を保持した後、前記画素の集合からなる領域を除いて前記探索を再開することを特徴とする付記1に記載の画像処理装置。
【0059】
(付記3)
前記第2の判断手段は、前記所定条件を満たす画素から所定方向へ連続して存在する前記画素と同じ条件の画素数を計数することで、前記領域の一方の方向の長さを取得し、該取得した長さが前記領域の他の方向の長さと特定の条件を満たしているか否かを判断することで、前記特定の形状を有するか否かを判断することを特徴とする付記1又は2に記載の画像処理装置。
【0060】
(付記4)
前記他の方向は、前記一方の方向の中心と直行する方向であり、
前記特定の条件は、前記一方の方向の長さと前記他方の方向の長さとの差が所定の差以内であることが条件であることを特徴とする付記3に記載の画像処理装置。
【0061】
(付記5)
前記画像取得手段は、逐次画像を取得し、
前記特定の形状を有する領域は、前記逐次取得された画像において少なくとも彩度が規則性をもって変化する領域であることを特徴とする付記1乃至4の何れか一つに記載の画像処理装置。
【0062】
(付記6)
画像を取得する画像取得ステップと、
前記画像取得ステップにより取得した前記画像において所定条件を満たす画素を探索する探索ステップと、
前記探索ステップによる探索中に、前記所定条件を満たす画素を検出したか否かを判断する第1の判断ステップと、
前記第1の判断ステップにより前記所定条件を満たす画素を検出したと判断すると、該画素の集合からなる領域が特定の形状を有するか否かを判断する第2の判断ステップと、
前記第2の判断ステップにより前記特定の形状を有すると判断すると、前記画素の集合からなる領域の位置を示す位置情報を保持する保持ステップと、
を備えたことを特徴とする画像処理方法。
【0063】
(付記7)
コンピュータを、
画像を取得する画像取得手段、
前記画像取得手段により取得した前記画像において所定条件を満たす画素を探索する探索手段、
前記探索手段による探索中に、前記所定条件を満たす画素を検出したか否かを判断する第1の判断手段、
前記第1の判断手段により前記所定条件を満たす画素を検出したと判断すると、該画素の集合からなる領域が特定の形状を有するか否かを判断する第2の判断手段、
前記第2の判断手段により前記特定の形状を有すると判断すると、前記画素の集合からなる領域の位置を示す位置情報を保持する保持手段、
として機能させるためのプログラム。