渦巻きばねの形状を測定する装置、方法、及びプログラム
【課題】 渦巻きばねの撮影画像から内フックや外フックの位置を正しく特定する。
【解決手段】 形状測定装置は、渦巻きばねを撮影した撮影画像を入力する画像入力手段と、前記撮影画像を極座標変換した極座標画像を作成する画像変換手段と、前記極座標画像を用いて、前記撮影画像中の内フックが撮影されている内フック位置、及び/又は、外フックが撮影されている外フック位置を特定するフック位置特定手段を備えている。この装置によると、渦巻きばねの撮影画像から内フックや外フックの位置を正しく特定し、渦巻きばねの形状測定を正しく行うことができる。
【解決手段】 形状測定装置は、渦巻きばねを撮影した撮影画像を入力する画像入力手段と、前記撮影画像を極座標変換した極座標画像を作成する画像変換手段と、前記極座標画像を用いて、前記撮影画像中の内フックが撮影されている内フック位置、及び/又は、外フックが撮影されている外フック位置を特定するフック位置特定手段を備えている。この装置によると、渦巻きばねの撮影画像から内フックや外フックの位置を正しく特定し、渦巻きばねの形状測定を正しく行うことができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理を用いて物体の形状を測定する技術に関する。特に、画像処理を用いて渦巻きばねの形状を測定する技術に関する。ここでいう渦巻きばねとは、平面視したときに、内フックから外フックまで渦巻状に伸びるばねを意味する。
【背景技術】
【0002】
特許文献1に、画像処理を用いて物体の形状を測定する技術が開示されている。この技術では、測定対象である物体を撮影した撮影画像から、予め登録された測定対象領域を抽出し、抽出した測定対象領域の画像を用いて物体の各部の寸法を測定する。測定対象領域を抽出する際には、基準となる物体を撮影した基準画像の測定対象領域を用い、パターンマッチングによる測定対象領域の補正を行なっている。
【0003】
【特許文献1】特開平11−334244号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1の技術は、渦巻きばねの形状測定にも適用することができる。渦巻きばねの形状測定では、主に、内フックや外フックの位置や形状を測定する必要がある。そのことから、特許文献1の技術を用いる場合には、前記した測定対象領域を内フックや外フックの位置に合わせて登録しておく必要がある。
しかしながら、渦巻きばねの場合、必要とされるばね定数等の特性に応じて、その形状が様々に変化する。従って、特許文献1の技術を利用するためには、渦巻きばねの形状に応じて、測定対象領域を個々に設定しておく必要がある。さらに、渦巻きばねの場合、同一種類の渦巻きばねであっても、例えば外フックの位置等が比較的にばらつきやすく、その形状に個体差が生じやすい。そのことから、予め設定された測定対象領域では、内フックや外フックの像を抽出できない場合がある。
上記の問題を鑑み、本発明は、渦巻きばねの撮影画像から内フックや外フックの位置を正しく特定することができる技術を提供する。
【課題を解決するための手段】
【0005】
本発明は、内フックから外フックまで渦巻状に伸びる渦巻きばねの形状を測定する形状測定装置に具現化されるこの形状測定装置は、渦巻きばねを撮影した撮影画像を入力する画像入力手段と、前記撮影画像を極座標変換した極座標画像を作成する画像変換手段と、前記極座標画像を用いて、内フックが撮影されている内フック位置、及び/又は、前記撮影画像中の外フックが撮影されている外フック位置を、前記撮影画像中に特定するフック位置特定手段を備えている。
【0006】
この形状測定装置では、渦巻きばねの撮影画像に対して極座標変換を行い、極座標画像を作成する。極座標画像では、半径軸に沿って、内フックと素線の周回部分と外フックが、互いに分かれて存在する。そのことから、内フックや外フックの位置を、正確に特定することが可能となる。極座標画像上で特定された内フックや外フック位置は、直交座標への逆変換を行うことによって、撮影画像における内フックや外フック位置に変換することができる。
この形状測定装置によると、渦巻きばねの撮影画像から内フックや外フックの位置を正しく特定することができ、渦巻きばねの形状測定を正しく行うことができる。
【0007】
上記した形状測定装置において、フック位置特定手段は、極座標画像の各画素値を半径軸方向の位置毎に加算したr方向ヒストグラムを作成し、そのr方向ヒストグラムを用いて内フック位置及び/又は外フック位置を特定することが好ましい。
上記のようなr方向ヒストグラムを用いると、内フック位置や外フック位置を正確かつ容易に特定することが可能となる。
【0008】
本発明に係る形状測定装置は、前記した内フック位置及び/又は外フック位置を用いて、撮影画像中の内フックが撮影されている内フック領域、及び/又は、外フックが撮影されている外フック領域を特定するフック領域特定手段をさらに備えることが好ましい。
この装置によると、渦巻きばねの撮影画像から内フックや外フックの撮影領域を抽出し、内フックや外フックの形状、あるいは内フックや外フックを基準とする渦巻きばね全体の形状を正確に測定することができる。
【0009】
前記したフック領域特定手段は、前記極座標画像の各画素値を半径軸方向の位置毎に加算したr方向ヒストグラムと、前記極座標画像の各画素値を角度軸方向の位置毎に加算したθ方向ヒストグラムを作成し、そのr方向ヒストグラムとθ方向ヒストグラムを用いて前記内フック領域及び/又は外フック領域を特定することが好ましい。
上記のようなr方向ヒストグラムとθ方向ヒストグラムを用いると、内フック領域や外フック領域を正確かつ容易に特定することができる。
【0010】
前記したフック領域特定手段は、前記r方向ヒストグラムを用いて外フック領域の半径方向の境界位置を特定し、前記θ方向ヒストグラムを用いて外フック領域の周方向の境界位置を特定することが好ましい。
この手法によると、特に外フック領域を正確かつ容易に特定することができる。
【0011】
前記したフック領域特定手段は、前記極座標画像の内フック上を通る半径軸に平行なラインを順次抽出し、抽出したライン上の各画素値を半径軸方向の位置毎に加算していく累積ヒストグラムを作成し、その累積ヒストグラムを用いて前記内フック領域を特定することが好ましい。
上記のような累積ヒストグラムを用いると、例えば内フックが極座標変換の原点に重なる場合でも、内フック領域を正確に特定することができる。
【0012】
前記した画像変換手段は、撮影画像に撮影された渦巻きばねの像の重心を算出し、その重心を中心として極座標変換を行うことが好ましい。
この手法によると、撮影画像に撮影された渦巻きばねの位置にかかわらず、内フックや外フックの位置を正しく特定することができる。
【0013】
本発明の形状測定装置は、撮影画像に撮影された渦巻きばねの巻き方向を判別する第1の巻き方向判別手段を備えることが好ましい。第1の巻き方向判別手段は、前述した累積ヒストグラムを用いて、渦巻きばねの巻き方向を判別することが好ましい。
前述した累積ヒストグラムは、撮影画像に撮影された渦巻きばねの巻き方向に応じて、その形状が対称的に変化する。そのことから、累積ヒストグラムのこの特徴を利用すると、撮影画像に撮影された渦巻きばねの巻き方向を判別することができる。渦巻きばねの巻き方向を判別することにより、内フックや外フックの位置を誤って特定することが防止される。
【0014】
本発明の形状測定装置は、撮影画像に撮影された渦巻きばねの巻き方向を判別する第2の巻き方向判別手段を備えることが好ましい。第2の巻き方向判別手段は、前記撮影画像を内フックに沿った直線によって分割し、分割した二つの領域を比較することによって、渦巻きばねの巻き方向を判別することが好ましい。
内フックの基端部では、渦巻きばねの素線がその巻き方向に応じて一方に湾曲していく。そのことから、撮影画像を内フックに沿った直線によって分割すると、一方の領域には内フックの基端部が存在し、他方の領域には内フックの基端部が存在しないことになる。そのことから、分割した二つの領域の画素値を比較することによって、撮影画像に撮影された渦巻きばねの巻き方向を判別することができる。渦巻きばねの巻き方向を判別することにより、内フックや外フックの位置を誤って特定することが防止される。
【0015】
本発明は、渦巻きばねの形状を測定する形状測定方法にも具現化される。この形状測定方法は、コンピュータに、渦巻きばねを撮影した撮影画像を入力する画像入力処理と、前記撮影画像を極座標変換した極座標画像を作成する画像変換処理と、前記極座標画像を用いて、内フックが撮影されている内フック位置、及び/又は、前記撮影画像中の外フックが撮影されている外フック位置を、前記撮影画像中に特定するフック位置特定処理を実行させる。
この方法によっても、渦巻きばねの撮影画像から内フックや外フックの位置を正しく特定することができ、渦巻きばねの形状測定を正しく行うことができる。
【0016】
本発明はさらに、渦巻きばねの形状を測定するためのプログラムにも具現化される。このプログラムは、コンピュータに、渦巻きばねを撮影した撮影画像を入力する画像入力処理と、前記撮影画像を極座標変換した極座標画像を作成する画像変換処理と、前記極座標画像を用いて、内フックが撮影されている内フック位置、及び/又は、前記撮影画像中の外フックが撮影されている外フック位置を、前記撮影画像中に特定するフック位置特定処理を実行させる。
このプログラムにより、コンピュータを用いて、渦巻きばねの撮影画像から内フックや外フックの位置を正しく特定することができ、渦巻きばねの形状測定を正しく行うことができる。
【発明の効果】
【0017】
本発明によれば、渦巻きばねを撮影した画像から内フックや外フックが撮影された位置を正しく特定し、渦巻きばねの形状を正しく測定することが可能となる。
【発明を実施するための最良の形態】
【0018】
本発明を実施するための好適な形態を列記する。
(形態1) 形状測定装置は、r方向ヒストグラムを用いて、渦巻きばねを第1タイプと第2タイプに分類することができる。ここで、第1タイプとは、内フックが渦巻きばねの重心に重ならないものを意味し、第2タイプとは、内フックが渦巻きばねの重心に重なるものを意味する。
(形態2) 形状測定装置は、以下の手順(1)−(4)により、渦巻きばねの撮影画像から、内フック又は外フックの特徴点を抽出することができる。
(1)渦巻きばねの撮影画像中に特定した内フック領域又は外フック領域から、内フック又は外フックの像の輪郭線を抽出する。
(2)抽出した輪郭線を座標点群で表す輪郭線座標系列を作成し、その輪郭線座標系列から複数の部分輪郭線系列を抽出する。
(3)抽出した複数の部分輪郭線系列に対して類似度又は距離尺度を算出する。
(4)算出した類似度又は距離尺度を用いて、内フック又は外フックの輪郭線上に特徴点を特定する。
(形態3) 形状測定装置は、上記の形態2で算出した特徴点を用いて、内フック又は外フックの輪郭線座標系列から内側輪郭線系列と外側輪郭線系列を特定することができる。
(形態4) 形状測定装置は、上記の形態3で特定した内側輪郭線系列と外側輪郭線系列の少なくとも一部を、円近似することができる。
(形態5) 形状測定装置は、コンピュータを用いて構成されている。コンピュータは、そのハードウエアや記憶しているソフトウエア(プログラム)によって、各処理を実行する構成が実現されている。
(形態6) 形状測定装置は、渦巻きばねを撮影し、その画像データを作成するカメラを備えている。
(形態7) 形状測定装置は、撮影画像を二値化処理することができる。
【実施例】
【0019】
本発明を具現化した実施例について図面を参照しながら説明する。図1は、本実施例の形状測定装置10を示す。形状測定装置10は、渦巻きばね30の各部の寸法を計測する装置である。
図1に示すように、形状測定装置10は、ステージ12と、ステージ12上に配置された照明器14と、ステージ12に固定されているCCDカメラ16と、CCDカメラ16に通信線18を介して接続されているコンピュータ22と、コンピュータ22に接続されているディスプレイ20を備えている。
照明器14は、面光源であり、その発光面上に渦巻きばね30が載置される。CCDカメラ16は、照明器14上に配置されており、照明器14上に載置された渦巻きばね30を撮影する。即ち、渦巻きばね30は照明器14によって下方から照明され、照明器14の透過光(渦巻きばね30の影)がCCDカメラ16によって撮影される。なお、照明器14は、本実施例のような透過照明に限定されず、渦巻きばね30を上方から照明するものでもよい。この場合、渦巻きばね30が全周方向から均等に照明されるように、複数の照明器やリング型の照明器を用いることが好ましい。
CCDカメラ16が撮影した画像データは、通信線18を介してコンピュータ22に入力される。コンピュータ22には、後述する形状測定処理を実行するためのプログラムが記憶されている。コンピュータ22は、CCDカメラ16が撮影した撮影画像の画像データを処理し、渦巻きばね30の各部の寸法を算出する。コンピュータ22は、算出した渦巻きばね30の各部の寸法を、ディスプレイ20に表示する。
【0020】
図2は、形状測定装置10による渦巻きばね30の形状測定の流れを示すフローチャートである。図3は、図2のフローチャートに示すステップS14のフック領域の特定処理の流れを示すフローチャートである。形状測定装置10は、図2、図3に示す工程、処理を経て、渦巻きばね30の各部の寸法値を測定する。図4は、形状測定装置10が寸法を測定する箇所を示す。図4に示すように、形状測定装置10は、(1)渦巻きばねの内径Din、(2)フリー角度θf、(3)フック半径HR、(4)外フック長さLoh、(5)内フック長さLih、(6)外フック曲率半径Roh、(7)内フック曲率半径Rih、(8)外フック角度θmt、(9)内フック先端からの距離Dtip、の9種の寸法を測定することができる。以下、図2、図3に示すフローチャートに沿って、形状測定装置10による渦巻きばね30の形状測定の流れを説明する。
【0021】
先ず、図2のステップS12において、CCDカメラ16により、渦巻きばね30の撮影を行う。図5、図6に、2種類の渦巻きばね30の撮影画像100を例示する。ここで、渦巻きばね30を撮影する際には、上から見て右巻きとなるように渦巻きばね30を配置する。また、内フック32がおよそ上方を向くように配置する。CCDカメラ16による撮影画像100は、コンピュータ22に入力される。
図5、図6に示す2種類の渦巻きばね30は、共に、内フック32から外フック34まで、渦巻状に伸びている。ただし、これら2種類の渦巻きばね30は、その内フック32の形状に有意な違いを有する。即ち、図5に示す渦巻きばね30は、その内フック32が渦巻きばね30の重心Gと重ならないが、図6に示す渦巻きばね30は、その内フック32が渦巻きばね30の重心Gと重なっている。本明細書では、図5に示す渦巻きばね30を第1タイプと称し、図6に示す渦巻きばね30を第2タイプと称する。形状測定装置10は、第1タイプと第2タイプの双方の渦巻きばね30の形状測定を行うことができる。詳しくは後述するが、形状測定装置10は、測定する渦巻きばね30が第1タイプであるのか第2タイプであるのかを判別し、一部の処理についてタイプ毎に異なる処理を実行する。なお、特に区別した説明がない場合は、第1タイプと第2タイプで共通の処理が行われるものとする。
撮影画像100は、画素(x,y)毎にグレイスケール値GS(x,y)を有するグレイスケール画像である。ここで、撮影画像100に対し、ノイズを除去する各種の処理を必要に応じて行うとよい。
【0022】
次に、図2のステップS14では、ステップS12で撮影された撮影画像100から、内フック32が撮影されている内フック領域と、外フック34が撮影されている外フック領域の特定が行われる。この内外フックの特定処理について、図3に示すフローチャ−トに沿って説明する。なお、このステップS14からS38までの処理は、コンピュータ22によって実行される。
先ず、図3のステップS112では、ステップS12による撮影画像100から、極座標画像を作成する。図7(a)に、第1タイプの渦巻きばね30(図5参照)の極座標画像を示す。図8(a)に、第2タイプの渦巻きばね30(図6参照)の極座標画像を示す。極座標画像の作成は、渦巻きばね30の像の重心G(cx,cy)を仮の中心として求めた後、以下の変換式によって行うことができる。なお、Polar(θ,R)は、極座標画像におけるグレイスケール値を示す。
【0023】
【数1】
【0024】
次に、ステップS114では、ステップS112で作成した極座標画像を用い、r方向ヒストグラムHr(r)を作成する。r方向ヒストグラムHr(r)は、極座標画像のグレイスケール値Polar(θ,R)をθ軸方向に加算して平均したものである。図7(b)に、第1タイプの渦巻きばね30(図5参照)のr方向ヒストグラムを示す。図8(b)に、第2タイプの渦巻きばね30(図6参照)のr方向ヒストグラムを示す。r方向ヒストグラム値Hr(r)は、下記の式によって算出される。なお、下記式のTHeは、ノイズを除去するためのしきい値である。
【0025】
【数2】
【0026】
次に、ステップS116では、内フック形状32の識別が行われる。即ち、測定対象の渦巻きばね30が、第1タイプであるのか第2タイプであるのかが判定される。この処理には、ステップS114で作成したr方向ヒストグラムが用いられる。図7(b)、図8(b)を比較して明らかなように、第1タイプの渦巻きばね30では、内フック32上に重心Gが位置しないので(図5参照)、r方向ヒストグラムではθ軸(r=0)の近傍の値が小さくなる。一方、第2タイプの渦巻きばね30では、内フック32上に重心Gが位置するので(図6参照)、r方向ヒストグラムではθ軸(r=0)の近傍は値が大きくなる。そのことから、このステップS116の処理では、0≦r≦15までのr方向ヒストグラム値Hr(r)に注目する。そして、その範囲における最小のr方向ヒストグラム値Hr(r)が所定の判定値以下のときに第1タイプと判定し、その範囲における最小のr方向ヒストグラム値Hr(r)がその判定値を超えるときに第2タイプと判定する。
【0027】
次に、ステップS118では、内フック32及び外フック34の位置(座標)を検出する。この処理では、r方向ヒストグラムが利用される。この処理では、以下の(1)、(2)のように、渦巻きばね30のタイプ毎に異なる処理が実行される。
(1)第1タイプの場合
(外フック位置)
図7(a)に示すように、渦巻きばね30の極座標画像において、重心Gから最も遠い極座標(θout,Rout)を、外フック34の極座標画像における位置として検出する。外フック34の極座標(θout,Rout)は、以下のように特定される。先ず、注目座標rを最大値(極座標画像の右端)から順に減算していき、r方向ヒストグラム値Hr(r)が所定のしきい値TH(図示省略)を超えるときのr座標を、外フック34のr座標Routとする。次いで、極座標画像においてr=Routの1ラインに注目し、そのライン上でグレイスケール値Polar(θ,Rout)が最小となるθ座標を、外フック34のθ座標θoutとする。算出された外フック34の極座標(θout,Rout)は、外フック34の直交座標(xout,yout)に変換される。
【0028】
(内フック位置)
図7(a)に示すように、渦巻きばね30の極座標画像において、重心Gから最も近い極座標(θin,Rin)を、内フック32の極座標画像における位置の位置として検出する。内フック32の極座標(θin,Rin)は、以下のように特定される。先ず、注目座標rをr=0(極座標画像の左端)から順に加算していき、r方向ヒストグラム値Hr(r)が所定のしきい値THcを超えるときのr座標rthcを特定する。次に、注目座標rをr=rthcから順に減算していき、r方向ヒストグラム値Hr(r)がゼロとなるr座標rc0を特定する。内フック32のr座標Rinは、r方向ヒストグラム値Hr(r)がゼロとなる1つ前のr座標として、Rin=rc0+1と特定される。次に、極座標画像においてr=Rinの1ラインに注目し、そのライン上でグレイスケール値Polar(θ,Rin)が最小となるθ座標を、内フック32のθ座標θinとする。算出された内フック32の極座標(θin,Rin)は、内フック32の直交座標(xin,yin)に変換される。
【0029】
(2)第2タイプの場合
(外フック位置)
図8(a)に示すように、渦巻きばね30の極座標画像において、重心Gから最も遠い極座標(θout,Rout)を、外フック34の極座標画像における位置として検出する。外フック34の極座標(θout,Rout)及び直交座標(xout,yout)は、上記した第1タイプと同じように特定される。
(内フック位置)
図8(a)に示すように、渦巻きばね30の極座標画像において、極座標画像のくびれた部分の極座標(θin,Rin)を、内フック32の極座標画像における位置として検出する。先ず、注目座標rをr=Routから順に減算していき、r方向ヒストグラム値Hr(r)が所定のしきい値THdを超えるときのr座標を、渦巻きばね30の仮の外径Rdとして特定する。次いで、15≦r<Rdの範囲のr方向ヒストグラム値Hr(r)に注目し、r方向ヒストグラム値Hr(r)の最小値hmと、その最小値hmを与えるr座標Rmを、仮の内フックのr座標として特定する。図9に、r座標Rmの近傍におけるr方向ヒストグラムを拡大して示す。図9に示すように、次いで、仮の内フック座標Rmを起点に、r座標をr=Rmからr=Rm+Δまで順に加算していき、r方向ヒストグラム値Hr(r)がhm+δを超えるr座標rbを特定する。また、r座標をr=Rmからr=Rm−Δまで順に減算していき、r方向ヒストグラム値Hr(r)がhm+δを超えるr座標raを特定する。そして、r座標raとr座標rbの中央値(ra+rb)/2を、内フック32のr座標Rinとする。内フック32のθ座標θinは、第1タイプと同様に、グレイスケール値Polar(θ,Rin)が最小となるθ座標を、内フック32のθ座標θinとする。算出された内フック32の極座標(θin,Rin)は、内フック32の直交座標(xin,yin)に変換される。
【0030】
次いで、図3のステップS120、S122では、図10に示す外フック領域104の特定が行われる。外フック領域104とは、渦巻きばね30の撮影画像100のなかで、その外フック34が撮影されている領域である。本実施例の形状測定装置10は、以下に説明する処理によって、渦巻きばね30の撮影画像100から外フック領域104を特定する。なお、ステップS120、S122の処理は、渦巻きばね30のタイプによらず共通である。
先ず、ステップS120において、図10に示す外フック領域104の境界半径Rcutを特定する。この境界半径Rcutは、外フック領域104の半径方向内側の境界を決定するものである。境界半径Rcutは、以下のように特定される。図11(a)(b)に示すように、注目座標rを最大値(極座標画像の右端)から順に減算していき、r方向ヒストグラム値Hr(r)が所定のしきい値THr/2を超えるときのr座標を、外フック34のr座標Rcutとする。
【0031】
次いで、ステップS122では、図10に示す外フック領域104の周方向の境界である境界上限角θeと境界下限角θsを特定する。これらの境界上限角θeと境界下限角θsは、外フック領域104の周方向の境界を決定するものである。境界上限角θeと境界下限角θsは、以下のように特定される。先ず、図11(a)に示す極座標画像のr座標が境界半径Rcutよりも大きい範囲に対し、θ方向ヒストグラムHo(θ)を作成する。図12に、θ方向ヒストグラムHo(θ)を示す。θ方向ヒストグラムHo(θ)は、θ座標毎に、グレイスケール値Polar(θ,r)をr軸に沿って加算したものである。θ方向ヒストグラムHo(θ)は、下記の式によって算出される。なお、下記式のTHoは、ノイズを除去するためのしきい値である。
【0032】
【数3】
【0033】
図12に示すθ方向ヒストグラムHo(θ)において、注目座標θを、ステップS118で特定した内フック32のθ座標であるθinからθin+θ1(θ1:既定の角度値)まで増加させていき、θ方向ヒストグラムHo(θ)がゼロとなるθ座標θoeを特定する(Ho(θoe)=0)。また、注目座標θを、θinからθin−θ1まで減算させていき、θ方向ヒストグラムHo(θ)がゼロとなるθ座標θosを特定する(Ho(θos)=0)。外フック領域104の境界上限角θeと境界下限角θsは、ここで特定したθ座標θoeとθosに余裕幅θ2(θ2<θ1)を与え、境界上限角θe=θoe+θ2、境界下限角θs=θos−θ2と定める。
以上により、外フック領域104を画定する境界半径Rcut、境界上限角θe、及び境界下限角θsが決定され、外フック領域104が特定される。これらの境界値Rcut,θe,θsにより、渦巻きばね30の撮影画像100から、図13に示すような外フック34のみを示す外フック画像114を得ることができる。
【0034】
次に、図3のステップS124では、図14に示す内フック領域102の特定が行われる。内フック領域102とは、渦巻きばね30の撮影画像100のなかで、その内フック32が撮影されている領域である。本実施例の形状測定装置10は、以下に説明する処理によって、渦巻きばね30の撮影画像100から内フック領域102を特定する。なお、ステップS124の処理は、渦巻きばね30のタイプによって一部の処理が相違する。
【0035】
(1)第1タイプの場合
図15に示すように、内フック領域102は、極座標画像上で矩形の範囲となる。従って、図15に示すr軸(半径軸)方向の境界線r=rcとθ軸(角度軸)方向の境界線θ=θis,θ=θieを決定することにより、図14に示す扇形の内フック領域102を特定することができる。
境界線r=rc,θ=θis,θ=θieの決定には、ステップS118で算出した内フック32のθ座標θinを基準に、角度範囲θin≦θ≦θin+k(k=0,1,2,・・・)のグレイスケール値Polar(θ,r)をr座標毎に累積した累積ヒストグラムHin(r,k)を用いる。累積ヒストグラムHin(r,k)は、下記式によって算出することができる。
【0036】
【数4】
【0037】
図16(a)(b)に、累積ヒストグラムHin(r,k)を例示する。図16(a)は、k=0の累積ヒストグラムHin(r,0)を示す。Hin(r,0)は、Polar(θin,r)に等しい。図16(b)は、累積ヒストグラムHin(r,k)を示す。このように、累積ヒストグラムHin(r,k)には、渦巻きばね30の巻数に応じて複数の山が現われる。このうち、左端の山は内フック32を示し、その隣の山は、内フック32より1本外側の素線を示す。従って、内フック32を示す山の右端点をakとし、1本外側の素線を示す山の左端点をbkとすると、内フック領域102の径方向の境界線r=rcは、ak<rc<bkの範囲内に特定することができる。点akと点bkは、累積するライン数kが増加するほど、互いに間隔が狭くなる。そのことから、累積するライン数kを増加させるほど、境界線r=rcを正確に特定することができる。ただし、ライン数kを増加させすぎると、ak=bk、あるいはak>bkとなり、境界線r=rcを特定することができなくなる。従って、ak<bkとなる範囲で累積するライン数kを増加させていき、内フック領域102の径方向の境界線r=rcを、rc=(ak+bk)/2として特定する。
【0038】
上記した累積ヒストグラムHin(r,k)の作成、及び径方向の境界線r=rcの特定は、内フック32のθ座標θinを基準に、θ座標の正方向及び負方向のそれぞれについて行う。即ち、k=0°,1°,2°,・・・,θ3(既定の角度値)までの範囲について、仮の境界線r=rc1=(ak+bk)/2の探索を行い、そのときのθ座標θin+θ3を内フック領域102の境界上限角θie=θin+Δpとする(Δp=k)。また、k=0°,−1°,−2°,・・・,−θ3まで範囲についても、仮の境界線r=rc2=(ak+bk)/2の探索を行い、そのときのθ座標θin+kを内フック領域102の境界下限角θis=θin−Δmとする。そして、算出した2つの仮の境界線r=rc1,rc2のうち、大きい方を真の境界線r=rcとして選択する。
以上により、第1タイプの渦巻きばねに対して、内フック領域102を画定する境界半径rc、境界上限角θie、及び境界下限角θisが決定され、内フック領域102が特定される。これらの境界値rc,θie,θisにより、渦巻きばね30の撮影画像100から、図17に示すような内フック32のみを示す内フック画像112を得ることができる。
【0039】
ここで、上記で算出した仮の境界線r=rc1,rc2を用いて、渦巻きばね30の巻き方向を判定することが可能となる。なお、渦巻きばね30の巻き方向とは、渦巻きばね30に特有のものではなく、渦巻きばね30が照明器14上に置かれた向きを意味するものである。本実施例の形状測定装置10は、算出した二つの仮の境界線r=rc1,rc2を用い、rc1>rc2であれば右巻きと判定し、rc1<rc2であれば左巻きと判定する。形状測定装置10は、渦巻きばね30を撮影する際に、右巻きとなる向きに載置されることが前提となっている。そのことから、この段階で左巻きと判定された場合、その旨をディスプレイ20に表示して作業者に報知する。なお、作業者に報知することなく、撮影画像100を左右反転させた上で、ステップS112の処理からやり直してもよい。
【0040】
(2)第2タイプの場合
次に、第2タイプの渦巻きばね30に関して、内フック領域102を特定する処理について説明する。第2タイプの渦巻きばね30では、内フック32が重心G上に位置するため、内フック領域102が第1タイプのような扇形状とはならない。そのことから、第2タイプの渦巻きばね30では、第1タイプと同じように境界半径rcを求めた後、内フック32のr座標Rin、渦巻きばねの重心G:(cx,cy)を用いて、下記式を満たす範囲を内フック領域102として特定する。
【0041】
【数5】
【0042】
以上の処理により、図3に示すステップS112からステップS124までの処理が終了し、渦巻きばね30の撮影画像100から、内フック領域102及び外フック領域104の特定が完了する。即ち、図2に示すステップS14のフック領域の特定が完了する。
【0043】
次に、図2のステップS16では、各種の寸法を算出する処理に先立ち、撮影画像100に対する前処理が行われる。具体的には、撮影画像100に対して二値化処理を行い、渦巻きばね30の二値化画像を得る。また、内フック画像112(図17参照)及び外フック画像114(図13参照)に対して二値化処理を行い、二値化した内フック画像112及び外フック画像114を得る。以下の処理では、渦巻きばね30のグレイスケール画像及び二値化画像と、内フックのグレイスケール画像及び二値化画像、外フックのグレイスケール画像及び二値化画像が用いられる。
【0044】
次に、図2のステップS18では、図18(a)(b)に示す基準線x=α・y+βの算出処理が行われる。この基準線は、内フックに沿ってその略中央を伸びる直線である。先ず、図18(a)に示すように、内フックのグレイスケール画像に対してx方向のソベルフィルタを施し、横方向エッジを検出する。次いで、Hough変換による直線検出によって、内フック32の両側に沿って伸びる2本の直線x=α1・y+β1,x=α2・y+β2を検出する。そして、これら2本の直線x=α1・y+β1,x=α2・y+β2の平均直線を、基準線x=α・y+βとして算出する。即ち、α=(α1+α2)/2,β=(β1+β2)/2である。基準線x=α・y+βを算出した後、図18(b)に示すように、内フックの先端Ptip:(xtip,ytip)を得る。内フックの先端Ptip:(xtip,ytip)は、内フックの二値化画像において、基準線x=α・y+βに沿ってy座標を下方に変化させ、最初に黒画素となる点である。
【0045】
ここで、基準線x=α・y+βが特定されることにより、以下に説明する処理によって、渦巻きばね30の巻き方向を判定することが可能となる。なお、渦巻きばね30の巻き方向とは、渦巻きばね30に特有のものではなく、渦巻きばね30が照明器14上に置かれた向きを意味するものである。
図18(b)では、渦巻きばね30が右巻きとなっており、内フックが左方に連なっている。この場合、基準線x=α・y+βを境界とし、その左右の領域について画素値の合計値を比較すると、左側の領域のほうがその合計値が大きくなる。従って、基準線x=α・y+βを境界とし、左右の領域について画素値の合計値を比較すると、渦巻きばね30の巻き方向を判別することができる。また、左右の領域で画素値の合計値を算出する際に、基準線x=α・y+βからの距離が遠い画素については、その画素値を増大させるように重み付けを行うと、左右の領域の間で画素値の合計に顕著な差異が生じることから、渦巻きばね30の巻き方向をより正しく判別することが可能となる。
【0046】
次に、図2のステップS20では、内フック先端からの距離Dtipを算出する処理が実行される。図19に示すように、内フック先端からの距離Dtipとは、内フックの先端Ptipから最内周の素線までの距離を意味する。この処理では、内フックの二値化画像を用い、内フックの先端Ptipから一つ上方の点を起点に、基準線x=α・y+β上を上方に辿りながら、最初に黒画素となる点を検出する。そして、検出された点の一つ前の点と、内フックの先端Ptipとの距離を、内フック先端からの距離Dtipとして算出する。
【0047】
次に、図2のステップS22では、内フック長さLihを算出する処理が実行される。この処理では、内フックの二値化画像、基準線x=α・y+β、内フック先端Ptip:(xtip,ytip)が用いられる。図20を参照しながら、ステップS22の処理を以下に説明する。
先ず、内フック先端Ptipを通り、基準線x=α・y+βに直交する直線y=a・x+bを求める。さらに、その直線y=a・x+bを下方(y軸正方向)にNa(Na:既定の整数)ポイント移動させた直線y=a・x+b+Naを求める。次いで、その直線y=a・x+b+Naを下方に1ポイントずつ移動させながら、直線上に黒画素が存在しなくなる直線y=a・x+b+Na+nを特定する。次いで、その直線y=a・x+b+Na+nの一つ前の直線y=a・x+b+Na+n−1を、内フック接線y=as・x+bsとする。次いで、内フック接線y=as・x+bsと基準線x=α・y+βとの交点(xcr,ycr)を求める。そして、その交点(xcr,ycr)と内フック先端Ptipとの距離を求め、その距離を内フック長さLihとする。
【0048】
次に、図2のステップS24では、中心位置を算出する処理が実行される。この処理では算出される中心位置は、渦巻きばねの中心を示す位置であり、以後の処理において基準として用いられるものである。この処理では、基準線x=α・y+β、内フック接線y=as・x+bs、内フック接線と基準線との交点(xcr,ycr)、内フック下端から中心までの距離distが用いられる。ここで、内フック下端から中心までの距離distは、作業者によって入力される値である。
中心位置の算出は、以下の手順で行われる。先ず、内フック接線y=as・x+bsを上方に距離distだけ平行移動した直線y=as・x+bs−distを求める。次いで、直線y=as・x+bs−distと基準線x=α・y+βとの交点を求め、その交点を中心位置Pc:(cx,cy)とする。
【0049】
次に、図2のステップS26では、内径Dinを算出する処理が実行される。この処理では、渦巻きばね30の撮影画像100、基準線x=α・y+β、中心位置Pc:(cx,cy)が用いられる。図21を参照しながら、このステップS26の処理を以下に説明する。
先ず、中心位置Pc:(cx,cy)を通り、基準線x=α・y+βに垂直な内径直線y=a・x+bcを求める。次いで、内径直線y=a・x+bc上の画素の濃度を、中心位置Pc:(cx,cy)から順にx座標を減算しながら確認していき、白画素から黒画素へと変化する一つ手前の点p1を検出する。同様に、内径直線y=a・x+bc上の画素の濃度を、中心位置Pc:(cx,cy)から順にx座標を加算しながら確認していき、白画素から黒画素へと変化する一つ手前の点p2を検出する。そして、検出した点p1と点p2の距離を、渦巻きばね30の内径Dinとして算出する。
【0050】
次に、図2のステップS28では、内フックの曲率半径Rin及び外フックの曲率半径Rohを算出する処理が実行される。この処理では、内フックの二値化画像、外フックの二値化画像、内フック領域の座標、外フック領域の座標が用いられる。なお、内フックの曲率半径Rinと外フックの曲率半径Rohは、同じ手順によって算出される。従って、ここでは外フックの曲率半径Rohの算出手順についてのみ説明し、内フックの曲率半径Rinの算出手順についての説明は省略する。また、渦巻きばね30のタイプに応じた処理の変更もない。
先ず、外フックの二値化画像と外フック領域の座標を用い、外フックの二値化画像から外フック領域のみを切り出す。次いで、その外フック領域の切り出し画像から、外フックの重心Gmを求める。次いで、外フック領域の切り出し画像に対して輪郭線追跡を行い、図22に示すように輪郭座標系列Pi(i=0,1,・・・n−1)を取得する。このとき、輪郭線のノイズを必要に応じて除去するとよい。次いで、重心Gmと輪郭座標系列Piとの距離系列diを求める。図23に、距離系列diを例示する。ここで、距離系列の始端d0と終端dn−1は連続しており、dn=d0の関係にある。
距離系列diを求めた後、下記式で表される相関値r(k)をk=0,1,2,・・・,n−1についてそれぞれ求める。この相関値r(k)は、外フックの内側輪郭線と外側輪郭線の境界点pb,pdを特定するために用いられる。
【0051】
【数6】
【0052】
上記した相関値r(k)は、距離系列diが注目点(k,dk)を境に対称形となるとき、最大値である1を出力するものである。図22に示す外フックの輪郭線上の点pb及び点pdは、外フックの内側輪郭線と外側輪郭線の境界に位置する点である。外フックの内側輪郭線と外側輪郭線は、比較的に近似した形状を有している。そのことから、それら境界に位置する点pb及び点pdでは、上記した相関値r(k)が1に近い値を取ることになる。即ち、上記した相関値r(k)が極大となる輪郭線上の点を特定することで、外フックの内側輪郭線と外側輪郭線の境界位置を特定することができる。
なお、上記の数式6で示した相関値r(k)は、輪郭線同士の類似度又は距離(非類似度)を表す他の指標に置き換えることもできる。例えば、数式6の代わりに相関係数、ユークリッド距離、シティブロック距離などを用いて内側輪郭線と外側輪郭線の境界位置を特定してもよい。
【0053】
図24は、算出される相関値r(k)の一例を示す。図24に示すように、相関値r(k)では、極大値となる点が4点存在する。これらの4点は、図22に示す4点P1,P2,P3,P4に対応する。従って、相関値r(k)を算出することにより、内側輪郭線と外側輪郭線の境界点を含む4点を特定することができる。
次いで、特定した4点を輪郭線追跡の順に並べ、奇数順のペア(ここでは点P1と点P3)と偶数順のペア(ここでは点P2と点P4)のそれぞれについて、2点間の距離を算出する。そして、算出された距離が大きい方のペア(ここでは点P2と点P4)を、内側輪郭線と外側輪郭線の境界点として特定する。
次いで、境界点P1から鏡界点P3に到る第1の輪郭座標系列P1−P3と、境界点P2から境界点P4に到る第2の輪郭座標系列P2−P4のうち、どちらが内側輪郭線であるのかを判定する。そのために、第1の輪郭座標系列P1−P3と第2の輪郭座標系列P2−P4のそれぞれについて、輪郭座標系列と重心Gmとの距離の最小値を求め、その最小距離が小さいほうの輪郭座標系列を内側輪郭線(ここではP2−P4)と判定する。それにより、図25に示すように、内側輪郭線のみの輪郭線系列を得ることができる。
【0054】
次いで、内側輪郭線のみの内側輪郭線系列を用い、内側輪郭線系列における角度最大点を特定する。角度最大点とは、内側輪郭線の向きが最も変化する点であり、外フックの屈曲部を示す点である。先ず、図25に示すように、誤検出の防止を目的として内側輪郭線系列の両端Nbポイント(Nb:既定の整数)を削除しておく。次いで、下記式で表される平均ベクトルm(k)、平均ベクトルp(k)を算出する。相関値r(k)をk=0,1,2,・・・,n−1についてそれぞれ求める。
【0055】
【数7】
【0056】
上記した平均ベクトルm(k)は、注目点(xtk,ytk)からそのNcポイント前(Nc:既定の整数)までの輪郭線系列が向いている方向を、大局的に示すものである。一方、平均ベクトルp(k)は、注目点(xtk,ytk)からそのNcポイント後ろまでの輪郭線系列が向いている方向を、大局的に示すものである。これら2つの平均ベクトルm(k),p(k)の方向が最も異なるとき、その注目点(xtk,ytk)を角度最大点として求めることができる。本実施例では、平均ベクトルm(k),p(k)が成す角θkについてその余弦cosθkを求め、1−cosθkが最大となる注目点(xtk,ytk)を角度最大点Pmaxとする(図26参照)。図27に示すように、角度最大点Pmaxを求めた後、その前後Ndポイント分(Nd:既定の整数)を切り出し、外フックの屈曲部に相当する輪郭線座標系列を抽出する。
【0057】
次に、上記で抽出した輪郭線系列(図27参照)を用い、その輪郭線系列に角度最大点Pmaxで内接する円を、Hough変換によって算出する。それにより、図28に示すように、外フックに内接する円の中心Pco:(xco,yco)とその半径Roh、即ち、外フック曲率半径Rohを算出することができる。
【0058】
次に、図2のステップS30では、フリー角度θfを算出する処理が実行される。この処理では、外フックの二値化画像、基準線x=α・y+β、中心位置(座標)Pc:(xc,yc)、外フック曲率半径Rohの中心Pcoが用いられる。図29を参照しながら、ステップS30の処理を以下に説明する。
先ず、中心座標Pc:(xc,yc)と外フック曲率半径Rohの中心Pcoとの距離Routを算出する。次いで、中心座標Pc:(xc,yc)を中心とし、半径を上記した距離Routとする円を作成する。次いで、作成した円と外フックの二値化画像が重なる座標群のなかで、外フック曲率半径Rohの中心Pcoに最寄りの点を、外フックの内側接点Pbo:(xb,yb)として求める。次いで、中心位置Pc:(xc,yc)と外フックの内側接点Pbo:(xb,yb)を通る直線y=af・x+bfを、フリー角度直線として求める。そして、フリー角度直線y=af・x+bfと基準線x=α・y+βが成す角を、フリー角度θfとして求める。
【0059】
次に、図2のステップS32では、フック半径HRを算出する処理が実行される。この処理では、中心座標Pc:(xc,yc)、外フックの内側接点Pbo:(xb,yb)が用いられる。図30に示すように、この処理では、中心座標Pc:(xc,yc)と外フックの内側接点Pbo:(xb,yb)との距離が、フック半径HRとして算出される。
【0060】
次に、図2のステップS34では、外フック長さLohを算出する処理が実行される。この処理では、外フックの二値化画像と、中心位置(座標)Pc:(xc,yc)が用いられる。図31、図32を参照しながら、ステップS34の処理について説明する。
先ず、外フックの二値化画像に対して輪郭線追跡を行い、図31に示すような輪郭座標系列Pi(i=0,1,・・・n−1)を取得する。このとき、輪郭線のノイズを必要に応じて除去するとよい。次いで、下記式で表される平均ベクトル角系列cosθkを、k=0,1,2,・・・,n−1についてそれぞれ求める。この平均ベクトル角系列cosθkは、外フック先端の角部Q1、Q2を特定するために用いられる。
【0061】
【数8】
【0062】
上記した平均ベクトル角系列cosθkは、注目点(xk,yk)の前後Neポイント分(Ne:既定の整数)の輪郭座標系列を用い、注目点(xk,yk)が外フックの角部Q1〜Q4に相当する場合に、ゼロに近い値を出力するものである。従って、平均ベクトル角系列cosθを求め、それが極小値をとるときの4点を求めることにより、図31に示す4箇所の外フックの角部Q1〜Q4を特定することができる。そして、特定した4箇所の角部Q1〜Q4のうち、中心位置Pcから最も遠い2点を選択することにより、外フック先端の角部Q1、Q2を特定することができる。
【0063】
次いで、外フック先端の角部Q1、Q2の間の輪郭座標系列を、直線に近似する処理を行う。直線近似は、例えば最小二乗法を用いることができるが、最小二乗法は局所的なノイズに影響を受けやすい。そのことから、本実施例では、下記式による直線式A・y+B・x=1を得る。直線A・y+B・x=1を、外フック先端直線という。
【0064】
【数9】
【0065】
次いで、外フック先端直線A・y+B・x=1を、外フックの外側輪郭線に接する位置まで平行移動させ、外フック長さLohを求める。ここで、外フック先端直線A・y+B・x=1を平行移動させる方向は、下記式のように定められている。ここで、(x(m+l)/2,y(m+l)/2)は、外フック先端の角部Q1、Q2の中間点であり、外フック先端点である。
【0066】
【数10】
【0067】
上記の関係式により、例えば−x方向に外フック先端直線A・y+B・x=1を移動させる場合、例えばkポイント移動させた時点で外フックの外側輪郭線に接するのであれば、その移動後の直線はA・y+B・x=1−B・kとなる。そして、フック線端点(x(m+l)/2,y(m+l)/2)と直線A・y+B・x=1−B・kの間の距離が、外フック長さLohとして算出される。
【0068】
次ぎに、図2のステップS36では、外フック角度θmtを算出する処理が実行される。この処理では、外フックの二値化画像、フリー角直線af・x+bf、外フック先端の角部Q1,Q2、外フック曲率半径Rohが用いられる。図33、図34を参照しながら、ステップS36の処理について説明する。
先ず、外フックの二値化画像に対して輪郭線追跡を行い、先のステップS34と同様に、輪郭座標系列を取得する(図31参照)。次いで、図33に示すように、外フック先端の角部Q1,Q2をそれぞれ始点とし、Nfポイント分(Nf:既定の整数)の輪郭座標系列を取得する。一方の角部Q1を始点とするものは、外側の輪郭線に沿う輪郭座標系列であり、他方の角部Q1を始点とするものは、内側の輪郭線に沿う輪郭座標系列である。次いで、図34に示すように、フリー角直線y=af・x+bfを、外フック曲率半径Rohの中心Pco:(xco,yco)まで平行移動させたシフト直線y=af・x+(yco+af・xco)を得る。次いで、図33に示すように、上記した2組のNfポイント分の輪郭座標系列の中間に位置する中間座標系列Pmを求める。ここで、中間座標系列Pmの算出は、上記したシフト直線との距離が1未満となる位置で打ち切る。次いで、中間座標系列Pmを最小二乗法の一次式にあてはめ、図34に示す近似直線y=Am・x+Bmを得る。そして、フリー角直線y=af・x+bfと近似直線y=Am・x+Bmとが成す角を、外フック角度θmtとして算出する。
【0069】
次に、図2のステップS38では、これまでに計算した各部の寸法をディスプレイ20に表示する。ディスプレイ20には、(1)渦巻きばねの内径Din、(2)フリー角度θf、(3)フック半径HR、(4)外フック長さLoh、(5)内フック長さLih、(6)外フック曲率半径Roh、(7)内フック曲率半径Rih、(8)外フック角度θmt、(9)内フック先端からの距離Dtipが表示される。以上により、形状測定装置10による渦巻きばね30の形状測定処理が終了する。
【0070】
本実施例の形状測定装置10は、特定の形状を有する渦巻きばね30に限らず、様々な形状の渦巻きばね30の形状を、同じように測定することができる。特に、形状測定装置10は、渦巻きばね30の形状にかかわらず、渦巻きばね30の撮影画像100から内フック32と外フック34を特定し、内フック32や外フック34を基準とする寸法測定を正確に行うことができる。
【0071】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は、複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0072】
【図1】形状測定装置の構成を示す図。
【図2】形状測定装置による形状測定の流れを示すフローチャート。
【図3】フック領域を特定する処理の流れを示すフローチャート。
【図4】形状測定装置が寸法を測定する箇所を示す図。
【図5】渦巻きばねの撮影画像を示す図(第1タイプ)。
【図6】渦巻きばねの撮影画像を示す図(第2タイプ)。
【図7】第1タイプの渦巻きばねについて、図7(a)は極座標画像を示し、図7(b)はr方向ヒストグラムを示す。
【図8】第2タイプの渦巻きばねについて、図8(a)は極座標画像を示し、図8(b)はr方向ヒストグラムを示す。
【図9】図8(b)の一部を拡大して示す図。
【図10】外フック領域を示す図。
【図11】外フック領域の境界半径Rcutを説明する図。
【図12】θ方向ヒストグラムを示す図。
【図13】外フック画像を示す図。
【図14】内フック領域を示す図。
【図15】内フック領域を極座標画像に示す図。
【図16】累積ヒストグラムを説明する図。
【図17】内フック画像を示す図。
【図18】基準線の算出処理を説明する図。
【図19】内フック先端からの距離Dtipの算出処理を説明する図。
【図20】内フック長さLihの算出処理を説明する図。
【図21】内径Dinの算出処理を説明する図。
【図22】外フック画像の輪郭座標系列及び距離系列を説明する図。
【図23】距離系列diの一例を示すグラフ。
【図24】相関値r(k)の一例を示すグラフ。
【図25】外フックの内側輪郭線の座標系列を示す図。
【図26】角度最大点の算出に用いる平均ベクトルの成す角を示す図。
【図27】外フックの屈曲部の輪郭線座標系列を示す図。
【図28】外フックに内接する円とその半径(外フック曲率半径)Rohを示す図。
【図29】フリー角度θfの算出処理を説明する図。
【図30】フック半径HRの算出処理を説明する図。
【図31】外フック先端の角部Q1、Q2を特定する処理を説明する図。
【図32】外フック長さLohの算出処理を説明する図。
【図33】外フック先端の角部Q1、Q2を始点とする起点輪郭座標系列を示す図。
【図34】外フック角度θmtの算出処理を説明する図。
【符号の説明】
【0073】
10:形状測定装置
12:ステージ
14:照明器
16:CCDカメラ
18:通信線
20:ディスプレイ
22:コンピュータ
30:渦巻きばね
32:渦巻きばねの内フック
34:渦巻きばねの外フック
【技術分野】
【0001】
本発明は、画像処理を用いて物体の形状を測定する技術に関する。特に、画像処理を用いて渦巻きばねの形状を測定する技術に関する。ここでいう渦巻きばねとは、平面視したときに、内フックから外フックまで渦巻状に伸びるばねを意味する。
【背景技術】
【0002】
特許文献1に、画像処理を用いて物体の形状を測定する技術が開示されている。この技術では、測定対象である物体を撮影した撮影画像から、予め登録された測定対象領域を抽出し、抽出した測定対象領域の画像を用いて物体の各部の寸法を測定する。測定対象領域を抽出する際には、基準となる物体を撮影した基準画像の測定対象領域を用い、パターンマッチングによる測定対象領域の補正を行なっている。
【0003】
【特許文献1】特開平11−334244号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1の技術は、渦巻きばねの形状測定にも適用することができる。渦巻きばねの形状測定では、主に、内フックや外フックの位置や形状を測定する必要がある。そのことから、特許文献1の技術を用いる場合には、前記した測定対象領域を内フックや外フックの位置に合わせて登録しておく必要がある。
しかしながら、渦巻きばねの場合、必要とされるばね定数等の特性に応じて、その形状が様々に変化する。従って、特許文献1の技術を利用するためには、渦巻きばねの形状に応じて、測定対象領域を個々に設定しておく必要がある。さらに、渦巻きばねの場合、同一種類の渦巻きばねであっても、例えば外フックの位置等が比較的にばらつきやすく、その形状に個体差が生じやすい。そのことから、予め設定された測定対象領域では、内フックや外フックの像を抽出できない場合がある。
上記の問題を鑑み、本発明は、渦巻きばねの撮影画像から内フックや外フックの位置を正しく特定することができる技術を提供する。
【課題を解決するための手段】
【0005】
本発明は、内フックから外フックまで渦巻状に伸びる渦巻きばねの形状を測定する形状測定装置に具現化されるこの形状測定装置は、渦巻きばねを撮影した撮影画像を入力する画像入力手段と、前記撮影画像を極座標変換した極座標画像を作成する画像変換手段と、前記極座標画像を用いて、内フックが撮影されている内フック位置、及び/又は、前記撮影画像中の外フックが撮影されている外フック位置を、前記撮影画像中に特定するフック位置特定手段を備えている。
【0006】
この形状測定装置では、渦巻きばねの撮影画像に対して極座標変換を行い、極座標画像を作成する。極座標画像では、半径軸に沿って、内フックと素線の周回部分と外フックが、互いに分かれて存在する。そのことから、内フックや外フックの位置を、正確に特定することが可能となる。極座標画像上で特定された内フックや外フック位置は、直交座標への逆変換を行うことによって、撮影画像における内フックや外フック位置に変換することができる。
この形状測定装置によると、渦巻きばねの撮影画像から内フックや外フックの位置を正しく特定することができ、渦巻きばねの形状測定を正しく行うことができる。
【0007】
上記した形状測定装置において、フック位置特定手段は、極座標画像の各画素値を半径軸方向の位置毎に加算したr方向ヒストグラムを作成し、そのr方向ヒストグラムを用いて内フック位置及び/又は外フック位置を特定することが好ましい。
上記のようなr方向ヒストグラムを用いると、内フック位置や外フック位置を正確かつ容易に特定することが可能となる。
【0008】
本発明に係る形状測定装置は、前記した内フック位置及び/又は外フック位置を用いて、撮影画像中の内フックが撮影されている内フック領域、及び/又は、外フックが撮影されている外フック領域を特定するフック領域特定手段をさらに備えることが好ましい。
この装置によると、渦巻きばねの撮影画像から内フックや外フックの撮影領域を抽出し、内フックや外フックの形状、あるいは内フックや外フックを基準とする渦巻きばね全体の形状を正確に測定することができる。
【0009】
前記したフック領域特定手段は、前記極座標画像の各画素値を半径軸方向の位置毎に加算したr方向ヒストグラムと、前記極座標画像の各画素値を角度軸方向の位置毎に加算したθ方向ヒストグラムを作成し、そのr方向ヒストグラムとθ方向ヒストグラムを用いて前記内フック領域及び/又は外フック領域を特定することが好ましい。
上記のようなr方向ヒストグラムとθ方向ヒストグラムを用いると、内フック領域や外フック領域を正確かつ容易に特定することができる。
【0010】
前記したフック領域特定手段は、前記r方向ヒストグラムを用いて外フック領域の半径方向の境界位置を特定し、前記θ方向ヒストグラムを用いて外フック領域の周方向の境界位置を特定することが好ましい。
この手法によると、特に外フック領域を正確かつ容易に特定することができる。
【0011】
前記したフック領域特定手段は、前記極座標画像の内フック上を通る半径軸に平行なラインを順次抽出し、抽出したライン上の各画素値を半径軸方向の位置毎に加算していく累積ヒストグラムを作成し、その累積ヒストグラムを用いて前記内フック領域を特定することが好ましい。
上記のような累積ヒストグラムを用いると、例えば内フックが極座標変換の原点に重なる場合でも、内フック領域を正確に特定することができる。
【0012】
前記した画像変換手段は、撮影画像に撮影された渦巻きばねの像の重心を算出し、その重心を中心として極座標変換を行うことが好ましい。
この手法によると、撮影画像に撮影された渦巻きばねの位置にかかわらず、内フックや外フックの位置を正しく特定することができる。
【0013】
本発明の形状測定装置は、撮影画像に撮影された渦巻きばねの巻き方向を判別する第1の巻き方向判別手段を備えることが好ましい。第1の巻き方向判別手段は、前述した累積ヒストグラムを用いて、渦巻きばねの巻き方向を判別することが好ましい。
前述した累積ヒストグラムは、撮影画像に撮影された渦巻きばねの巻き方向に応じて、その形状が対称的に変化する。そのことから、累積ヒストグラムのこの特徴を利用すると、撮影画像に撮影された渦巻きばねの巻き方向を判別することができる。渦巻きばねの巻き方向を判別することにより、内フックや外フックの位置を誤って特定することが防止される。
【0014】
本発明の形状測定装置は、撮影画像に撮影された渦巻きばねの巻き方向を判別する第2の巻き方向判別手段を備えることが好ましい。第2の巻き方向判別手段は、前記撮影画像を内フックに沿った直線によって分割し、分割した二つの領域を比較することによって、渦巻きばねの巻き方向を判別することが好ましい。
内フックの基端部では、渦巻きばねの素線がその巻き方向に応じて一方に湾曲していく。そのことから、撮影画像を内フックに沿った直線によって分割すると、一方の領域には内フックの基端部が存在し、他方の領域には内フックの基端部が存在しないことになる。そのことから、分割した二つの領域の画素値を比較することによって、撮影画像に撮影された渦巻きばねの巻き方向を判別することができる。渦巻きばねの巻き方向を判別することにより、内フックや外フックの位置を誤って特定することが防止される。
【0015】
本発明は、渦巻きばねの形状を測定する形状測定方法にも具現化される。この形状測定方法は、コンピュータに、渦巻きばねを撮影した撮影画像を入力する画像入力処理と、前記撮影画像を極座標変換した極座標画像を作成する画像変換処理と、前記極座標画像を用いて、内フックが撮影されている内フック位置、及び/又は、前記撮影画像中の外フックが撮影されている外フック位置を、前記撮影画像中に特定するフック位置特定処理を実行させる。
この方法によっても、渦巻きばねの撮影画像から内フックや外フックの位置を正しく特定することができ、渦巻きばねの形状測定を正しく行うことができる。
【0016】
本発明はさらに、渦巻きばねの形状を測定するためのプログラムにも具現化される。このプログラムは、コンピュータに、渦巻きばねを撮影した撮影画像を入力する画像入力処理と、前記撮影画像を極座標変換した極座標画像を作成する画像変換処理と、前記極座標画像を用いて、内フックが撮影されている内フック位置、及び/又は、前記撮影画像中の外フックが撮影されている外フック位置を、前記撮影画像中に特定するフック位置特定処理を実行させる。
このプログラムにより、コンピュータを用いて、渦巻きばねの撮影画像から内フックや外フックの位置を正しく特定することができ、渦巻きばねの形状測定を正しく行うことができる。
【発明の効果】
【0017】
本発明によれば、渦巻きばねを撮影した画像から内フックや外フックが撮影された位置を正しく特定し、渦巻きばねの形状を正しく測定することが可能となる。
【発明を実施するための最良の形態】
【0018】
本発明を実施するための好適な形態を列記する。
(形態1) 形状測定装置は、r方向ヒストグラムを用いて、渦巻きばねを第1タイプと第2タイプに分類することができる。ここで、第1タイプとは、内フックが渦巻きばねの重心に重ならないものを意味し、第2タイプとは、内フックが渦巻きばねの重心に重なるものを意味する。
(形態2) 形状測定装置は、以下の手順(1)−(4)により、渦巻きばねの撮影画像から、内フック又は外フックの特徴点を抽出することができる。
(1)渦巻きばねの撮影画像中に特定した内フック領域又は外フック領域から、内フック又は外フックの像の輪郭線を抽出する。
(2)抽出した輪郭線を座標点群で表す輪郭線座標系列を作成し、その輪郭線座標系列から複数の部分輪郭線系列を抽出する。
(3)抽出した複数の部分輪郭線系列に対して類似度又は距離尺度を算出する。
(4)算出した類似度又は距離尺度を用いて、内フック又は外フックの輪郭線上に特徴点を特定する。
(形態3) 形状測定装置は、上記の形態2で算出した特徴点を用いて、内フック又は外フックの輪郭線座標系列から内側輪郭線系列と外側輪郭線系列を特定することができる。
(形態4) 形状測定装置は、上記の形態3で特定した内側輪郭線系列と外側輪郭線系列の少なくとも一部を、円近似することができる。
(形態5) 形状測定装置は、コンピュータを用いて構成されている。コンピュータは、そのハードウエアや記憶しているソフトウエア(プログラム)によって、各処理を実行する構成が実現されている。
(形態6) 形状測定装置は、渦巻きばねを撮影し、その画像データを作成するカメラを備えている。
(形態7) 形状測定装置は、撮影画像を二値化処理することができる。
【実施例】
【0019】
本発明を具現化した実施例について図面を参照しながら説明する。図1は、本実施例の形状測定装置10を示す。形状測定装置10は、渦巻きばね30の各部の寸法を計測する装置である。
図1に示すように、形状測定装置10は、ステージ12と、ステージ12上に配置された照明器14と、ステージ12に固定されているCCDカメラ16と、CCDカメラ16に通信線18を介して接続されているコンピュータ22と、コンピュータ22に接続されているディスプレイ20を備えている。
照明器14は、面光源であり、その発光面上に渦巻きばね30が載置される。CCDカメラ16は、照明器14上に配置されており、照明器14上に載置された渦巻きばね30を撮影する。即ち、渦巻きばね30は照明器14によって下方から照明され、照明器14の透過光(渦巻きばね30の影)がCCDカメラ16によって撮影される。なお、照明器14は、本実施例のような透過照明に限定されず、渦巻きばね30を上方から照明するものでもよい。この場合、渦巻きばね30が全周方向から均等に照明されるように、複数の照明器やリング型の照明器を用いることが好ましい。
CCDカメラ16が撮影した画像データは、通信線18を介してコンピュータ22に入力される。コンピュータ22には、後述する形状測定処理を実行するためのプログラムが記憶されている。コンピュータ22は、CCDカメラ16が撮影した撮影画像の画像データを処理し、渦巻きばね30の各部の寸法を算出する。コンピュータ22は、算出した渦巻きばね30の各部の寸法を、ディスプレイ20に表示する。
【0020】
図2は、形状測定装置10による渦巻きばね30の形状測定の流れを示すフローチャートである。図3は、図2のフローチャートに示すステップS14のフック領域の特定処理の流れを示すフローチャートである。形状測定装置10は、図2、図3に示す工程、処理を経て、渦巻きばね30の各部の寸法値を測定する。図4は、形状測定装置10が寸法を測定する箇所を示す。図4に示すように、形状測定装置10は、(1)渦巻きばねの内径Din、(2)フリー角度θf、(3)フック半径HR、(4)外フック長さLoh、(5)内フック長さLih、(6)外フック曲率半径Roh、(7)内フック曲率半径Rih、(8)外フック角度θmt、(9)内フック先端からの距離Dtip、の9種の寸法を測定することができる。以下、図2、図3に示すフローチャートに沿って、形状測定装置10による渦巻きばね30の形状測定の流れを説明する。
【0021】
先ず、図2のステップS12において、CCDカメラ16により、渦巻きばね30の撮影を行う。図5、図6に、2種類の渦巻きばね30の撮影画像100を例示する。ここで、渦巻きばね30を撮影する際には、上から見て右巻きとなるように渦巻きばね30を配置する。また、内フック32がおよそ上方を向くように配置する。CCDカメラ16による撮影画像100は、コンピュータ22に入力される。
図5、図6に示す2種類の渦巻きばね30は、共に、内フック32から外フック34まで、渦巻状に伸びている。ただし、これら2種類の渦巻きばね30は、その内フック32の形状に有意な違いを有する。即ち、図5に示す渦巻きばね30は、その内フック32が渦巻きばね30の重心Gと重ならないが、図6に示す渦巻きばね30は、その内フック32が渦巻きばね30の重心Gと重なっている。本明細書では、図5に示す渦巻きばね30を第1タイプと称し、図6に示す渦巻きばね30を第2タイプと称する。形状測定装置10は、第1タイプと第2タイプの双方の渦巻きばね30の形状測定を行うことができる。詳しくは後述するが、形状測定装置10は、測定する渦巻きばね30が第1タイプであるのか第2タイプであるのかを判別し、一部の処理についてタイプ毎に異なる処理を実行する。なお、特に区別した説明がない場合は、第1タイプと第2タイプで共通の処理が行われるものとする。
撮影画像100は、画素(x,y)毎にグレイスケール値GS(x,y)を有するグレイスケール画像である。ここで、撮影画像100に対し、ノイズを除去する各種の処理を必要に応じて行うとよい。
【0022】
次に、図2のステップS14では、ステップS12で撮影された撮影画像100から、内フック32が撮影されている内フック領域と、外フック34が撮影されている外フック領域の特定が行われる。この内外フックの特定処理について、図3に示すフローチャ−トに沿って説明する。なお、このステップS14からS38までの処理は、コンピュータ22によって実行される。
先ず、図3のステップS112では、ステップS12による撮影画像100から、極座標画像を作成する。図7(a)に、第1タイプの渦巻きばね30(図5参照)の極座標画像を示す。図8(a)に、第2タイプの渦巻きばね30(図6参照)の極座標画像を示す。極座標画像の作成は、渦巻きばね30の像の重心G(cx,cy)を仮の中心として求めた後、以下の変換式によって行うことができる。なお、Polar(θ,R)は、極座標画像におけるグレイスケール値を示す。
【0023】
【数1】
【0024】
次に、ステップS114では、ステップS112で作成した極座標画像を用い、r方向ヒストグラムHr(r)を作成する。r方向ヒストグラムHr(r)は、極座標画像のグレイスケール値Polar(θ,R)をθ軸方向に加算して平均したものである。図7(b)に、第1タイプの渦巻きばね30(図5参照)のr方向ヒストグラムを示す。図8(b)に、第2タイプの渦巻きばね30(図6参照)のr方向ヒストグラムを示す。r方向ヒストグラム値Hr(r)は、下記の式によって算出される。なお、下記式のTHeは、ノイズを除去するためのしきい値である。
【0025】
【数2】
【0026】
次に、ステップS116では、内フック形状32の識別が行われる。即ち、測定対象の渦巻きばね30が、第1タイプであるのか第2タイプであるのかが判定される。この処理には、ステップS114で作成したr方向ヒストグラムが用いられる。図7(b)、図8(b)を比較して明らかなように、第1タイプの渦巻きばね30では、内フック32上に重心Gが位置しないので(図5参照)、r方向ヒストグラムではθ軸(r=0)の近傍の値が小さくなる。一方、第2タイプの渦巻きばね30では、内フック32上に重心Gが位置するので(図6参照)、r方向ヒストグラムではθ軸(r=0)の近傍は値が大きくなる。そのことから、このステップS116の処理では、0≦r≦15までのr方向ヒストグラム値Hr(r)に注目する。そして、その範囲における最小のr方向ヒストグラム値Hr(r)が所定の判定値以下のときに第1タイプと判定し、その範囲における最小のr方向ヒストグラム値Hr(r)がその判定値を超えるときに第2タイプと判定する。
【0027】
次に、ステップS118では、内フック32及び外フック34の位置(座標)を検出する。この処理では、r方向ヒストグラムが利用される。この処理では、以下の(1)、(2)のように、渦巻きばね30のタイプ毎に異なる処理が実行される。
(1)第1タイプの場合
(外フック位置)
図7(a)に示すように、渦巻きばね30の極座標画像において、重心Gから最も遠い極座標(θout,Rout)を、外フック34の極座標画像における位置として検出する。外フック34の極座標(θout,Rout)は、以下のように特定される。先ず、注目座標rを最大値(極座標画像の右端)から順に減算していき、r方向ヒストグラム値Hr(r)が所定のしきい値TH(図示省略)を超えるときのr座標を、外フック34のr座標Routとする。次いで、極座標画像においてr=Routの1ラインに注目し、そのライン上でグレイスケール値Polar(θ,Rout)が最小となるθ座標を、外フック34のθ座標θoutとする。算出された外フック34の極座標(θout,Rout)は、外フック34の直交座標(xout,yout)に変換される。
【0028】
(内フック位置)
図7(a)に示すように、渦巻きばね30の極座標画像において、重心Gから最も近い極座標(θin,Rin)を、内フック32の極座標画像における位置の位置として検出する。内フック32の極座標(θin,Rin)は、以下のように特定される。先ず、注目座標rをr=0(極座標画像の左端)から順に加算していき、r方向ヒストグラム値Hr(r)が所定のしきい値THcを超えるときのr座標rthcを特定する。次に、注目座標rをr=rthcから順に減算していき、r方向ヒストグラム値Hr(r)がゼロとなるr座標rc0を特定する。内フック32のr座標Rinは、r方向ヒストグラム値Hr(r)がゼロとなる1つ前のr座標として、Rin=rc0+1と特定される。次に、極座標画像においてr=Rinの1ラインに注目し、そのライン上でグレイスケール値Polar(θ,Rin)が最小となるθ座標を、内フック32のθ座標θinとする。算出された内フック32の極座標(θin,Rin)は、内フック32の直交座標(xin,yin)に変換される。
【0029】
(2)第2タイプの場合
(外フック位置)
図8(a)に示すように、渦巻きばね30の極座標画像において、重心Gから最も遠い極座標(θout,Rout)を、外フック34の極座標画像における位置として検出する。外フック34の極座標(θout,Rout)及び直交座標(xout,yout)は、上記した第1タイプと同じように特定される。
(内フック位置)
図8(a)に示すように、渦巻きばね30の極座標画像において、極座標画像のくびれた部分の極座標(θin,Rin)を、内フック32の極座標画像における位置として検出する。先ず、注目座標rをr=Routから順に減算していき、r方向ヒストグラム値Hr(r)が所定のしきい値THdを超えるときのr座標を、渦巻きばね30の仮の外径Rdとして特定する。次いで、15≦r<Rdの範囲のr方向ヒストグラム値Hr(r)に注目し、r方向ヒストグラム値Hr(r)の最小値hmと、その最小値hmを与えるr座標Rmを、仮の内フックのr座標として特定する。図9に、r座標Rmの近傍におけるr方向ヒストグラムを拡大して示す。図9に示すように、次いで、仮の内フック座標Rmを起点に、r座標をr=Rmからr=Rm+Δまで順に加算していき、r方向ヒストグラム値Hr(r)がhm+δを超えるr座標rbを特定する。また、r座標をr=Rmからr=Rm−Δまで順に減算していき、r方向ヒストグラム値Hr(r)がhm+δを超えるr座標raを特定する。そして、r座標raとr座標rbの中央値(ra+rb)/2を、内フック32のr座標Rinとする。内フック32のθ座標θinは、第1タイプと同様に、グレイスケール値Polar(θ,Rin)が最小となるθ座標を、内フック32のθ座標θinとする。算出された内フック32の極座標(θin,Rin)は、内フック32の直交座標(xin,yin)に変換される。
【0030】
次いで、図3のステップS120、S122では、図10に示す外フック領域104の特定が行われる。外フック領域104とは、渦巻きばね30の撮影画像100のなかで、その外フック34が撮影されている領域である。本実施例の形状測定装置10は、以下に説明する処理によって、渦巻きばね30の撮影画像100から外フック領域104を特定する。なお、ステップS120、S122の処理は、渦巻きばね30のタイプによらず共通である。
先ず、ステップS120において、図10に示す外フック領域104の境界半径Rcutを特定する。この境界半径Rcutは、外フック領域104の半径方向内側の境界を決定するものである。境界半径Rcutは、以下のように特定される。図11(a)(b)に示すように、注目座標rを最大値(極座標画像の右端)から順に減算していき、r方向ヒストグラム値Hr(r)が所定のしきい値THr/2を超えるときのr座標を、外フック34のr座標Rcutとする。
【0031】
次いで、ステップS122では、図10に示す外フック領域104の周方向の境界である境界上限角θeと境界下限角θsを特定する。これらの境界上限角θeと境界下限角θsは、外フック領域104の周方向の境界を決定するものである。境界上限角θeと境界下限角θsは、以下のように特定される。先ず、図11(a)に示す極座標画像のr座標が境界半径Rcutよりも大きい範囲に対し、θ方向ヒストグラムHo(θ)を作成する。図12に、θ方向ヒストグラムHo(θ)を示す。θ方向ヒストグラムHo(θ)は、θ座標毎に、グレイスケール値Polar(θ,r)をr軸に沿って加算したものである。θ方向ヒストグラムHo(θ)は、下記の式によって算出される。なお、下記式のTHoは、ノイズを除去するためのしきい値である。
【0032】
【数3】
【0033】
図12に示すθ方向ヒストグラムHo(θ)において、注目座標θを、ステップS118で特定した内フック32のθ座標であるθinからθin+θ1(θ1:既定の角度値)まで増加させていき、θ方向ヒストグラムHo(θ)がゼロとなるθ座標θoeを特定する(Ho(θoe)=0)。また、注目座標θを、θinからθin−θ1まで減算させていき、θ方向ヒストグラムHo(θ)がゼロとなるθ座標θosを特定する(Ho(θos)=0)。外フック領域104の境界上限角θeと境界下限角θsは、ここで特定したθ座標θoeとθosに余裕幅θ2(θ2<θ1)を与え、境界上限角θe=θoe+θ2、境界下限角θs=θos−θ2と定める。
以上により、外フック領域104を画定する境界半径Rcut、境界上限角θe、及び境界下限角θsが決定され、外フック領域104が特定される。これらの境界値Rcut,θe,θsにより、渦巻きばね30の撮影画像100から、図13に示すような外フック34のみを示す外フック画像114を得ることができる。
【0034】
次に、図3のステップS124では、図14に示す内フック領域102の特定が行われる。内フック領域102とは、渦巻きばね30の撮影画像100のなかで、その内フック32が撮影されている領域である。本実施例の形状測定装置10は、以下に説明する処理によって、渦巻きばね30の撮影画像100から内フック領域102を特定する。なお、ステップS124の処理は、渦巻きばね30のタイプによって一部の処理が相違する。
【0035】
(1)第1タイプの場合
図15に示すように、内フック領域102は、極座標画像上で矩形の範囲となる。従って、図15に示すr軸(半径軸)方向の境界線r=rcとθ軸(角度軸)方向の境界線θ=θis,θ=θieを決定することにより、図14に示す扇形の内フック領域102を特定することができる。
境界線r=rc,θ=θis,θ=θieの決定には、ステップS118で算出した内フック32のθ座標θinを基準に、角度範囲θin≦θ≦θin+k(k=0,1,2,・・・)のグレイスケール値Polar(θ,r)をr座標毎に累積した累積ヒストグラムHin(r,k)を用いる。累積ヒストグラムHin(r,k)は、下記式によって算出することができる。
【0036】
【数4】
【0037】
図16(a)(b)に、累積ヒストグラムHin(r,k)を例示する。図16(a)は、k=0の累積ヒストグラムHin(r,0)を示す。Hin(r,0)は、Polar(θin,r)に等しい。図16(b)は、累積ヒストグラムHin(r,k)を示す。このように、累積ヒストグラムHin(r,k)には、渦巻きばね30の巻数に応じて複数の山が現われる。このうち、左端の山は内フック32を示し、その隣の山は、内フック32より1本外側の素線を示す。従って、内フック32を示す山の右端点をakとし、1本外側の素線を示す山の左端点をbkとすると、内フック領域102の径方向の境界線r=rcは、ak<rc<bkの範囲内に特定することができる。点akと点bkは、累積するライン数kが増加するほど、互いに間隔が狭くなる。そのことから、累積するライン数kを増加させるほど、境界線r=rcを正確に特定することができる。ただし、ライン数kを増加させすぎると、ak=bk、あるいはak>bkとなり、境界線r=rcを特定することができなくなる。従って、ak<bkとなる範囲で累積するライン数kを増加させていき、内フック領域102の径方向の境界線r=rcを、rc=(ak+bk)/2として特定する。
【0038】
上記した累積ヒストグラムHin(r,k)の作成、及び径方向の境界線r=rcの特定は、内フック32のθ座標θinを基準に、θ座標の正方向及び負方向のそれぞれについて行う。即ち、k=0°,1°,2°,・・・,θ3(既定の角度値)までの範囲について、仮の境界線r=rc1=(ak+bk)/2の探索を行い、そのときのθ座標θin+θ3を内フック領域102の境界上限角θie=θin+Δpとする(Δp=k)。また、k=0°,−1°,−2°,・・・,−θ3まで範囲についても、仮の境界線r=rc2=(ak+bk)/2の探索を行い、そのときのθ座標θin+kを内フック領域102の境界下限角θis=θin−Δmとする。そして、算出した2つの仮の境界線r=rc1,rc2のうち、大きい方を真の境界線r=rcとして選択する。
以上により、第1タイプの渦巻きばねに対して、内フック領域102を画定する境界半径rc、境界上限角θie、及び境界下限角θisが決定され、内フック領域102が特定される。これらの境界値rc,θie,θisにより、渦巻きばね30の撮影画像100から、図17に示すような内フック32のみを示す内フック画像112を得ることができる。
【0039】
ここで、上記で算出した仮の境界線r=rc1,rc2を用いて、渦巻きばね30の巻き方向を判定することが可能となる。なお、渦巻きばね30の巻き方向とは、渦巻きばね30に特有のものではなく、渦巻きばね30が照明器14上に置かれた向きを意味するものである。本実施例の形状測定装置10は、算出した二つの仮の境界線r=rc1,rc2を用い、rc1>rc2であれば右巻きと判定し、rc1<rc2であれば左巻きと判定する。形状測定装置10は、渦巻きばね30を撮影する際に、右巻きとなる向きに載置されることが前提となっている。そのことから、この段階で左巻きと判定された場合、その旨をディスプレイ20に表示して作業者に報知する。なお、作業者に報知することなく、撮影画像100を左右反転させた上で、ステップS112の処理からやり直してもよい。
【0040】
(2)第2タイプの場合
次に、第2タイプの渦巻きばね30に関して、内フック領域102を特定する処理について説明する。第2タイプの渦巻きばね30では、内フック32が重心G上に位置するため、内フック領域102が第1タイプのような扇形状とはならない。そのことから、第2タイプの渦巻きばね30では、第1タイプと同じように境界半径rcを求めた後、内フック32のr座標Rin、渦巻きばねの重心G:(cx,cy)を用いて、下記式を満たす範囲を内フック領域102として特定する。
【0041】
【数5】
【0042】
以上の処理により、図3に示すステップS112からステップS124までの処理が終了し、渦巻きばね30の撮影画像100から、内フック領域102及び外フック領域104の特定が完了する。即ち、図2に示すステップS14のフック領域の特定が完了する。
【0043】
次に、図2のステップS16では、各種の寸法を算出する処理に先立ち、撮影画像100に対する前処理が行われる。具体的には、撮影画像100に対して二値化処理を行い、渦巻きばね30の二値化画像を得る。また、内フック画像112(図17参照)及び外フック画像114(図13参照)に対して二値化処理を行い、二値化した内フック画像112及び外フック画像114を得る。以下の処理では、渦巻きばね30のグレイスケール画像及び二値化画像と、内フックのグレイスケール画像及び二値化画像、外フックのグレイスケール画像及び二値化画像が用いられる。
【0044】
次に、図2のステップS18では、図18(a)(b)に示す基準線x=α・y+βの算出処理が行われる。この基準線は、内フックに沿ってその略中央を伸びる直線である。先ず、図18(a)に示すように、内フックのグレイスケール画像に対してx方向のソベルフィルタを施し、横方向エッジを検出する。次いで、Hough変換による直線検出によって、内フック32の両側に沿って伸びる2本の直線x=α1・y+β1,x=α2・y+β2を検出する。そして、これら2本の直線x=α1・y+β1,x=α2・y+β2の平均直線を、基準線x=α・y+βとして算出する。即ち、α=(α1+α2)/2,β=(β1+β2)/2である。基準線x=α・y+βを算出した後、図18(b)に示すように、内フックの先端Ptip:(xtip,ytip)を得る。内フックの先端Ptip:(xtip,ytip)は、内フックの二値化画像において、基準線x=α・y+βに沿ってy座標を下方に変化させ、最初に黒画素となる点である。
【0045】
ここで、基準線x=α・y+βが特定されることにより、以下に説明する処理によって、渦巻きばね30の巻き方向を判定することが可能となる。なお、渦巻きばね30の巻き方向とは、渦巻きばね30に特有のものではなく、渦巻きばね30が照明器14上に置かれた向きを意味するものである。
図18(b)では、渦巻きばね30が右巻きとなっており、内フックが左方に連なっている。この場合、基準線x=α・y+βを境界とし、その左右の領域について画素値の合計値を比較すると、左側の領域のほうがその合計値が大きくなる。従って、基準線x=α・y+βを境界とし、左右の領域について画素値の合計値を比較すると、渦巻きばね30の巻き方向を判別することができる。また、左右の領域で画素値の合計値を算出する際に、基準線x=α・y+βからの距離が遠い画素については、その画素値を増大させるように重み付けを行うと、左右の領域の間で画素値の合計に顕著な差異が生じることから、渦巻きばね30の巻き方向をより正しく判別することが可能となる。
【0046】
次に、図2のステップS20では、内フック先端からの距離Dtipを算出する処理が実行される。図19に示すように、内フック先端からの距離Dtipとは、内フックの先端Ptipから最内周の素線までの距離を意味する。この処理では、内フックの二値化画像を用い、内フックの先端Ptipから一つ上方の点を起点に、基準線x=α・y+β上を上方に辿りながら、最初に黒画素となる点を検出する。そして、検出された点の一つ前の点と、内フックの先端Ptipとの距離を、内フック先端からの距離Dtipとして算出する。
【0047】
次に、図2のステップS22では、内フック長さLihを算出する処理が実行される。この処理では、内フックの二値化画像、基準線x=α・y+β、内フック先端Ptip:(xtip,ytip)が用いられる。図20を参照しながら、ステップS22の処理を以下に説明する。
先ず、内フック先端Ptipを通り、基準線x=α・y+βに直交する直線y=a・x+bを求める。さらに、その直線y=a・x+bを下方(y軸正方向)にNa(Na:既定の整数)ポイント移動させた直線y=a・x+b+Naを求める。次いで、その直線y=a・x+b+Naを下方に1ポイントずつ移動させながら、直線上に黒画素が存在しなくなる直線y=a・x+b+Na+nを特定する。次いで、その直線y=a・x+b+Na+nの一つ前の直線y=a・x+b+Na+n−1を、内フック接線y=as・x+bsとする。次いで、内フック接線y=as・x+bsと基準線x=α・y+βとの交点(xcr,ycr)を求める。そして、その交点(xcr,ycr)と内フック先端Ptipとの距離を求め、その距離を内フック長さLihとする。
【0048】
次に、図2のステップS24では、中心位置を算出する処理が実行される。この処理では算出される中心位置は、渦巻きばねの中心を示す位置であり、以後の処理において基準として用いられるものである。この処理では、基準線x=α・y+β、内フック接線y=as・x+bs、内フック接線と基準線との交点(xcr,ycr)、内フック下端から中心までの距離distが用いられる。ここで、内フック下端から中心までの距離distは、作業者によって入力される値である。
中心位置の算出は、以下の手順で行われる。先ず、内フック接線y=as・x+bsを上方に距離distだけ平行移動した直線y=as・x+bs−distを求める。次いで、直線y=as・x+bs−distと基準線x=α・y+βとの交点を求め、その交点を中心位置Pc:(cx,cy)とする。
【0049】
次に、図2のステップS26では、内径Dinを算出する処理が実行される。この処理では、渦巻きばね30の撮影画像100、基準線x=α・y+β、中心位置Pc:(cx,cy)が用いられる。図21を参照しながら、このステップS26の処理を以下に説明する。
先ず、中心位置Pc:(cx,cy)を通り、基準線x=α・y+βに垂直な内径直線y=a・x+bcを求める。次いで、内径直線y=a・x+bc上の画素の濃度を、中心位置Pc:(cx,cy)から順にx座標を減算しながら確認していき、白画素から黒画素へと変化する一つ手前の点p1を検出する。同様に、内径直線y=a・x+bc上の画素の濃度を、中心位置Pc:(cx,cy)から順にx座標を加算しながら確認していき、白画素から黒画素へと変化する一つ手前の点p2を検出する。そして、検出した点p1と点p2の距離を、渦巻きばね30の内径Dinとして算出する。
【0050】
次に、図2のステップS28では、内フックの曲率半径Rin及び外フックの曲率半径Rohを算出する処理が実行される。この処理では、内フックの二値化画像、外フックの二値化画像、内フック領域の座標、外フック領域の座標が用いられる。なお、内フックの曲率半径Rinと外フックの曲率半径Rohは、同じ手順によって算出される。従って、ここでは外フックの曲率半径Rohの算出手順についてのみ説明し、内フックの曲率半径Rinの算出手順についての説明は省略する。また、渦巻きばね30のタイプに応じた処理の変更もない。
先ず、外フックの二値化画像と外フック領域の座標を用い、外フックの二値化画像から外フック領域のみを切り出す。次いで、その外フック領域の切り出し画像から、外フックの重心Gmを求める。次いで、外フック領域の切り出し画像に対して輪郭線追跡を行い、図22に示すように輪郭座標系列Pi(i=0,1,・・・n−1)を取得する。このとき、輪郭線のノイズを必要に応じて除去するとよい。次いで、重心Gmと輪郭座標系列Piとの距離系列diを求める。図23に、距離系列diを例示する。ここで、距離系列の始端d0と終端dn−1は連続しており、dn=d0の関係にある。
距離系列diを求めた後、下記式で表される相関値r(k)をk=0,1,2,・・・,n−1についてそれぞれ求める。この相関値r(k)は、外フックの内側輪郭線と外側輪郭線の境界点pb,pdを特定するために用いられる。
【0051】
【数6】
【0052】
上記した相関値r(k)は、距離系列diが注目点(k,dk)を境に対称形となるとき、最大値である1を出力するものである。図22に示す外フックの輪郭線上の点pb及び点pdは、外フックの内側輪郭線と外側輪郭線の境界に位置する点である。外フックの内側輪郭線と外側輪郭線は、比較的に近似した形状を有している。そのことから、それら境界に位置する点pb及び点pdでは、上記した相関値r(k)が1に近い値を取ることになる。即ち、上記した相関値r(k)が極大となる輪郭線上の点を特定することで、外フックの内側輪郭線と外側輪郭線の境界位置を特定することができる。
なお、上記の数式6で示した相関値r(k)は、輪郭線同士の類似度又は距離(非類似度)を表す他の指標に置き換えることもできる。例えば、数式6の代わりに相関係数、ユークリッド距離、シティブロック距離などを用いて内側輪郭線と外側輪郭線の境界位置を特定してもよい。
【0053】
図24は、算出される相関値r(k)の一例を示す。図24に示すように、相関値r(k)では、極大値となる点が4点存在する。これらの4点は、図22に示す4点P1,P2,P3,P4に対応する。従って、相関値r(k)を算出することにより、内側輪郭線と外側輪郭線の境界点を含む4点を特定することができる。
次いで、特定した4点を輪郭線追跡の順に並べ、奇数順のペア(ここでは点P1と点P3)と偶数順のペア(ここでは点P2と点P4)のそれぞれについて、2点間の距離を算出する。そして、算出された距離が大きい方のペア(ここでは点P2と点P4)を、内側輪郭線と外側輪郭線の境界点として特定する。
次いで、境界点P1から鏡界点P3に到る第1の輪郭座標系列P1−P3と、境界点P2から境界点P4に到る第2の輪郭座標系列P2−P4のうち、どちらが内側輪郭線であるのかを判定する。そのために、第1の輪郭座標系列P1−P3と第2の輪郭座標系列P2−P4のそれぞれについて、輪郭座標系列と重心Gmとの距離の最小値を求め、その最小距離が小さいほうの輪郭座標系列を内側輪郭線(ここではP2−P4)と判定する。それにより、図25に示すように、内側輪郭線のみの輪郭線系列を得ることができる。
【0054】
次いで、内側輪郭線のみの内側輪郭線系列を用い、内側輪郭線系列における角度最大点を特定する。角度最大点とは、内側輪郭線の向きが最も変化する点であり、外フックの屈曲部を示す点である。先ず、図25に示すように、誤検出の防止を目的として内側輪郭線系列の両端Nbポイント(Nb:既定の整数)を削除しておく。次いで、下記式で表される平均ベクトルm(k)、平均ベクトルp(k)を算出する。相関値r(k)をk=0,1,2,・・・,n−1についてそれぞれ求める。
【0055】
【数7】
【0056】
上記した平均ベクトルm(k)は、注目点(xtk,ytk)からそのNcポイント前(Nc:既定の整数)までの輪郭線系列が向いている方向を、大局的に示すものである。一方、平均ベクトルp(k)は、注目点(xtk,ytk)からそのNcポイント後ろまでの輪郭線系列が向いている方向を、大局的に示すものである。これら2つの平均ベクトルm(k),p(k)の方向が最も異なるとき、その注目点(xtk,ytk)を角度最大点として求めることができる。本実施例では、平均ベクトルm(k),p(k)が成す角θkについてその余弦cosθkを求め、1−cosθkが最大となる注目点(xtk,ytk)を角度最大点Pmaxとする(図26参照)。図27に示すように、角度最大点Pmaxを求めた後、その前後Ndポイント分(Nd:既定の整数)を切り出し、外フックの屈曲部に相当する輪郭線座標系列を抽出する。
【0057】
次に、上記で抽出した輪郭線系列(図27参照)を用い、その輪郭線系列に角度最大点Pmaxで内接する円を、Hough変換によって算出する。それにより、図28に示すように、外フックに内接する円の中心Pco:(xco,yco)とその半径Roh、即ち、外フック曲率半径Rohを算出することができる。
【0058】
次に、図2のステップS30では、フリー角度θfを算出する処理が実行される。この処理では、外フックの二値化画像、基準線x=α・y+β、中心位置(座標)Pc:(xc,yc)、外フック曲率半径Rohの中心Pcoが用いられる。図29を参照しながら、ステップS30の処理を以下に説明する。
先ず、中心座標Pc:(xc,yc)と外フック曲率半径Rohの中心Pcoとの距離Routを算出する。次いで、中心座標Pc:(xc,yc)を中心とし、半径を上記した距離Routとする円を作成する。次いで、作成した円と外フックの二値化画像が重なる座標群のなかで、外フック曲率半径Rohの中心Pcoに最寄りの点を、外フックの内側接点Pbo:(xb,yb)として求める。次いで、中心位置Pc:(xc,yc)と外フックの内側接点Pbo:(xb,yb)を通る直線y=af・x+bfを、フリー角度直線として求める。そして、フリー角度直線y=af・x+bfと基準線x=α・y+βが成す角を、フリー角度θfとして求める。
【0059】
次に、図2のステップS32では、フック半径HRを算出する処理が実行される。この処理では、中心座標Pc:(xc,yc)、外フックの内側接点Pbo:(xb,yb)が用いられる。図30に示すように、この処理では、中心座標Pc:(xc,yc)と外フックの内側接点Pbo:(xb,yb)との距離が、フック半径HRとして算出される。
【0060】
次に、図2のステップS34では、外フック長さLohを算出する処理が実行される。この処理では、外フックの二値化画像と、中心位置(座標)Pc:(xc,yc)が用いられる。図31、図32を参照しながら、ステップS34の処理について説明する。
先ず、外フックの二値化画像に対して輪郭線追跡を行い、図31に示すような輪郭座標系列Pi(i=0,1,・・・n−1)を取得する。このとき、輪郭線のノイズを必要に応じて除去するとよい。次いで、下記式で表される平均ベクトル角系列cosθkを、k=0,1,2,・・・,n−1についてそれぞれ求める。この平均ベクトル角系列cosθkは、外フック先端の角部Q1、Q2を特定するために用いられる。
【0061】
【数8】
【0062】
上記した平均ベクトル角系列cosθkは、注目点(xk,yk)の前後Neポイント分(Ne:既定の整数)の輪郭座標系列を用い、注目点(xk,yk)が外フックの角部Q1〜Q4に相当する場合に、ゼロに近い値を出力するものである。従って、平均ベクトル角系列cosθを求め、それが極小値をとるときの4点を求めることにより、図31に示す4箇所の外フックの角部Q1〜Q4を特定することができる。そして、特定した4箇所の角部Q1〜Q4のうち、中心位置Pcから最も遠い2点を選択することにより、外フック先端の角部Q1、Q2を特定することができる。
【0063】
次いで、外フック先端の角部Q1、Q2の間の輪郭座標系列を、直線に近似する処理を行う。直線近似は、例えば最小二乗法を用いることができるが、最小二乗法は局所的なノイズに影響を受けやすい。そのことから、本実施例では、下記式による直線式A・y+B・x=1を得る。直線A・y+B・x=1を、外フック先端直線という。
【0064】
【数9】
【0065】
次いで、外フック先端直線A・y+B・x=1を、外フックの外側輪郭線に接する位置まで平行移動させ、外フック長さLohを求める。ここで、外フック先端直線A・y+B・x=1を平行移動させる方向は、下記式のように定められている。ここで、(x(m+l)/2,y(m+l)/2)は、外フック先端の角部Q1、Q2の中間点であり、外フック先端点である。
【0066】
【数10】
【0067】
上記の関係式により、例えば−x方向に外フック先端直線A・y+B・x=1を移動させる場合、例えばkポイント移動させた時点で外フックの外側輪郭線に接するのであれば、その移動後の直線はA・y+B・x=1−B・kとなる。そして、フック線端点(x(m+l)/2,y(m+l)/2)と直線A・y+B・x=1−B・kの間の距離が、外フック長さLohとして算出される。
【0068】
次ぎに、図2のステップS36では、外フック角度θmtを算出する処理が実行される。この処理では、外フックの二値化画像、フリー角直線af・x+bf、外フック先端の角部Q1,Q2、外フック曲率半径Rohが用いられる。図33、図34を参照しながら、ステップS36の処理について説明する。
先ず、外フックの二値化画像に対して輪郭線追跡を行い、先のステップS34と同様に、輪郭座標系列を取得する(図31参照)。次いで、図33に示すように、外フック先端の角部Q1,Q2をそれぞれ始点とし、Nfポイント分(Nf:既定の整数)の輪郭座標系列を取得する。一方の角部Q1を始点とするものは、外側の輪郭線に沿う輪郭座標系列であり、他方の角部Q1を始点とするものは、内側の輪郭線に沿う輪郭座標系列である。次いで、図34に示すように、フリー角直線y=af・x+bfを、外フック曲率半径Rohの中心Pco:(xco,yco)まで平行移動させたシフト直線y=af・x+(yco+af・xco)を得る。次いで、図33に示すように、上記した2組のNfポイント分の輪郭座標系列の中間に位置する中間座標系列Pmを求める。ここで、中間座標系列Pmの算出は、上記したシフト直線との距離が1未満となる位置で打ち切る。次いで、中間座標系列Pmを最小二乗法の一次式にあてはめ、図34に示す近似直線y=Am・x+Bmを得る。そして、フリー角直線y=af・x+bfと近似直線y=Am・x+Bmとが成す角を、外フック角度θmtとして算出する。
【0069】
次に、図2のステップS38では、これまでに計算した各部の寸法をディスプレイ20に表示する。ディスプレイ20には、(1)渦巻きばねの内径Din、(2)フリー角度θf、(3)フック半径HR、(4)外フック長さLoh、(5)内フック長さLih、(6)外フック曲率半径Roh、(7)内フック曲率半径Rih、(8)外フック角度θmt、(9)内フック先端からの距離Dtipが表示される。以上により、形状測定装置10による渦巻きばね30の形状測定処理が終了する。
【0070】
本実施例の形状測定装置10は、特定の形状を有する渦巻きばね30に限らず、様々な形状の渦巻きばね30の形状を、同じように測定することができる。特に、形状測定装置10は、渦巻きばね30の形状にかかわらず、渦巻きばね30の撮影画像100から内フック32と外フック34を特定し、内フック32や外フック34を基準とする寸法測定を正確に行うことができる。
【0071】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は、複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0072】
【図1】形状測定装置の構成を示す図。
【図2】形状測定装置による形状測定の流れを示すフローチャート。
【図3】フック領域を特定する処理の流れを示すフローチャート。
【図4】形状測定装置が寸法を測定する箇所を示す図。
【図5】渦巻きばねの撮影画像を示す図(第1タイプ)。
【図6】渦巻きばねの撮影画像を示す図(第2タイプ)。
【図7】第1タイプの渦巻きばねについて、図7(a)は極座標画像を示し、図7(b)はr方向ヒストグラムを示す。
【図8】第2タイプの渦巻きばねについて、図8(a)は極座標画像を示し、図8(b)はr方向ヒストグラムを示す。
【図9】図8(b)の一部を拡大して示す図。
【図10】外フック領域を示す図。
【図11】外フック領域の境界半径Rcutを説明する図。
【図12】θ方向ヒストグラムを示す図。
【図13】外フック画像を示す図。
【図14】内フック領域を示す図。
【図15】内フック領域を極座標画像に示す図。
【図16】累積ヒストグラムを説明する図。
【図17】内フック画像を示す図。
【図18】基準線の算出処理を説明する図。
【図19】内フック先端からの距離Dtipの算出処理を説明する図。
【図20】内フック長さLihの算出処理を説明する図。
【図21】内径Dinの算出処理を説明する図。
【図22】外フック画像の輪郭座標系列及び距離系列を説明する図。
【図23】距離系列diの一例を示すグラフ。
【図24】相関値r(k)の一例を示すグラフ。
【図25】外フックの内側輪郭線の座標系列を示す図。
【図26】角度最大点の算出に用いる平均ベクトルの成す角を示す図。
【図27】外フックの屈曲部の輪郭線座標系列を示す図。
【図28】外フックに内接する円とその半径(外フック曲率半径)Rohを示す図。
【図29】フリー角度θfの算出処理を説明する図。
【図30】フック半径HRの算出処理を説明する図。
【図31】外フック先端の角部Q1、Q2を特定する処理を説明する図。
【図32】外フック長さLohの算出処理を説明する図。
【図33】外フック先端の角部Q1、Q2を始点とする起点輪郭座標系列を示す図。
【図34】外フック角度θmtの算出処理を説明する図。
【符号の説明】
【0073】
10:形状測定装置
12:ステージ
14:照明器
16:CCDカメラ
18:通信線
20:ディスプレイ
22:コンピュータ
30:渦巻きばね
32:渦巻きばねの内フック
34:渦巻きばねの外フック
【特許請求の範囲】
【請求項1】
内フックから外フックまで渦巻状に伸びる渦巻きばねの形状を測定する形状測定装置であり、
渦巻きばねを撮影した撮影画像を入力する画像入力手段と、
前記撮影画像を極座標変換した極座標画像を作成する画像変換手段と、
前記極座標画像を用いて、前記撮影画像中の内フックが撮影されている内フック位置、及び/又は、外フックが撮影されている外フック位置を特定するフック位置特定手段と、
を備える形状測定装置。
【請求項2】
前記フック位置特定手段は、前記極座標画像の各画素値を半径軸方向の位置毎に加算したr方向ヒストグラムを作成し、そのr方向ヒストグラムを用いて内フック位置及び/又は外フック位置を特定することを特徴とする請求項1に記載の形状測定装置。
【請求項3】
前記内フック位置及び/又は外フック位置を用いて、前記撮影画像中の内フックが撮影されている内フック領域、及び/又は、外フックが撮影されている外フック領域を特定するフック領域特定手段をさらに備えることを特徴とする請求項1又は2に記載の形状測定装置。
【請求項4】
前記フック領域特定手段は、前記極座標画像の各画素値を半径軸方向の位置毎に加算したr方向ヒストグラムと、前記極座標画像の各画素値を角度軸方向の位置毎に加算したθ方向ヒストグラムを作成し、そのr方向ヒストグラムとθ方向ヒストグラムを用いて前記内フック領域及び/又は外フック領域を特定することを特徴とする1から3のいずれか一項に記載の形状測定装置。
【請求項5】
前記フック領域特定手段は、前記r方向ヒストグラムを用いて外フック領域の半径方向の境界位置を特定し、前記θ方向ヒストグラムを用いて外フック領域の角度軸方向の境界位置を特定することを特徴とする請求項4に記載の形状測定装置。
【請求項6】
前記フック領域特定手段は、前記極座標画像の半径軸に平行なラインを順次抽出し、抽出したライン上の各画素値を半径軸方向の位置毎に加算していく累積ヒストグラムを作成し、その累積ヒストグラムを用いて前記内フック領域を特定することを特徴とする請求項4又は5に記載の形状測定装置。
【請求項7】
前記画像変換手段は、前記撮影画像に撮影された渦巻きばねの像の重心を算出し、その重心を中心として極座標変換を行うことを特徴とする請求項1から6のいずれか一項に記載の形状測定装置。
【請求項8】
前記極座標画像の半径軸に平行なラインを順次抽出し、抽出したライン上の各画素値を半径軸方向の位置毎に加算していく累積ヒストグラムを作成し、その累積ヒストグラムを用いて、渦巻きばねの巻き方向を判別する第1の巻き方向判別手段をさらに備えることを特徴とする請求項1から7のいずれか一項に記載の形状測定装置。
【請求項9】
前記撮影画像を内フックに沿った直線によって分割し、分割した二つの領域を比較することによって、渦巻きばねの巻き方向を判別する第2の巻き方向判別手段をさらに備えることを特徴とする請求項1から8のいずれか一項に記載の形状測定装置。
【請求項10】
内フックから外フックまで渦巻状に伸びる渦巻きばねの形状を測定する形状測定方法であり、コンピュータに下記の処理、即ち、
渦巻きばねを撮影した撮影画像を入力する画像入力処理と、
前記撮影画像を極座標変換した極座標画像を作成する画像変換処理と、
前記極座標画像を用いて、内フックが撮影されている内フック位置、及び/又は、前記撮影画像中の外フックが撮影されている外フック位置を、前記撮影画像中に特定するフック位置特定処理と、
を実行させる形状測定方法。
【請求項11】
内フックから外フックまで渦巻状に伸びる渦巻きばねの形状を測定するためのプログラムであり、コンピュータに下記の処理、即ち、
渦巻きばねを撮影した撮影画像を入力する画像入力処理と、
前記撮影画像を極座標変換した極座標画像を作成する画像変換処理と、
前記極座標画像を用いて、内フックが撮影されている内フック位置、及び/又は、前記撮影画像中の外フックが撮影されている外フック位置を、前記撮影画像中に特定するフック位置特定処理と、
を実行させるプログラム。
【請求項1】
内フックから外フックまで渦巻状に伸びる渦巻きばねの形状を測定する形状測定装置であり、
渦巻きばねを撮影した撮影画像を入力する画像入力手段と、
前記撮影画像を極座標変換した極座標画像を作成する画像変換手段と、
前記極座標画像を用いて、前記撮影画像中の内フックが撮影されている内フック位置、及び/又は、外フックが撮影されている外フック位置を特定するフック位置特定手段と、
を備える形状測定装置。
【請求項2】
前記フック位置特定手段は、前記極座標画像の各画素値を半径軸方向の位置毎に加算したr方向ヒストグラムを作成し、そのr方向ヒストグラムを用いて内フック位置及び/又は外フック位置を特定することを特徴とする請求項1に記載の形状測定装置。
【請求項3】
前記内フック位置及び/又は外フック位置を用いて、前記撮影画像中の内フックが撮影されている内フック領域、及び/又は、外フックが撮影されている外フック領域を特定するフック領域特定手段をさらに備えることを特徴とする請求項1又は2に記載の形状測定装置。
【請求項4】
前記フック領域特定手段は、前記極座標画像の各画素値を半径軸方向の位置毎に加算したr方向ヒストグラムと、前記極座標画像の各画素値を角度軸方向の位置毎に加算したθ方向ヒストグラムを作成し、そのr方向ヒストグラムとθ方向ヒストグラムを用いて前記内フック領域及び/又は外フック領域を特定することを特徴とする1から3のいずれか一項に記載の形状測定装置。
【請求項5】
前記フック領域特定手段は、前記r方向ヒストグラムを用いて外フック領域の半径方向の境界位置を特定し、前記θ方向ヒストグラムを用いて外フック領域の角度軸方向の境界位置を特定することを特徴とする請求項4に記載の形状測定装置。
【請求項6】
前記フック領域特定手段は、前記極座標画像の半径軸に平行なラインを順次抽出し、抽出したライン上の各画素値を半径軸方向の位置毎に加算していく累積ヒストグラムを作成し、その累積ヒストグラムを用いて前記内フック領域を特定することを特徴とする請求項4又は5に記載の形状測定装置。
【請求項7】
前記画像変換手段は、前記撮影画像に撮影された渦巻きばねの像の重心を算出し、その重心を中心として極座標変換を行うことを特徴とする請求項1から6のいずれか一項に記載の形状測定装置。
【請求項8】
前記極座標画像の半径軸に平行なラインを順次抽出し、抽出したライン上の各画素値を半径軸方向の位置毎に加算していく累積ヒストグラムを作成し、その累積ヒストグラムを用いて、渦巻きばねの巻き方向を判別する第1の巻き方向判別手段をさらに備えることを特徴とする請求項1から7のいずれか一項に記載の形状測定装置。
【請求項9】
前記撮影画像を内フックに沿った直線によって分割し、分割した二つの領域を比較することによって、渦巻きばねの巻き方向を判別する第2の巻き方向判別手段をさらに備えることを特徴とする請求項1から8のいずれか一項に記載の形状測定装置。
【請求項10】
内フックから外フックまで渦巻状に伸びる渦巻きばねの形状を測定する形状測定方法であり、コンピュータに下記の処理、即ち、
渦巻きばねを撮影した撮影画像を入力する画像入力処理と、
前記撮影画像を極座標変換した極座標画像を作成する画像変換処理と、
前記極座標画像を用いて、内フックが撮影されている内フック位置、及び/又は、前記撮影画像中の外フックが撮影されている外フック位置を、前記撮影画像中に特定するフック位置特定処理と、
を実行させる形状測定方法。
【請求項11】
内フックから外フックまで渦巻状に伸びる渦巻きばねの形状を測定するためのプログラムであり、コンピュータに下記の処理、即ち、
渦巻きばねを撮影した撮影画像を入力する画像入力処理と、
前記撮影画像を極座標変換した極座標画像を作成する画像変換処理と、
前記極座標画像を用いて、内フックが撮影されている内フック位置、及び/又は、前記撮影画像中の外フックが撮影されている外フック位置を、前記撮影画像中に特定するフック位置特定処理と、
を実行させるプログラム。
【図1】
【図2】
【図3】
【図16】
【図23】
【図24】
【図25】
【図26】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図2】
【図3】
【図16】
【図23】
【図24】
【図25】
【図26】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【公開番号】特開2009−257950(P2009−257950A)
【公開日】平成21年11月5日(2009.11.5)
【国際特許分類】
【出願番号】特願2008−107803(P2008−107803)
【出願日】平成20年4月17日(2008.4.17)
【出願人】(000210986)中央発條株式会社 (173)
【Fターム(参考)】
【公開日】平成21年11月5日(2009.11.5)
【国際特許分類】
【出願日】平成20年4月17日(2008.4.17)
【出願人】(000210986)中央発條株式会社 (173)
【Fターム(参考)】
[ Back to top ]