(57)【要約】【課題】検出対象に含まれる円形状を検出する。【解決手段】画像情報から抽出したエッジ上に指定した複数の画素を中心としかつエッジの半径と同じ半径の仮想円を求めて当該仮想円を構成する画素について投票パラメータ空間に投票し、又は画像情報から抽出したエッジ上に指定した複数の画素を通る法線についてエッジから当該エッジの半径と同じ長さ位置を端点として求めて当該端点の画素について投票パラメータ空間に投票し、投票数が十分に大きい画素の位置をエッジの中心位置として判定し、補助投票空間の投票数データのうち、最大値投票数データ及び極大値投票数データを抑制空間に取り込んで検出対象円の中心位置を抽出するようにしたことにより、検出対象の円形状を一段と高速度で検出することができる。【選択図】図５
2009009539.tif 000002
【特許請求の範囲】
【請求項１】
円形状を含む検出対象の画像情報からエッジを抽出する手段と、
上記エッジ上の画素を中心とし任意半径の仮想円を求める手段と、
上記仮想円を構成する画素についてそれぞれ投票パラメータ空間に投票する手段と、
上記投票パラメータ空間における上記画素に対応する投票数のうち、投票累算数が十分大きい画素の位置を上記エッジの中心位置と判定する手段と
を具えることを特徴とする円形状検出装置。
【請求項２】
円形状を含む検出対象の画像情報からエッジを抽出する手段と、
上記エッジ上の画素を中心としかつ既知の半径と同じ半径の仮想円を求める手段と、
上記仮想円を構成する画素についてそれぞれ投票パラメータ空間に投票する手段と、
上記投票パラメータ空間における上記画素に対応する投票数のうち、投票累算数が十分大きい画素の位置を上記エッジの中心位置と判定する手段と
を具えることを特徴とする円形状検出装置。
【請求項３】
円形状を含む検出対象の画像情報からエッジを抽出する手段と、
上記エッジ上の画素を通る法線を求める手段と、
上記エッジ画素を通る上記法線について任意の半径と同じ長さ位置を端点として求める手段と、
上記法線を構成する画素についてそれぞれ投票パラメータ空間に投票する手段と、
上記投票パラメータ空間における上記画素に対応する投票数のうち、投票累算数が十分大きい画素の位置を上記エッジの中心位置と判定する手段と
を具えることを特徴とする円形状検出装置。
【請求項４】
円形状を含む検出対象の画像情報からエッジを抽出する手段と、
上記エッジ上のすべての画素を通る法線を求める手段と、
上記エッジ画素を通る上記法線について既知の半径と同じ長さ位置を端点として求める手段と、
上記端点に対応する画素についてそれぞれ投票パラメータ空間に投票する手段と、
上記投票パラメータ空間における上記画素に対応する投票数のうち、投票累算数が十分大きい画素の位置を上記エッジの中心位置と判定する手段と
を具えることを特徴とする円形状検出装置。
【請求項５】
投票パラメータ空間の投票数データを画素ごとに取り込んで補助投票空間を形成する手段と、
上記補助投票空間の投票数データのうち、最大値投票数データ及び極大値投票数データを取り込んで抑制空間を形成する手段と、
上記抑制空間に取り込んだ上記最大値投票数データ及び極大値投票数データからそれぞれ検出対象円の中心位置を抽出する手段と
を具えることを特徴とする円形状検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は円形状検出装置に関し、例えば円形粒状物の外径や、孔の内径を検出する場合に適用し得るものである。
【背景技術】
【０００２】
この種の円形状検出方法として、検出対象を撮像装置によって撮像することにより平面的な画像情報を得、当該画像情報をハフ変換の手法を用いて検出対象物の中心を求めるものが提案されている（特許文献１及び２参照）。
【特許文献１】特開２００２−１８３７３９公報
【特許文献２】特開２００３−６５７２９公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ハフ変換を用いるこの種の従来の形状検出方法においては、ハフ変換処理の際に、大量のデータ処理演算を行う必要があり、当該データ処理量を簡略化できれば、形状検出速度を一段と高速化できると考えられる。
【０００４】
例えば固−液二層粒体面輸送を行う場合や、粒子の空間分布に関するデータベースを構築するような場合に、高速度に円球状固体粒子の中心位置を解析できれば、運動している粒子の位置をほぼリアルタイムで追跡するようなこともできるから、有用性の大きい検出手段を得ることができると考えられる。
【０００５】
本発明は以上の点を考慮してなされたもので、検出対象のエッジ画像から効率良く円形状を求めることができるようにした円形状検出装置を提案しようとするものである。
【課題を解決するための手段】
【０００６】
かかる課題を解決するため本発明においては、円形状を含む検出対象の画像情報Ｓ２からエッジ１４Ａを抽出する手段ＳＰ１と、エッジ１４Ａ上に指定した複数の画素Ａ（Ｘａ，Ｙａ）、Ｂ（Ｘｂ，Ｙｂ）を中心としかつエッジ１４Ａの半径ｒと同じ半径の仮想円１５Ａ、１５Ｂを求める手段ＳＰ３と、仮想円１５Ａ、１５Ｂを構成する画素についてそれぞれ投票パラメータ空間３０に投票する手段と、投票パラメータ空間３０における画素に対応する投票数のうち、投票累算数が十分大きい画素の位置をエッジ１４Ａの中心位置と判定する手段ＳＰ７とを設けるようにする。
【０００７】
また、円形状検出対象を含む画像情報Ｓ２からエッジ１４Ａを抽出する手段ＳＰ１と、エッジ１４Ａ上に指定した複数の画素を通る法線４３Ａ、４３Ｂを求める手段ＳＰ１１と、エッジ１４Ａを通る法線４３Ａ、４３Ｂについてエッジ１４Ａから当該エッジ１４Ａの半径ｒと同じ長さ位置を端点Ｏ（Ｘｃ，Ｙｃ）とＰ（Ｘｐ，Ｙｐ）として求める手段ＳＰ１３と、端点Ｏ（Ｘｃ，Ｙｃ）とＰ（Ｘｐ，Ｙｐ）に対応する画素についてそれぞれ投票パラメータ空間４０に投票する手段と、投票パラメータ空間４０における画素に対応する投票数のうち、投票累算数が十分大きい画素の位置をエッジ１４Ａの中心位置と判定する手段ＳＰ７とを設けるようにする。
【０００８】
さらに、検出対象の画像情報Ｓ２から円形状のエッジ１４Ａを抽出する手段ＳＰ１と、エッジ１４Ａ上に指定した複数の画素を通る法線４３Ａ、４３Ｂを求める手段と、エッジ１４Ａを通る法線４３Ａ、４３Ｂを構成する画素を求める手段ＳＰ１４と、法線４３Ａ、４３Ｂを構成する画素についてそれぞれ投票パラメータ空間４１に投票する手段ＳＰ４と、投票パラメータ空間４１における画素に対応する投票数のうち、投票累算数が十分大きい画素の位置をエッジ１４Ａの中心位置と判定する手段ＳＰ７とを設けるようにする。
【０００９】
さらに、投票パラメータ空間３０の投票数データを画素ごとに取り込んで補助投票空間ＳＶＳを形成する手段ＳＰ１１と、補助投票空間ＳＶＳの投票数データのうち、最大値投票数データＤＴ５６及び極大値投票数データＤＴ５４を取り込んで抑制空間ＳＳを形成する手段ＳＰ１１と、抑制空間ＳＳに取り込んだ最大値投票数データＤＴ５６及び極大値投票数データＤＴ５４からそれぞれ検出対象円の中心位置を抽出する手段ＳＰ２２とを設けるようにする。
【発明の効果】
【００１０】
本発明によれば、画像情報から抽出したエッジ上に指定した複数の画素を中心としかつエッジの半径と同じ半径の仮想円を求めて当該仮想円を構成する画素について投票パラメータ空間に投票し、又は画像情報から抽出したエッジ上に指定した複数の画素を通る法線についてエッジから当該エッジの半径と同じ長さ位置を端点として求めて当該端点の画素について投票パラメータ空間に投票し、投票数が最大の画素の位置をエッジの中心位置として判定し、補助投票空間の投票数データのうち、最大値投票数データ及び極大値投票数データを抑制空間に取り込んで検出対象円の中心位置を抽出するようにしたことにより、検出対象の円形状を一段と高速度で検出することができる。
【発明を実施するための最良の形態】
【００１１】
以下図面について、本発明の一実施の形態を詳述する。
【００１２】
（１）第１の実施の形態
図１において、１は全体として円形状検出装置を示し、中央処理ユニット（ＣＰＵ）２は、バス３を介して入力部４からユーザによって入力される指令信号に基づいてプログラムメモリ５に格納されているプログラムをワークメモリ６を用いて演算処理を実行することにより、図２に示す円形状検出処理手順ＲＴ１に従って、円形状を有する粒子の形状及び中心位置をハフ（Ｈｏｕｇｈ）変換を用いて検出する。
【００１３】
ＣＰＵ２は円形状検出処理手順ＲＴ１に入ると、まずステップＳＰ１において画像情報からエッジを抽出する。
【００１４】
この処理は、検出対象として、液体と一緒に流れる固体粒子の映像を、撮像手段１１としてのカメラによって撮像し、その映像信号Ｓ１を画像処理部１２に入力することにより、当該映像内容をＸＹ平面上のドットの明るさによって表す画像データＳ２を得、これを画像メモリ１３に取り込む。
【００１５】
画像データＳ２には、液体中に含まれている円形状の粒子の画像情報としての画像データを含んでおり、ＣＰＵ２は画像メモリ１３に取り込まれた画像データＳ２をエッジ抽出部２１に送って、図３に示すように、粒子１４の固体界面における明るさの変化に基づいて粒子１４の画像のエッジ１４Ａの画素位置を表すエッジデータＳ３を抽出させてエッジデータメモリ２２に保存する。
【００１６】
続いてＣＰＵ２はステップＳＰ２において、粒子１４のエッジ１４Ａを構成する画素に基づいて、ハフ変換の手法を用いて粒子１４の中心Ｏ（Ｘｃ，Ｙｃ）を含む粒子１４の円形状を判定する処理を行う際に用いる、図４に示すような投票パラメータ空間３０を投票データメモリ２３に準備する。
【００１７】
投票パラメータ空間３０への投票は、図３に示す原理に基づいて行う。
【００１８】
この実施の形態の場合、粒子１４のエッジ１４Ａは円形状（真円ないしその一部が変形した形状を含む）を有し、半径ｒは既知の値として与えられている。
【００１９】
そこで、エッジ１４Ａ上の２点Ａ（Ｘａ，Ｙａ）及びＢ（Ｘｂ，Ｙｂ）の画素を中心とする半径ｒの２つの仮想円１５Ａ及び１５Ｂを求めると、当該２つの仮想円１５Ａ及び１５Ｂは粒子１４のエッジ１４Ａ内の領域において、中心Ｏ（Ｘｃ，Ｙｃ）の画素位置において交差する関係になる。
【００２０】
この関係は、エッジ１４Ａが真円であれば、エッジ１４Ａ上に任意の２点を指定して２つの仮想円を求めた場合にも成り立つ。
【００２１】
そこでＣＰＵ２は、ステップＳＰ３において、エッジ１４Ａ上にすべての画素の点を順次指定し、当該指定した点の画素位置について多数の仮想円１５Ａ及び１５Ｂを計算し、続くステップＳＰ４において、当該多数の仮想円１５Ａ及び１５Ｂが通るすべての画素について、仮想円１５Ａ及び１５Ｂが通った回数を表す累算数をハフ変換結果として投票データメモリ２３に準備した投票パラメータ空間３０に投票する。
【００２２】
投票パラメータ空間３０は、図３のＸＹ画像データ平面の画素と対応する投票画素平面３０Ａを有し、図３においてＣＰＵ２が仮想円１５Ａ及び１５Ｂを求めたとき当該円が通る画素に対応する投票画素位置に、円が通るごとに１票ずつ投票数を累算して行くようなハフ変換を行う。
【００２３】
かかる投票パラメータ空間への投票処理に続いて、ＣＰＵ２はステップＳＰ５においてエッジ１４Ａ上の全部の画素を指定したか否かの判断をし、否定結果が得られたとき、上述のステップＳＰ３に戻って新たに指定した画素を中心として仮想円を計算した後ステップＳＰ４における投票パラメータ空間への投票処理を繰り返す。
【００２４】
以下同様にしてＣＰＵ２はステップＳＰ５において肯定結果が得られるまでステップＳＰ５−ＳＰ３−ＳＰ４−ＳＰ５のループの処理を繰り返す。
【００２５】
やがてステップＳＰ５において肯定結果が得られると、このことは粒子１４のエッジ１４Ａ上に予定した全部の画素についての仮想円の演算及びその各点における画素についての投票パラメータ空間への投票が終了したことを意味するので、このときＣＰＵ２はステップＳＰ６に移って投票パラメータ空間３０の投票結果を表示部２４（図１）に表示し、これによりユーザが図４に示す投票パラメータ空間３０の累算結果を目視確認し得る状態になる。
【００２６】
ここで投票パラメータ空間３０は、投票画素平面３０Ａ上の座標位置にある画素についてその投票数（すなわち累算結果）をＺ軸方向に立ち上がる斜視画像を表すような画面を構成しており、これにより仮想円１５Ａ及び１５Ｂが通った累算結果が画像データ平面（図３）の画素ごとに立体的に表示できる。
【００２７】
図３の実施の形態の場合、エッジ１４Ａ上に指定した画素を中心とする半径ｒの仮想円１５Ａ及び１５Ｂは原則としてそのすべてが中心Ｏ（Ｘｃ，Ｙｃ）を通るはずであるから投票パラメータ空間３０（図４）において中心Ｏ（Ｘｃ，Ｙｃ）の画素位置において累算数が十分に大きいピーク３０Ｂが生ずることになる。
【００２８】
実際には粒子１４のエッジ１４Ａはエッジ抽出部２１におけるエッジ抽出処理によって得るものであるので、エッジ１４Ａを構成する画素は必ずしも真円上にはあらず、真円の外側又は内側にばらついた画素のもある。
【００２９】
従って、ピーク３０Ｂは、真円の中心Ｏ（Ｘｃ，Ｙｃ）を中心として、高さが低くなればなるほど太くなるような立体像になるが、仮想円１５Ａ及び１５Ｂが真円の中心Ｏ（Ｘｃ，Ｙｃ）を通る確率が最も高いので、ピーク３０Ｂの先端の画素位置が真円の中心Ｏ（Ｘｃ，Ｙｃ）を表していることになる。
【００３０】
ＣＰＵ２は続くステップＳＰ７において図４の投票パラメータ空間３０の投票結果に基づいて、検出対象としての粒子１４の中心位置Ｏ（Ｘｃ，Ｙｃ）を、投票累算数が十分大きい画素位置として表わす円形状を検出した後、ステップＳＰ８において当該円形状検出処理手順ＲＴ１の処理を終了する。
【００３１】
以上の構成において、ＣＰＵ２は撮像手段１１及び画像処理部１２によって得た画像データＳ２に基づいてエッジ抽出部２１において抽出されたエッジデータＳ３をステップＳＰ１において得た後、ステップＳＰ２において投票データメモリ２３に準備された投票パラメータ空間３０を利用して、ステップＳＰ３においてエッジ１４Ａ上に順次指定した画素の仮想円が通る位置を投票パラメータ空間３０に投票することにより、投票パラメータ空間３０上の粒子１４の中心位置にピーク３０Ｂを形成することができ、かくして当該ピーク３０Ｂの画素位置を粒子１４の中心Ｏ（Ｘｃ，Ｙｃ）として検出することができる。
【００３２】
投票パラメータ空間３０のピーク３０Ｂ以外の画素部分の投票結果は、エッジ１４Ａ上に順次指定した画素を中心とする半径ｒの位置情報の累算結果であるので、エッジ１４Ａの形状についての情報を含んでおり、かくして中心Ｏ（Ｘｃ，Ｙｃ）の投票結果と共に、粒子１４の円形状を表している。
【００３３】
以上の構成によれば、粒子１４の中心Ｏ（Ｘｃ，Ｙｃ）を検出するにつき、粒子１４のエッジ１４Ａに順次指定した画素を中心とする仮想円の通る位置を投票パラメータ空間３０に投票する簡易な処理によって求めることができる。
【００３４】
このとき必要とされるデータ処理量は十分に小規模化できるので、例えば撮像手段１１によって撮像する撮像対象である固−液二層流体であったとしても、粒体と一緒に流れる粒子１４の中心位置を時間の経過に従って時々刻々検出することができる。
【００３５】
これにより複雑な二層流体の粒子の動きを高速度かつ精度良く検出することができる。
【００３６】
（２）第２の実施の形態
図５〜図９は第２の実施の形態を示すもので、この場合円形状検出装置１（図１）のＣＰＵ２は図５の円形状検出処理手順ＲＴ２を実行する。
【００３７】
この場合ＣＰＵ２は、図２との対応部分に同一符号を付して示すように、図２のステップＳＰ３に代えてステップＳＰ１１〜ＳＰ１４を実行するような処理を行う。
【００３８】
すなわち、ＣＰＵ２は円形状検出処理手順ＲＴ２に入ると、ステップＳＰ１においてエッジ抽出部２１によって、図６に示すように、粒子１４のエッジ１４Ａを抽出すると共に、ステップＳＰ２において投票データメモリ２３に、図７及び図９に示す投票パラメータ空間４０及び４１を準備する。
【００３９】
続いてＣＰＵ２はステップＳＰ１１に移ってエッジ１４Ａ上に順次指定したエッジ画素のグラディエントを求めた後、ステップＳＰ１２において半径が既知か否かの判断をする。
【００４０】
ここで肯定結果が得られたとき、このことは粒子１４の半径ｒが既知であることを意味し、このときＣＰＵ２はステップＳＰ１３に移って当該指定したエッジ画素を通る法線の両端位置を求める。
【００４１】
ここで図６に示すように、エッジ１４Ａが真円である場合、エッジ１４Ａ上の点Ａ（Ｘａ，Ｙａ）を指定して上述のステップＳＰ１１におけるグラディエントの演算をすることにより求めた法線４３Ａは、エッジ１４Ａの中心Ｏ（Ｘｃ，Ｙｃ）を通るが、当該指定したＡ（Ｘａ，Ｙａ）を中心としてエッジ１４Ａの内側に距離ｒを取った点（すなわち中心Ｏ（Ｘｃ，Ｙｃ））と、外側に距離ｒだけ離れた仮想点Ｐ（Ｘｐ，Ｙｐ）を求める。
【００４２】
ここでＣＰＵ２のグラディエント演算は、エッジ抽出部２１においてエッジデータＳ３を求める際に次式
【００４３】
【数１】
2009009539.tif 000003
【００４４】
として得られる。
【００４５】
（１）式においてｆ（ｘ，ｙ）はＸＹ座標（図６）上における画像の明るさの関数であり、ｕｘ及びｕｙは、それぞれＸ及びＹ方向の単位ベクトルである。
【００４６】
図６の円形状のエッジ１４Ａの場合、（１）式のグラディエント∇ｆ（ｘ，ｙ）は、エッジ１４Ａにおける法線方向のベクトルを表している。
【００４７】
そこでステップＳＰ１３において用いる法線４３Ａは、（１）式のグラディエントベクトルを求めることになり、その法線４３Ａ上に指定したエッジ画素Ａ（Ｘａ，Ｙａ）から内方向及び外方向に半径ｒだけ離れた位置が中心Ｏ（Ｘｃ，Ｙｃ）及び仮想点Ｐ（Ｘｐ，Ｙｐ）になる。
【００４８】
この両端位置Ｏ（Ｘｃ，Ｙｃ）及びＰ（Ｘｐ，Ｙｐ）を求めた後、ＣＰＵ２はステップＳＰ４に移って当該両端位置について投票パラメータ空間４０（図７）への投票を行う。
【００４９】
かくして１つの指定したエッジ画素Ａ（Ｘａ，Ｙａ）についての投票パラメータ空間４０への投票が済むと、ＣＰＵ２はステップＳＰ５の判断を経て上述のステップＳＰ１１に戻って次に指定したエッジ画素Ｂ（Ｘｂ，Ｙｂ）のグラディエントを求めた後、ステップＳＰ１２を通ってステップＳＰ１３において当該新たに指定したエッジ画素Ｂ（Ｘｂ，Ｙｂ）を通る法線４３Ｂの両端位置Ｏ（Ｘｃ，Ｙｃ）及びＱ（Ｘｑ，Ｙｑ）を求め、当該両端位置Ｏ（Ｘｃ，Ｙｃ）及びＱ（Ｘｑ，Ｙｑ）についてステップＳＰ４において投票パラメータ空間４０に投票を行う。
【００５０】
かくしてエッジ１４Ａ上に順次指定されるエッジ画素についてステップＳＰ１１−ＳＰ１２−ＳＰ１３−ＳＰ４−ＳＰ５−ＳＰ１１のループについて繰り返し演算をして行くことにより、投票パラメータ空間４０にエッジ１４Ａ上のすべての点についての法線４３Ｂ上の両端位置Ｏ（Ｘｃ，Ｙｃ）及びＱ（Ｘｑ，Ｙｑ）が投票パラメータ空間４０に投票されることになる。
【００５１】
このようにして投票パラメータ空間４０に投票された法線４３Ａ及び４３Ｂの両端位置の画素は、エッジ１４Ａが真円である場合内側の点はすべて中心Ｏ（Ｘｃ，Ｙｃ）と一致するのに対して、外側の仮想点Ｐ（Ｘｐ，Ｙｐ）及びＱ（Ｘｑ，Ｙｑ）は互いに重ならないことになる。
【００５２】
かくしてＣＰＵ２は、ステップＳＰ５においてすべての画素を指定したことを確認すると、ステップＳＰ６において投票パラメータ空間４０（図７）の投票結果を表示部２４に表示する。
【００５３】
この表示結果は図７に示すように、原則として真円のエッジ１４Ａ上の点を指定したとき中心Ｏ（Ｘｃ，Ｙｃ）の画素への投票が最多となるのに対して、真円のエッジ１４Ａからずれた位置を指定する可能性もあるので、投票結果は真円の中心Ｏ（Ｘｃ，Ｙｃ）においてピーク４０Ｂが形成されるのに対して、その周囲に投票画素平面４０Ａに近づくに従って太くなるような累算結果が得られる。
【００５４】
これに対して外側の仮想点Ｐ（Ｘｐ，Ｙｐ）及びＱ（Ｘｑ，Ｙｑ）の画素位置には低い外側投票数４０Ｃが表示されることになる。
【００５５】
以上の構成によれば、粒子１４の半径ｒが既知の場合は、エッジ１４Ａ上に順次指定される画素について投票パラメータ空間４０に投票される画素の数は２つだけであるので、データの処理量がさらに一段と少なくなることにより粒子１４の中心位置の検出をさらに一段と高速になし得ることにより、たとえ粒子１４が移動しているとしても、高い即時性がこれに追従して検出することができる。
【００５６】
これに対して粒子１４の半径が未知の場合、ＣＰＵ２はステップＳＰ１２において否定結果を得ることによりステップＳＰ１４に移って、図８に示すように、最初にエッジ１４Ａ上に指定したエッジ画素Ｄ（Ｘｄ，Ｙｄ）を通る法線４４Ａ上のすべての点を求めた後、ステップＳＰ４において当該すべての点について図９に示す投票パラメータ空間４１に投票する。
【００５７】
以下同様にしてエッジ１４Ａ上にその後順次指定した画素Ｅ（Ｘｅ，Ｙｅ）についてステップＳＰ１１−ＳＰ１２−ＳＰ１４−ＳＰ４−ＳＰ５−ＳＰ１１のループの処理を繰り返すことにより、図９に示すような投票パラメータ空間４１の投票結果が得られる。
【００５８】
この場合図８の法線４４Ａ及び４４Ｂの長さは、検出しようとする粒子１４のうち最も大きな粒子の直径より長い大きさに選定されており、これにより検出対象を流れるすべての粒子１４の中心Ｏ（Ｘｃ，Ｙｃ）位置を検出することができる。
【００５９】
これに加えて、中心Ｏ（Ｘｃ，Ｙｃ）の周囲の領域のうち、エッジ１４Ａの内側の領域において粒子１４の明るさ情報に基づいてその円形状についての投票結果が得られると共に、エッジ１４Ａの外側の領域において粒子１４の外側の明るさ情報に基づいて粒子１４の円形状についての投票結果が得られる。
【００６０】
かくして粒子１４の半径が未知の場合においても、投票パラメータ空間４１には図９に示すように投票画素平面４１Ａ上の中心Ｏ（Ｘｃ，Ｙｃ）の画素位置にピーク４１Ｂの斜視画像を表す投票結果を表示部２４に表示することができる。
【００６１】
この結果粒子１４の半径が未知の場合にも、エッジ１４Ａ上に順次指定した画素Ｄ（Ｘｄ，Ｙｄ）及びＥ（Ｘｅ，Ｙｅ）を通る法線４４Ａ及び４４Ｂが通る画素に対応する投票パラメータ空間４１の投票画素平面４１Ａに単純に投票して行くような処理をするだけの少ないデータ処理量で、粒子１４の中心並びに粒子１４の円形状を判知し得るエッジ１４Ａの内側及び外側の明るさ情報を表す投票結果を得ることができる。
【００６２】
この結果粒子１４の半径が未知な場合であっても高速度に粒子１４の円形状を高速度で検出することができる。
【００６３】
（３）第３の実施の形態
図１１は、第３の実施の形態を示すもので、この場合の円形状検出処理手順ＲＴ１Ｘは、図２について上述した場合と比較して、検出対象である粒子１４の半径ｒが既知であったのに対して、既知ではない場合に適用するものである。
【００６４】
図１１において、図２との対応部分に同一符号を付して示すと共に図２の場合と比較して処理内容を変更する処理ステップについて添付符号Ｘを付して示すように、ＣＰＵ２は画像データＳ２から粒子１４のエッジ１４Ａを抽出してエッジデータＳ３を得る（ステップＳＰ１）と共に、投票パラメータ空間３０（図１３）を準備した後（ステップＳＰ２）、ステップＳＰ３Ｘに移ってエッジ１４Ａ上に指定した画素を中心とする、想定した１つの半径ｒｖの仮想円１５Ａ及び１５Ｂ（図１２）を計算する。
【００６５】
ここで、仮想円１５Ａ及び１５Ｂの半径ｒｖは、図２の処理の場合には既知の値として特定できるのに対して、図１２の場合には、検出すべき粒子１４の半径ｒｖ  は既知ではないが、想定できる複数の値を用いる。
【００６６】
ＣＰＵ２は、ステップＳＰ３Ｘにおいて当該想定した複数の半径ｒｖの１つを特定して仮想円１５Ａ及び１５Ｂの計算をした後、ステップＳＰ４において、投票パラメータ空間４０の投票画素平面３０Ａ上の当該計算した仮想円１５Ａ及び１５Ｂの画素に投票をする。
【００６７】
ＣＰＵ２は、次のステップＳＰ５Ｘ１において、エッジ１４Ａ上の全部の画素を指定したか否かを確認し、否定結果が得られたときにはステップＳＰ３Ｘに戻ってその後全部の画素を指定し終わるまで、ステップＳＰ３Ｘ−ＳＰ４−ＳＰ５Ｘ 1−ＳＰ３のループの処理を繰り返す。
【００６８】
この結果、想定した１つの半径ｒｖが、検出しようとする粒子１４の半径ｒより小さければ、図１２に示すように、計算した仮想円１５ＡＸ及び１５ＢＸは粒子１４の中心Ｏ（Ｘｃ，Ｙｃ）には届かない小さい円を描くことになるので、ステップＳＰ４において投票した投票パラメータ空間３０の累積結果は、図１３に示すように、投票画素平面３０Ａの各画素において、際立ったピークをもたない投票結果が得られる。
【００６９】
これに対してステップＳＰ３Ｘにおいて想定した１つの半径ｒｖが検出しようとする粒子１４の半径ｒと一致すれば、図１４に示すように、エッジ１４Ａ上に指定した画素の仮想円１５ＡＸ及び１５ＢＸには粒子１４の中心Ｏ（Ｘｃ，Ｙｃ）を通ることになるので、ステップＳＰ４における投票の結果投票パラメータ空間３０には、図１５に示すように、当該中心Ｏ（Ｘｃ，Ｙｃ）の画素位置に際立って大きいピーク３０ＢＸが得られることになる。
【００７０】
これに対して、ステップＳＰ３Ｘにおいて想定した半径ｒｖが、検出しようとする粒子１４の半径ｒより大きければ、図１６に示すように、仮想円１５ＡＸ及び１５ＢＸが粒子１４の中心Ｏ（Ｘｃ，Ｙｃ）を越えた大きい円を計算することになるので、投票パラメータ空間３０における投票数には、図１７に示すように際立って大きいピークが発生しないことになる。
【００７１】
ＣＰＵ２がステップＳＰ５Ｘ１において肯定結果を得ると、このことはステップＳＰ３Ｘにおいて特定した、想定した１つの半径ｒｖについての仮想円の計算及び投票パラメータ空間への投票が終了したことを意味し、このときＣＰＵ２は次のステップＳＰ５Ｘ２に移って想定するすべての半径ｒｖについての処理を尽くしたか否かの判断をし、否定結果が得られたとき、上述のステップＳＰ３Ｘに戻って新たに残る想定した半径についての投票処理を繰り返す。
【００７２】
やがてステップＳＰ５Ｘ２において肯定結果が得られると、このことは想定したすべての半径ｒｖについての投票パラメータ空間３０への投票処理が終了したことを意味し、このときＣＰＵ２はステップＳＰ６において投票パラメータ空間への投票結果を表示すると共に、ステップＳＰ７において検出対象の円形状を検出した後、ステップＳＰ８において当該円形状検出処理手順ＲＴ１Ｘを終了する。
【００７３】
かくしてＣＰＵ２は複数の想定した半径ｒｖについての投票パラメータ空間３０への投票処理の結果際立ったピーク３０ＢＸが生じた想定半径について、これが検出対象の粒子１４の半径であることを検出できると共に、当該ピーク３０ＢＸの画素位置が検出対象の粒子１４の中心位置Ｏ（Ｘｃ，Ｙｃ）であることを検出できる。
【００７４】
以上の構成によれば、検出対象となる粒子１４の半径が既知ではない場合にも、その半径及び中心位置を確実に検出することができる。
【００７５】
（４）第４の実施の形態
図１８は第４の実施の形態を示すもので、この場合ＣＰＵ２は、図５との対応部分に同一符号を付すと共に相違する処理ステップに添付符号Ｘを付して示すように、粒子１４のエッジ１４Ａについてグラディエント演算をすることにより求めた法線の両端位置（図１９）に基づいて投票パラメータ空間４０（図２０）に対する投票処理を実行する。
【００７６】
すなわちＣＰＵ２は、円形状検出処理手順ＲＴ２Ｘに入ると、画像データからエッジ１４Ａを検出する（ステップＳＰ１）と共に、投票パラメータ空間４０を準備した後（ステップＳＰ２）、指定したエッジ画素のグラディエントを求める（ステップＳＰ１１）。
【００７７】
これに続いてＣＰＵ２は次のステップＳＰ１３Ｘに移って、半径が未知の粒子１４について想定し得る複数の半径ｒｖのうちの１つを特定してエッジ１４Ａ上の指定した画素を通る法線５０Ａと共に、５０Ｂの両端点を求める。
【００７８】
ここで、ＣＰＵ２はステップＳＰ１３Ｘにおいて検出すべき粒子１４の半径ｒｖ  として複数の半径ｒｖを予め想定し、当該想定した半径ｒｖ  の長さをもつ法線５０Ａ及び５０Ｂをエッジ１４Ａの各画素の位置について求め、次のステップＳＰ４において投票パラメータ空間４０に投票する。
【００７９】
ここで想定した当該１つの半径ｒｖが検出すべき粒子１４の半径ｒよりも短ければ、図１９に示すように、粒子１４のエッジ１４Ａ上の２点Ａ（Ｘａ，Ｙａ）及びＢ（Ｘｂ，Ｙｂ）を通る法線５０Ａ及び５０Ｂの内側の端点Ｏ（Ｘａ，Ｙａ）及びＯ（Ｘｂ，Ｙｂ）は粒子１４の中心Ｏ（Ｘｃ，Ｙｃ）に届かない状態になるから、投票パラメータ空間４０に対する投票数は図２０に示すように、粒子１４の中心Ｏ（Ｘｃ，Ｙｃ）に対応する画素位置の周囲に累積結果が生ずるだけで際立ったピークを生ずるような状態にはならない。
【００８０】
これに対して粒子１４の半径ｒと同じ値の想定半径ｒｖを特定すると、図２１に示すようにエッジ１４Ａ上の画素位置Ａ（Ｘａ，Ｙａ）及びＢ（Ｘｂ，Ｙｂ）を通る法線５０Ａ及び５０Ｂの内側の端点Ｏ（Ｘａ，Ｙａ）及びＯ（Ｘｂ，Ｙｂ）は粒子１４の中心位置Ｏ（Ｘｃ，Ｙｃ）の位置に重なることになるので投票パラメータ空間４０への投票結果が、図２２に示すように、粒子１４の中心Ｏ（Ｘｏ，Ｙｏ）に対応する画素位置に際立ったピーク４０Ｂが生ずる結果になる。
【００８１】
またステップＳＰ１３Ｘにおいて想定した半径の１つｒｖが粒子１４の半径ｒより大きければ、図２３に示すように、エッジ１４Ａ上の画素位置Ａ（Ｘａ，Ｙａ）及びＢ（Ｘｂ，Ｙｂ）を通る法線の内側の端点Ｏ（Ｘａ，Ｙａ）及びＯ（Ｘｂ，Ｙｂ）は粒子１４の中心Ｏ（Ｘｃ，Ｙｃ）を通り過ぎて重なり合わなくなる。
【００８２】
このときステップＳＰ４における投票パラメータ空間４０の投票結果は、図２４に示すように、粒子１４の中心Ｏ（Ｘｃ，Ｙｃ）に際立ったピークが生じない状態になる。
【００８３】
このようにしてＣＰＵ２は、ステップＳＰ１３Ｘにおいて特定した想定半径ｒｖについてステップＳＰ４において投票パラメータ空間４０に投票した後、ステップＳＰ５Ｘ１においてエッジ１４Ａ上の全部の画素を指定したか否かの判断をし、否定結果が得られたとき上述のステップＳＰ１１に移って新たに指定したエッジ画素について、ステップＳＰ１１−ＳＰ１３Ｘ−ＳＰ４−ＳＰ５Ｘ１−ＳＰ１１のループの処理を繰り返す。
【００８４】
やがてステップＳＰ５Ｘ１において肯定結果が得られると、ＣＰＵ２は次のステップＳＰ５Ｘ２に移って想定した全ての半径ｒｖについての投票パラメータ空間４０への投票処理が終了したか否かを判断し、否定結果が得られたとき上述のステップＳＰ１１に戻ってステップＳＰ１３Ｘにおいて新たに特定した想定半径について投票パラメータ空間４０への投票処理を実行する。
【００８５】
やがてステップＳＰ５Ｘ２において肯定結果が得られると、このことは想定したすべての半径についての処理が終了したことを意味し、このときＣＰＵ２はステップＳＰ６において投票パラメータ空間の投票結果の表示処理をした後、ステップＳＰ７において測定対象の粒子１４の円形状を検出する処理を実行してステップＳＰ８において当該円形状検出処理手順ＲＴ２Ｘの処理を終了する。
【００８６】
以上の構成によれば、検出すべき粒子の半径ｒｖが未知であるが複数の半径を想定できる場合には、当該想定できる半径ｒｖについてそれぞれ投票パラメータ空間４０への投票処理をすることにより、際立ったピーク４０Ｂが得られたとき当該ピーク４０Ｂの座標位置を粒子１４の中心位置として求めることができる。
【００８７】
かくするにつき、投票パラメータ空間への投票処理を、エッジ１４Ａ上の座標位置を通る法線５０Ａ及び５０Ｂの内側の端点について実行するだけで良いので、処理すべきデータ量を一段と軽減できる。
【００８８】
（５）他の実施の形態
（ａ）上述の図６、図１９、図２１、図２３の実施の形態においては、粒子１４のエッジ１４Ａの外側の画素についても投票パラメータ空間への投票をするようにしたが、これに代え、以下に述べるようにエッジ１４Ａの外側の画素については投票パラメータ空間への投票を行なわずにエッジ１４Ａ内の画素についてのみ投票を行うことにより粒子１４の中心位置及びその移動を判知できるようにしても良い。
【００８９】
例えば図６において、法線４３Ａ及び４３Ｂ上のエッジ１４Ａより内側及び外側の点０（Ｘｃ，Ｙｃ）及びＰ（Ｘｐ，Ｙｐ）、Ｑ（Ｘｑ，Ｙｑ）の画素について投票パラメータ空間への投票を行うのは、撮像手段１１（図１）によって検出対象となる粒子についての映像信号Ｓ１を得る際に、検出対象に対する照射光源からの照射光を撮像手段１１が受光する場合（これを照射撮影と呼ぶ）と、検出対象からの反射光を撮像手段１１が受光する場合（これを反射撮影と呼ぶ）との両方に対応するためである。
【００９０】
すなわち、照射撮影の場合の映像信号Ｓ１における映像は、図３８に示すように、粒子１４の部分が照射光を遮光することにより暗くなるの対して、粒子１４の外側部分は照射光が直接入射するので明るくなる。
【００９１】
このとき、（１）式によるグラディエント演算に基づいて得られる法線方向のベクトルＶ１は、明るさ変化の最大値を示す方向として、粒子１４のエッジ１４Ａから放射状に外側に発散する。
【００９２】
これに対して、反射撮影の場合の映像信号Ｓ１における映像は、図３９に示すように、粒子１４の部分が照射光が反射されることにより明るくなるのに対して、粒子１４の外側部分は反射光が入射しないので暗くなる。
【００９３】
このとき、（１）式によるグラディエント演算に基づいて得られる法線方向のベクトルＶ１には明るさ変化の最大値を示す方向として、粒子１４のエッジ１４Ａから放射状に内側に収束する。
【００９４】
そこで、照射撮影又は反射撮影のいずれの場合においても、粒子１４の中心を求めるための投票パラメータ空間への投票を行うために、図６の場合はベクトルＶ１又はＶ２に沿う方向の法線４３Ａ又は４３Ｂを求めると共に、当該法線上の内側及び外側の点０（Ｘｃ，Ｙｃ）及びＰ（Ｘｐ，Ｙｐ）、Ｑ（Ｘｑ，Ｙｑ）の画素について、投票パラメータ空間への投票を行うこととしている。
【００９５】
かくして上述の図の実施の形態によれば、エッジ１４Ａより外側の点への投票と共に内側の点への投票ができることにより、当該内側の点への投票結果に基づいて粒子１４の中心位置を知ることができる。
【００９６】
図１９、図２１、図２３の場合も、同様にして、法線５０Ａ、５０Ｂ上の内側の点０（Ｘｃ，Ｙc）への投票結果に基づいて粒子１４の中心位置を知ることができる。
【００９７】
これに対する変形例として、撮像手段１１による撮影条件が照射撮影であるか、反射撮影であるかのいずれの場合においても、粒子１４のエッジ１４Ａからの放射線方向のベクトルが粒子１４のエッジ１４Ａから内側に収束するベクトルＶ２の場合、このベクトルの方向を＋方向と規定すると共に、これとは逆に外側に放射するベクトルＶ１の符号を−方向として規定する。
【００９８】
＋方向のベクトルＶ２が得られたときにはその方向の法線上の内側の点の画素について投票パラメータ空間への投票を行うと共に、−方向のベクトルＶ１の場合はベクトルＶ１の符号「−」を「＋」に付け換える処理をすることにより、ベクトルＶ１の方向とは逆方向の内側に向うベクトルに変換する。これにより、ベクトルＶ１に沿う方向の法線上においてエッジ１４Ａより内側の点の画素に、図４０に示すように、内側の画素についての投票パラメータ空間４１への投票を行う。
【００９９】
以上の構成によれば、投票パラメータ空間４１への投票は、照射撮影の場合及び反射撮影の場合のいずれにおいても粒子１４のエッジ１４Ａの内側の点に投票を行うことができることにより、図６、図１９、図２１、図２３の場合と比較して、投票処理手順を一段と簡略化でき、この分粒子１４の中心点の検出時間を一段と短縮することができる。
【０１００】
このようにすればさらに一段と演算を簡略化することができる。
【０１０１】
（ｂ）上述の実施の形態においては、投票パラメータ空間に対する投票結果を表示部２４において立体表示するようにしたが、これを省略しても良い。
【０１０２】
（ｃ）上述の実施の形態においては、１つの粒子１４が他の粒子と互いに重なり合わない画像データＳ２が得られた場合の円形状検出処理について述べたが、図１０（Ａ）に示すように、粒子１４が互いに重なり合った画素１４Ｘを含む画像データＳ２が得られた場合にも、図１０（Ｂ）及び（Ｃ）示すように、各粒子１４の円形状（すなわち中心位置Ｏ（Ｘｃ，Ｙｃ）Ｘ及び粒子１４Ｘの界面に関する情報を含む情報）を検出することができる。
【０１０３】
例えば、図１０（Ａ）に示すように、互いに重なり合う粒子１４Ｘを含む画像データＳ２について、ＣＰＵ２が、ステップＳＰ１において抽出した図１０（Ｂ）のエッジ１４ＡＸを得た後、図５のステップＳＰ１２−ＳＰ１３−ＳＰ１４−ＳＰ１５−ＳＰ１１−ＳＰ１２の処理ループで検出処理をすれば、ステップＳＰ４における投票パラメータ空間４０（図７）へ投票処理により、図１０（Ｃ）に示すように、重なり合った各粒子１４Ｘについて、その中心位置Ｏ（Ｘｃ，Ｙｃ）Ｘ及び形状を表す投票累算結果が得られる。
【０１０４】
（ｄ）上述の実施の形態においては、本発明を固−液体二相流を検出対象にした場合について述べたが、本発明はこれに限らず、フェルール孔の検出や、ボール（例えば散乱しているゴルフボール）や、交通標識の検出など、円形状の検出対象を検出する場合に広く適用し得る。
【０１０５】
（ｅ）上述の実施の形態においては、抽出されたエッジのすべての画素を画素の位置を指定して中心点を求める処理を行うようにした場合について述べたが、本発明はこれに限らず、エッジの延長方向に沿って所定数だけ間の画素を間引いた間隔で指定した画素について、処理を行うようにしても、上述の場合と同様の効果を得ることができる。
【０１０６】
（６）検出対象円の中心位置抽出処理
図２、図５、図１１及び図１８について上述した円形状検出処理手順ＲＴ１、ＲＴ２、ＲＴ１Ｘ及びＲＴ２Ｘによって投票パラメータ空間において形成されたピークの座標位置は検出対象円の中心点を表しているが、当該中心点は図２５に示す中心点抽出処理手順ＲＴ５によって抽出される。
【０１０７】
この実施の形態の場合の円形状検出装置１（図１）は投票データメモリ２３に形成される投票パラメータ空間の各座標に対する投票数に含まれる情報を抽出処理する手段として、補助投票空間データメモリ３１内に図２６に示す補助投票空間ＳＶＳを形成すると共に、抑制メモリ３２内に図２７に示す抑制空間ＳＳを形成する。
【０１０８】
図２６及び図２７において、横軸の数字５０〜６１は投票パラメータ空間の各画素の座標値（ＸＹ座標上の平面的な座標値を表わすものとする）を示すと共に、縦軸の数字１１〜２０は各座標の画素における投票数を示す。
【０１０９】
中心点抽出処理手順ＲＴ５に入ると、ＣＰＵ２はステップＳＰ１１において補助投票空間ＳＶＳ及び抑制空間ＳＳをそれぞれ補助投票空間データメモリ３１及び抑制メモリ３２に作成する。
【０１１０】
ここで補助投票空間ＳＶＳの形成時、当該補助投票空間ＳＶＳには、投票パラメータ空間３０（図４、図１３）又は４０（図７、図２０、図２２、図２４）の投票画素平面３０Ａ又は４０Ａの各画素位置を示す座標値５０〜６１の位置に投票された投票数がそのままＸＹ座標に対応する投票数データとして取り込まれている。
【０１１１】
かくして補助投票空間ＳＶＳは、検出対象円の中心位置を含めた円形状を表すデータを数値の大きさとして（図では棒グラフとして）表している。
【０１１２】
これに対して抑制空間ＳＳは、補助投票空間ＳＶＳのうち最大値又は極大値をもつ座標値の投票数だけを補助投票空間ＳＶＳから取り込み、その他の座標値における投票数を投票数＝０に抑制することにより、検出対象円の中心位置を補助投票空間ＳＶＳから抽出するために用意されている。
【０１１３】
中心点抽出処理手順ＲＴ５においてＣＰＵ２は、ステップＳＰ１１に続くステップＳＰ１２において、補助投票空間ＳＶＳの投票数データのうち、投票最大値を抑制空間ＳＳに取り込む。
【０１１４】
この実施の形態の場合、図２８に示すように、座標値５６の投票数が補助投票空間ＳＶＳ内の最大値となっており、ＣＰＵ２はこの最大値投票数データＤＴ５６を、図２９に示すように、抑制空間ＳＳに取り込む。
【０１１５】
続いてＣＰＵ２は、ステップＳＰ１３に移って、この最大値投票数データＤＴ５６の周囲において２つ隣の座標位置にある未処理の画素の投票数データを捜す。
【０１１６】
この処理は、投票結果のうち最大値投票数データＤＴ５６が検出対象円の中心位置を表しているのに対して、その周囲に２画素だけ離れた投票数データの状態を確認するための処理であり、当該２画素だけ離れた画素の座標位置に極大値を示す投票数データがあるとすれば、このことは最大値投票数データＤＴ５６の座標位置に中心を有する第１の検出対象円に対して、当該極大値を示す座標位置を中心とする第２の検出対象円が重なり合っていることを意味しており、この重なり合った２つの検出対象円を最小１画素を間に挟んではっきりと区別して抽出しようとする。
【０１１７】
そのためＣＰＵ２は、次のステップＳＰ１４において、補助投票空間ＳＶＳを２つ隣の画素の投票数が１つ隣の画素の投票数より大きいか否かの判断をする。
【０１１８】
ここで否定結果が得られると、このことは最大値投票数データＤＴ５６を中心とする２画素分の広さをもつ座標領域には極大値を形成する投票数データが存在しないことを意味するのに対して、肯定結果が得られれば、このことは僅か１画素分の座標を挟んで極大値が存在することを意味している。
【０１１９】
図２８の実施の形態の場合、座標値５６に最大値投票数データＤＴ５６があるのに対して、２画素分だけ離れた座標値５４に１つの極大値投票数データＤＴ５４があるが、他の２画素分だけ離れた座標値５８の投票数データＤＴ５８は極大値を示していない。
【０１２０】
そこでＣＰＵ２は、ステップＳＰ１４において否定結果が得られたときにはステップＳＰ１５に移って、図３０に示すように、補助投票空間ＳＶＳの座標値５８の投票数データＤＴ５８について、その画素の投票数データＤＴ５８を投票数０に置き換える。
【０１２１】
図３０は、投票数を０に置き換えた投票数データを白抜きの棒グラフで表示し、当該置き換えがされていない投票数データを黒塗りの棒グラフで表示する。
【０１２２】
これに対してステップＳＰ１４において肯定結果が得られたとき、ＣＰＵ２は、ステップＳＰ１６に移って座標値５４において極大値を示している投票数データＤＴ５４を、図３１に示すように、極大値投票数データＤＴ５４として取り込む。
【０１２３】
このように最大値投票数データＤＴ５６の周囲の２画素分の狭い座標領域において、最大値投票数データＤＴ５６とは別に極大値投票数データＤＴ５４が１画素だけ離れた位置にあることを、抑制空間ＳＳに取り込むことができる。
【０１２４】
この実施の形態の場合、ステップＳＰ１６において抑制空間ＳＳに極大値投票数データＤＴ５４を取り込んだとき、ＣＰＵ２は上述のステップＳＰ１５に移って補助投票空間ＳＶＳのうち当該極大値投票数データＤＴ５４を０に置き換える処理をする。
【０１２５】
このステップＳＰ１５の処理をした後、ＣＰＵ２は、ステップＳＰ１７に移って最大値投票数データＤＴ５６の周囲に２画素分離れた画素の全ての処理が終ったか否かの判断をし、否定結果が得られたとき上述のステップＳＰ１３に戻って残った画素についての処理手順を繰り返すのに対して、肯定結果が得られたときステップＳＰ１８に移って補助投票空間ＳＶＳにおいて最大値及びその１つの隣の画素の投票数データを全て投票数０に置き換える。
【０１２６】
かくしてＣＰＵ２は、図３３に示すように最大値投票数データＤＴ５６をもつ座標位置５６を中心として２画素分の座標領域について、最大値投票数データＤＴ５６及び極大値投票数データＤＴ５４を取り込むことにより、それ以外の座標位置の投票数データを０とした抑制空間ＳＳを生成すると共に、これに対応して図３２に示すように、補助投票空間ＳＶＳの最大値投票数データＤＴ５６を中心とする周囲２画素分の領域について、最大値投票数データＤＴ５６及び極大値投票数データＤＴ５４の座標位置と、最大値でも極大値でもない座標位置の投票数データ（図３２の場合座標位置５５、５７及び５８の投票数データ）を０に置き換えた状態にする。
【０１２７】
その後ＣＰＵ２はステップＳＰ１９に移って補助投票空間ＳＶＳにおける全ての処理が終わったか否かの判断をする。
【０１２８】
ここで、否定結果が得られる状態では、例えば図３２に示すように、補助投票空間ＳＶＳの投票値データが０に置き換えられていない画素がある状態にあることを意味する。
【０１２９】
このときＣＰＵ２はステップＳＰ２０に移って投票数が０に置き換えられずに残った投票数データについて、その最大値を捜す処理をする。
【０１３０】
ここで上述の処理が終っても、最大値投票数データＤＴ５６の周囲２画素分の座標領域以外の領域の投票数データが未だ未処理のまま残っているので、その中には最大値が必ずある。
【０１３１】
このステップＳＰ２０の処理に続いて、ＣＰＵ２は、ステップＳＰ２１に移って当該２画素分の領域外の投票数データから検出された最大値が元の投票空間における投票数データ（すなわち図２６の初期の補助投票空間ＳＶＳの状態）において隣のピクセルの投票数データの値より大きいか否かの判断をする。
【０１３２】
ここで否定結果が得られると、このことは未処理の投票数データのうちでは最大値をもつピクセルであっても、補助投票空間ＳＶＳの元の投票数データから見ると、極大値を構成していないことを意味している。
【０１３３】
このときＣＰＵ２はステップＳＰ２２に移って当該ステップＳＰ２０において当該検出された最大値の投票数データを有する座標位置の投票数データを０に置き換えて上述のステップＳＰ１９に戻る。
【０１３４】
このときＣＰＵ２は、ステップＳＰ２０において、前回ステップＳＰ２０において検出された最大値の投票数データを処理済とした（＝０に置き換えた）後の補助投票空間ＳＶＳについて、残った投票数データについて新たに最大値を捜す処理をする。
【０１３５】
かくしてＣＰＵ２はステップＳＰ２０−ＳＰ２１−ＳＰ２２−ＳＰ１９−ＳＰ２０のループの処理をすることにより、処理されずに残った投票数データについて、順次、最大値となった投票数データが元の補助投票空間ＳＶＳ内の投票数データ（図２６）について隣のピクセルより大きい値になるものを捜す処理をする。
【０１３６】
このときＣＰＵ２は、ステップＳＰ２２において当該検出された最大値の投票数データを「０」に置き換えて行くことにより、図３５に示すように新たな極大値投票数データの取り込みはせずに、図３４に示すように、２画素の領域の外側の画素の投票数データを順次「０」に置き換える処理を続ける。
【０１３７】
やがてステップＳＰ２１において肯定結果が得られると、このことは処理されずに残った上記２画素分の領域外の投票数データの中に、極大値となる投票数データを有する座標位置があることを意味し、このときＣＰＵ２は上述のステップＳＰ１２に移る。
【０１３８】
ここで、ＣＰＵ２は、ステップＳＰ１２−ＳＰ１３−ＳＰ１４−ＳＰ１５（又はＳＰ１４−ＳＰ１６−ＳＰ１５）−ＳＰ１７−ＳＰ１８−ＳＰ１９のループの処理をすることにより、当該極大値となった画素を中心として、図３７に示すように、極大値投票数データＤＴ５４を抑制空間ＳＳに取り込むと共に、その周囲にある極大値ではない投票数データについては、図３６に示すように、補助投票空間ＳＶＳにおいて投票数データを０に置き換えるような処理を続ける。
【０１３９】
この処理は、ステップＳＰ１９において肯定結果が得られるまで続けられ、その結果補助投票空間ＳＶＳにおいて全ての画素において投票数データが０に置き換えられたとき、ＣＰＵ２は、ステップＳＰ１９において肯定結果が得られることによりステップＳＰ２３に移って抑制空間ＳＳに取り込まれた投票数データに基づいて最大値又は極大値となった画素位置（すなわち検出対象円の中心位置データ）を取り出すことによりステップＳＰ２４において当該中心点抽出処理手順ＲＴ５を終了する。
【０１４０】
以上の構成において、ＣＰＵ２は、撮像手段１１及び画像処理部１２によって得た画像データＳ２に基づいて検出対象円（粒子の撮像に基づく）についての投票数データを投票データメモリ２３の投票パラメータ空間に形成した後、中心点抽出処理手順ＲＴ５を実行することにより、投票パラメータ空間に得た全投票数データを各画素ごとに補助投票空間ＳＶＳに取り込み、当該補助投票空間ＳＶＳの投票数データに基づいて最大値投票数データＤＴ５６を抑制空間ＳＳに取り込む（ステップＳＰ１２）。
【０１４１】
その後当該最大値投票数データの画素位置を中心としてその周りにある２画素分の画素領域の投票数データに基づいて極大値を有する画素位置があるか否かを判定し、あった場合ステップＳＰ１６において抑制空間ＳＳの対応する位置に極大値投票数データＤＴ５４を取り込む。
【０１４２】
かくしてＣＰＵは最大値投票数データＤＴ５６を取り込んだ画素位置と、極大値投票数ＤＴ５４を取り込んだ画素位置とに、互いに重なり合った検出対象円の中心が存在することを確実に検出することができる。
【０１４３】
かくするにつき、最大値投票数データＤＴ５６と極大値投票数データＤＴ５４の座標位置との間に、判断可能な最小な位置ずれ、すなわち１画素分の位置ずれを確実に検出することができる。
【０１４４】
このように、最大値投票数データＤＴ５６を中心としてその周囲の２画素分の画素領域に対する最大値及び極大値の検出処理をすることに加えて、その外側の画素領域について、補助投票空間ＳＶＳに形成されている投票数データに基づいて、極大値を呈する画素位置を検出することにより、さらに当該２画素分の領域に外側位置において第３の検出対象円が重った場合にも、その中心位置を確実に検出することができる。
【産業上の利用可能性】
【０１４５】
測定対象中に存在する円形状を検出する場合に利用できる。
【図面の簡単な説明】
【０１４６】
【図１】本発明の第１の実施の形態による円形状検出装置を示すブロック図である。
【図２】第１の実施の形態における円形状検出処理手順を示すフローチャートである。
【図３】図２の処理手順において行なわれる画像データ平面処理の説明に供する略線図である。
【図４】投票パラメータ空間の投票結果を示す略線図である。
【図５】第２の実施の形態における円形検出処理手順を示すフローチャートである。
【図６】図５の処理手順において半径が既知の場合の画像データ平面処理の説明に供する略線図である。
【図７】半径が既知の場合の投票パラメータ空間を示す略線図である。
【図８】図５の処理手順において半径が未知の場合の画像データ平面処理の説明に供する略線図である。
【図９】半径が未知の場合の投票パラメータ空間の投票結果を示す略線図である。
【図１０】（Ａ）、（Ｂ）及び（Ｃ）は、粒子の画像が重なる場合の処理手順の説明に供する略線図である。
【図１１】第３の実施の形態による円形状検出処理手順を示すフローチャートである。
【図１２】図１１の処理手順において行われる画像データ平面処理（ｒｖ＜ｒ）の説明に供する略線図である。
【図１３】図１２の場合の投票パラメータ空間（ｒｖ＜ｒ）を示す略線図である。
【図１４】図１１の処理手順において行われる画像データ平面処理（ｒｖ＝ｒ）の説明に供する略線図である。
【図１５】図１４の場合の投票パラメータ空間（ｒｖ＝ｒ）の投票結果を示す略線図である。
【図１６】図１１の処理手順において行われる画像データ平面処理（ｒｖ＞ｒ）の説明に供する略線図である。
【図１７】図１６の場合の投票パラメータ空間（ｒｖ＞ｒ）の投票結果を示す略線図である。
【図１８】第４の実施の形態による円形状検出処理手順を示すフローチャートである。
【図１９】図１８の処理手順において行われる画像データ平面処理（ｒｖ＜ｒ）の説明に供する略線図てある。
【図２０】図１９の場合の投票パラメータ空間（ｒｖ＜ｒ）の投票結果を示す略線図である。
【図２１】図１８の処理において行われる画像データ平面処理（ｒｖ＝ｒ）の説明に供する略線図である。
【図２２】図２１の場合の投票パラメータ空間（ｒｖ＝ｒ）の投票結果を示す略線図である。
【図２３】図１８の処理手順において行われる画像データ平面処理（ｒｖ＞ｒ）の説明に供する略線図である。
【図２４】図２３の場合の投票パラメータ空間（ｒｖ＞ｒ）の投票結果を示す略線図である。
【図２５】中心点抽出処理手順を示すフローチャートである。
【図２６】補助投票空間を示す略線図である。
【図２７】抑制空間ＳＳを示す略線図である。
【図２８】最大値投票数データを抽出する際の補助投票空間を示す略線図である。
【図２９】最大値投票数データを抽出する際の抑制空間を示す略線図である。
【図３０】極大値投票数データを取り込む際の補助投票空間を示す略線図である。
【図３１】極大値投票数データを取り込む際の抑制空間を示す略線図である。
【図３２】投票数データ２０を置き換える処理をした状態の補助投票空間を示す略線図である。
【図３３】補助投票空間に０を置き換えた際の抑制空間を示す略線図である。
【図３４】最大値投票数の座標を中心とする処理が終了した際の補助投票空間を示す略線図である。
【図３５】最大値の座標を中心として座標領域の処理が終了した際の抑制空間を示す略線図である。
【図３６】その他の座標領域における極大値投票数データを検出した際の補助投票空間をしめす略線図である。
【図３７】その他の座標領域において極大値投票数データを検出した際の抑制空間を示す略線図である。
【図３８】照射撮影の場合の法線方向ベクトルの説明に供する略線図である。
【図３９】反射撮影の場合の法線方向のベクトルの説明に供する略線図である。
【図４０】他の実施の形態における投票パラメータ空間を示す略線図である。
【符号の説明】
【０１４７】
１……円形状検出装置、２……中央処理ユニット（ＣＰＵ）、３……バス、４……入力部、５……プログラムメモリ、６……ワークメモリ、１１……撮像手段、１２……画像処理部、１３……画像メモリ、１４……粒子、１４Ａ……エッジ、１５Ａ、１５Ｂ……仮想円、２１……エッジ検出部、２２……エッジデータメモリ、２３……投票データメモリ、２４……表示部、３０、４０、４１、４２……投票パラメータ空間、３０Ａ、４０Ａ、４１Ａ……投票ＸＹ平面、３０Ｂ、４０Ｂ、４１Ｂ、４２B……ピーク、４３Ａ、４３ＡＸ、４３Ｂ、４３ＢＸ……法線、３１……補助投票空間データメモリ、３２……抑制メモリ。
【図１】
2009009539.tif 000004
【図２】
2009009539.tif 000005
【図３】
2009009539.tif 000006
【図５】
2009009539.tif 000007
【図６】
2009009539.tif 000008
【図８】
2009009539.tif 000009
【図１１】
2009009539.tif 000010
【図１２】
2009009539.tif 000011
【図１４】
2009009539.tif 000012
【図１６】
2009009539.tif 000013
【図１８】
2009009539.tif 000014
【図１９】
2009009539.tif 000015
【図２１】
2009009539.tif 000016
【図２３】
2009009539.tif 000017
【図２５】
2009009539.tif 000018
【図３８】
2009009539.tif 000019
【図３９】
2009009539.tif 000020
【図４】
2009009539.tif 000021
【図７】
2009009539.tif 000022
【図９】
2009009539.tif 000023
【図１０】
2009009539.tif 000024
【図１３】
2009009539.tif 000025
【図１５】
2009009539.tif 000026
【図１７】
2009009539.tif 000027
【図２０】
2009009539.tif 000028
【図２２】
2009009539.tif 000029
【図２４】
2009009539.tif 000030
【図２６】
2009009539.tif 000031
【図２７】
2009009539.tif 000032
【図２８】
2009009539.tif 000033
【図２９】
2009009539.tif 000034
【図３０】
2009009539.tif 000035
【図３１】
2009009539.tif 000036
【図３２】
2009009539.tif 000037
【図３３】
2009009539.tif 000038
【図３４】
2009009539.tif 000039
【図３５】
2009009539.tif 000040
【図３６】
2009009539.tif 000041
【図３７】
2009009539.tif 000042
【図４０】
2009009539.tif 000043