JP2932083B2 - 形状測定方法 - Google Patents
形状測定方法Info
- Publication number
- JP2932083B2 JP2932083B2 JP14778390A JP14778390A JP2932083B2 JP 2932083 B2 JP2932083 B2 JP 2932083B2 JP 14778390 A JP14778390 A JP 14778390A JP 14778390 A JP14778390 A JP 14778390A JP 2932083 B2 JP2932083 B2 JP 2932083B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- point
- cylindrical surface
- shape
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Length Measuring Devices By Optical Means (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 この発明は、たとえばプレスパネルなどのように部分
円筒面を有する被測定物の形状を光切断法によって測定
する形状測定方法に関する。
円筒面を有する被測定物の形状を光切断法によって測定
する形状測定方法に関する。
従来の技術および発明の課題 たとえばプレスパネルなどのように互いに直角をなす
2つの平面の間に部分円筒面が形成された被測定物と他
の基準面との間隔を測定する方法として、すきまゲージ
があるが、この方法では、人為的誤差が大きく、測定に
時間がかかるという問題がある。
2つの平面の間に部分円筒面が形成された被測定物と他
の基準面との間隔を測定する方法として、すきまゲージ
があるが、この方法では、人為的誤差が大きく、測定に
時間がかかるという問題がある。
そこで、このようなプレスパネルの形状を光切断法で
測定する方法が検討されている。この場合、レーザなど
の光源よりプレスパネルの表面に光を照射し、これをテ
レビカメラなどの2次元撮像手段で撮像して、その画像
データを処理することにより、部分円筒面の形状を測定
する。ところが、反射率の関係などにより部分円筒面の
一部しか写らないため、正確な測定ができないという問
題がある。すなわち、プレスパネルの表面に照射された
光を撮像した場合、テレビカメラに対向する平面と部分
円筒面との境界は写るが、他の平面と部分円筒面との境
界までは写らず、しかも光源の強度によってこの境界側
の部分円筒面の写り方が異なる。上記のようなプレスパ
ネルの形状を測定するためには、部分円筒面と2つの平
面との境界の位置を知る必要があるが、このように部分
円筒面の一部しか写らず、しかも光源の強度によって写
り方が異なるのでは、正確な測定はできない。
測定する方法が検討されている。この場合、レーザなど
の光源よりプレスパネルの表面に光を照射し、これをテ
レビカメラなどの2次元撮像手段で撮像して、その画像
データを処理することにより、部分円筒面の形状を測定
する。ところが、反射率の関係などにより部分円筒面の
一部しか写らないため、正確な測定ができないという問
題がある。すなわち、プレスパネルの表面に照射された
光を撮像した場合、テレビカメラに対向する平面と部分
円筒面との境界は写るが、他の平面と部分円筒面との境
界までは写らず、しかも光源の強度によってこの境界側
の部分円筒面の写り方が異なる。上記のようなプレスパ
ネルの形状を測定するためには、部分円筒面と2つの平
面との境界の位置を知る必要があるが、このように部分
円筒面の一部しか写らず、しかも光源の強度によって写
り方が異なるのでは、正確な測定はできない。
この発明の目的は、上記の問題を解決し、部分円筒面
を有する被測定物の形状を正確に測定できる方法を提供
することにある。
を有する被測定物の形状を正確に測定できる方法を提供
することにある。
課題を解決するための手段 請求項1の発明は、部分円筒面を有する被測定物の形
状を光切断法によって測定する方法であって、2次元撮
像手段で撮像した画像データより被測定物の部分円筒面
の形状を指数関数である回帰曲線を用いて推定すること
を特徴とするものである。
状を光切断法によって測定する方法であって、2次元撮
像手段で撮像した画像データより被測定物の部分円筒面
の形状を指数関数である回帰曲線を用いて推定すること
を特徴とするものである。
請求項2の発明は、部分円筒面を有する被測定物の形
状を光切断法によって測定する方法であって、2次元撮
像手段で撮像した画像データより被測定物の部分円筒面
の形状を分数関数である回帰曲線を用いて推定すること
を特徴とするものである。
状を光切断法によって測定する方法であって、2次元撮
像手段で撮像した画像データより被測定物の部分円筒面
の形状を分数関数である回帰曲線を用いて推定すること
を特徴とするものである。
請求項3の発明は、部分円筒面を有する被測定物の形
状を光切断法によって測定する方法であって、2次元撮
像手段で撮像した画像データより被測定物の部分円筒面
の形状を懸垂曲線である回帰曲線を用いて推定すること
を特徴とするものである。
状を光切断法によって測定する方法であって、2次元撮
像手段で撮像した画像データより被測定物の部分円筒面
の形状を懸垂曲線である回帰曲線を用いて推定すること
を特徴とするものである。
作用 被測定物の部分円筒面の一部が写っている画像データ
より、回帰曲線として請求項1の発明では指数関数を、
請求項2の発明では分数関数を、請求項3の発明では懸
垂曲線を用いて部分円筒面の形状を推定するので、いず
れの発明の場合も、部分円筒面の写り方の違いや2次元
撮像手段の姿勢などにかかわらず、被測定物の形状を自
動的にかつ正確に測定することができる。このため、誤
差が小さく、測定時間も短縮される。
より、回帰曲線として請求項1の発明では指数関数を、
請求項2の発明では分数関数を、請求項3の発明では懸
垂曲線を用いて部分円筒面の形状を推定するので、いず
れの発明の場合も、部分円筒面の写り方の違いや2次元
撮像手段の姿勢などにかかわらず、被測定物の形状を自
動的にかつ正確に測定することができる。このため、誤
差が小さく、測定時間も短縮される。
回帰曲線として、一般に、3次元関数などのn次元関
数が考えられるが、これは、未知数が多いためにノイズ
に弱く、再現性が良くないという問題がある。
数が考えられるが、これは、未知数が多いためにノイズ
に弱く、再現性が良くないという問題がある。
回帰曲線として、指数関数、分数関数または懸垂曲線
を用いると、最小2乗法などを用いて簡単にかつ効率的
に最適化ができる。
を用いると、最小2乗法などを用いて簡単にかつ効率的
に最適化ができる。
回帰関数として、たとえばZ=aebYのような指数関数
を用いると、未知数が少ないため、再現性が向上し、と
くに半径の小さい部分円筒面に対する適合度が良い。
を用いると、未知数が少ないため、再現性が向上し、と
くに半径の小さい部分円筒面に対する適合度が良い。
また、たとえばプレスパネルなどのように板状の物体
に力を加えて曲げた場合、物理特性上、その曲がり形状
は懸垂曲線の一部となる。したがって、回帰曲線とし
て、たとえばZ=coth(aY)のような懸垂曲線を用いる
と、部分円筒面の形状に対する適合度が高く、未知数が
1つであるため、ノイズに強く、精度の高い測定ができ
る。
に力を加えて曲げた場合、物理特性上、その曲がり形状
は懸垂曲線の一部となる。したがって、回帰曲線とし
て、たとえばZ=coth(aY)のような懸垂曲線を用いる
と、部分円筒面の形状に対する適合度が高く、未知数が
1つであるため、ノイズに強く、精度の高い測定ができ
る。
実施例 以下、図面を参照して、この発明の実施例を説明す
る。
る。
第1図は、被測定物であるプレスパネル(1)と、形
状測定装置の全体概略構成を示す。
状測定装置の全体概略構成を示す。
パネル(1)は、互いに直角をなす2つの平面すなわ
ち第1平面(1a)と第2平面(1b)とが1/4部分円筒面
(1c)で繋っているものであり、測定台(2)にのせら
れる。測定台(2)は、上下2段の水平面すなわち上側
の第1水平面(2a)と下側の第2水平面(2b)の間に垂
直な基準面(2c)が形成されたものである。そして、パ
ネル(1)は、第1平面(1a)が水平かつ第1水平面
(2a)と同じ高さになり、かつ第2平面(1b)が基準面
(2c)と平行になるように、第2水平面(2b)上にのせ
られる。
ち第1平面(1a)と第2平面(1b)とが1/4部分円筒面
(1c)で繋っているものであり、測定台(2)にのせら
れる。測定台(2)は、上下2段の水平面すなわち上側
の第1水平面(2a)と下側の第2水平面(2b)の間に垂
直な基準面(2c)が形成されたものである。そして、パ
ネル(1)は、第1平面(1a)が水平かつ第1水平面
(2a)と同じ高さになり、かつ第2平面(1b)が基準面
(2c)と平行になるように、第2水平面(2b)上にのせ
られる。
測定装置は、光源(3)、CCDテレビカメラ(2次元
撮像手段)(4)、画像処理装置(5)および演算処理
装置(6)を備えている。
撮像手段)(4)、画像処理装置(5)および演算処理
装置(6)を備えている。
光源(3)は、測定台(2)およびパネル(1)の表
面に真上から第1水平面(2a)および基準面(2c)と直
交するスリット光線を照射するものであり、たとえば半
導体レーザなどが使用される。
面に真上から第1水平面(2a)および基準面(2c)と直
交するスリット光線を照射するものであり、たとえば半
導体レーザなどが使用される。
テレビカメラ(4)は、光源(3)に面する測定台
(2)およびパネル(1)の表面に当たった光を撮像す
るためのものである。
(2)およびパネル(1)の表面に当たった光を撮像す
るためのものである。
画像処理装置(5)は、テレビカメラ(4)の映像信
号を処理して、後述する画像データを演算装置に出力す
るものである。
号を処理して、後述する画像データを演算装置に出力す
るものである。
演算処理装置(6)は、画像処理装置(5)の出力よ
りパネル(1)の形状を求めるものであり、コンピュー
タによって構成されている。
りパネル(1)の形状を求めるものであり、コンピュー
タによって構成されている。
第2図は、テレビカメラ(4)で撮像されたテレビ画
像の1例を示す。なお、テレビ画像について、第2図の
上下左右を上下左右とする。
像の1例を示す。なお、テレビ画像について、第2図の
上下左右を上下左右とする。
テレビ画像は水平走査線(A)と所定の基準クロック
パルスによって複数の点に等分され、各点は、次のよう
に、Y軸とZ軸を用いて表わされる。すなわち、テレビ
画像の中央の左右方向の軸をY軸、上下方向の軸をZ軸
とし、これらの交点を原点(O)とする。したがって、
水平走査線方向すなわち水平走査方向がZ軸方向、これ
と直交する垂直走査方向がY軸方向となる。また、テレ
ビ画像の右側がY軸の正方向、左側が負方向であり、テ
レビ画像の下側がZ軸の正方向、上側が負方向である。
そして、各点の座標値は、パネル(1)の実際の寸法
(mm)を100倍した整数値で表わされる。テレビ画像と
これに写っているパネルの部分の実際の寸法との関係
は、パネル(1)とテレビカメラ(4)との相対位置関
係によって決まる。今、テレビ画面の左右幅がパネル
(1)の実際の寸法30mmに、テレビ画面の上下幅がパネ
ル(1)の実際の寸法20mmにそれぞれ相当するとすれ
ば、テレビ画像の原点(O)のY座標値およびZ座標値
はともに0、右端のY座標値は+1500(+15mm)、左端
のY座標値は−1500(−15mm)、下端のZ座標値は+10
00(+10mm)、上端のZ座標値は−1000(−10mm)であ
る。
パルスによって複数の点に等分され、各点は、次のよう
に、Y軸とZ軸を用いて表わされる。すなわち、テレビ
画像の中央の左右方向の軸をY軸、上下方向の軸をZ軸
とし、これらの交点を原点(O)とする。したがって、
水平走査線方向すなわち水平走査方向がZ軸方向、これ
と直交する垂直走査方向がY軸方向となる。また、テレ
ビ画像の右側がY軸の正方向、左側が負方向であり、テ
レビ画像の下側がZ軸の正方向、上側が負方向である。
そして、各点の座標値は、パネル(1)の実際の寸法
(mm)を100倍した整数値で表わされる。テレビ画像と
これに写っているパネルの部分の実際の寸法との関係
は、パネル(1)とテレビカメラ(4)との相対位置関
係によって決まる。今、テレビ画面の左右幅がパネル
(1)の実際の寸法30mmに、テレビ画面の上下幅がパネ
ル(1)の実際の寸法20mmにそれぞれ相当するとすれ
ば、テレビ画像の原点(O)のY座標値およびZ座標値
はともに0、右端のY座標値は+1500(+15mm)、左端
のY座標値は−1500(−15mm)、下端のZ座標値は+10
00(+10mm)、上端のZ座標値は−1000(−10mm)であ
る。
各水平走査線のY座標値は、変数Y[i]に格納され
る。ここで、iは水平走査線(A)の番号(走査線番
号)である。水平走査線(A)の数はたとえば484本で
あり、右端のものを0として、順に番号を付している。
すなわち、右端の水平走査線(A)の番号iは0、左端
の水平走査線(A)の番号iは483である。
る。ここで、iは水平走査線(A)の番号(走査線番
号)である。水平走査線(A)の数はたとえば484本で
あり、右端のものを0として、順に番号を付している。
すなわち、右端の水平走査線(A)の番号iは0、左端
の水平走査線(A)の番号iは483である。
通常、テレビ画像の左端にはパネル(1)に当たった
光の部分(H1)、右側には測定台(2)に当たった光の
部分(H2)がそれぞれ表われる。なお、前者を第1光部
分、後者を第2光部分と呼ぶことにする。
光の部分(H1)、右側には測定台(2)に当たった光の
部分(H2)がそれぞれ表われる。なお、前者を第1光部
分、後者を第2光部分と呼ぶことにする。
第1光部分(H1)は、第1平面(1a)に当たった光の
部分に対応する第1直線部(L1)と、円筒面(1c)に当
たった光の部分に対応する曲線部(C1)とからなる。第
1直線部(L1)の左端を第1始点(S1)、曲線部(C1)
の右端を第1終点(E1)、第1直線部(L1)から曲線部
(C1)に移る点(変曲点)をR始点(RS)と呼ぶことに
する。パネル(1)に当たった光をテレビカメラ(4)
で撮像した場合、反射率の関係などより、円筒面(1c)
の第1平面(1a)側の一部しか写らない。したがって、
R始点(RS)は、第1平面(1a)から円筒面(1c)に移
る点すなわち実際の円筒面(1c)の始点と一致するが、
第1終点(E1)は、円筒面(1c)から第2平面(1b)に
移る点すなわち実際の円筒面(1c)の終点(R終点)
(RE)とは一致しない。
部分に対応する第1直線部(L1)と、円筒面(1c)に当
たった光の部分に対応する曲線部(C1)とからなる。第
1直線部(L1)の左端を第1始点(S1)、曲線部(C1)
の右端を第1終点(E1)、第1直線部(L1)から曲線部
(C1)に移る点(変曲点)をR始点(RS)と呼ぶことに
する。パネル(1)に当たった光をテレビカメラ(4)
で撮像した場合、反射率の関係などより、円筒面(1c)
の第1平面(1a)側の一部しか写らない。したがって、
R始点(RS)は、第1平面(1a)から円筒面(1c)に移
る点すなわち実際の円筒面(1c)の始点と一致するが、
第1終点(E1)は、円筒面(1c)から第2平面(1b)に
移る点すなわち実際の円筒面(1c)の終点(R終点)
(RE)とは一致しない。
第2光部分(H2)は、第2図(a)のように表われる
場合と、同図(b)のように表われる場合とがある。第
2図(a)の場合、第2光部分(H2)は、第1水平面
(2a)に当たった光の部分に対応する第2直線部(L2)
と、基準面(2c)に当たった光の部分に対応する第3直
線部(L3)とからなる。この場合、第2直線部(L2)の
右端を第2始点(S2)、第3直線部(L3)の左端を第2
終点(E2)、第2直線部(L2)から第3直線部(L3)に
移る点(変曲点)を折点(F2)と呼ぶことにする。第2
図(b)の場合、第2光部分(H2)は、第1水平面(2
a)に当たった光の部分に対応する第2直線部(L2)だ
けからなる。この場合、第2直線部(L2)の右端が第2
始点(S2)、左端が第2終点(E2)であると同時に折点
(F2)となる。
場合と、同図(b)のように表われる場合とがある。第
2図(a)の場合、第2光部分(H2)は、第1水平面
(2a)に当たった光の部分に対応する第2直線部(L2)
と、基準面(2c)に当たった光の部分に対応する第3直
線部(L3)とからなる。この場合、第2直線部(L2)の
右端を第2始点(S2)、第3直線部(L3)の左端を第2
終点(E2)、第2直線部(L2)から第3直線部(L3)に
移る点(変曲点)を折点(F2)と呼ぶことにする。第2
図(b)の場合、第2光部分(H2)は、第1水平面(2
a)に当たった光の部分に対応する第2直線部(L2)だ
けからなる。この場合、第2直線部(L2)の右端が第2
始点(S2)、左端が第2終点(E2)であると同時に折点
(F2)となる。
画像処理装置(5)は、上記のように等分した複数の
点に対応する映像信号を輝度情報に変換し、光部分(H
1)(H2)のある水平走査線(A)についてのみ、次の
ような画像データi、Y[i]、Z[i]およびL
[i]を作って演算処理装置(6)に出力する。iは、
光部分(H1)(H2)のある水平走査線(A)の走査線番
号である。Y[i]は、光部分(H1)(H2)のある水平
走査線(A)のY座標値である。Z[i]は、このi番
目の水平走査線i上の光部分(H1)(H2)のZ座標値で
ある。L[i]は、このi番目の水平走査線i上の光部
分(H1)(H2)の輝度すなわち光の強度である。なお、
このような画像データのうち、第1光部分(H1)に対応
するものを第1データ、第2光部分(H2)に対応するも
のを第2データと呼ぶことにする。なお、このような機
能を有する画像処理装置(5)として、市販品を使用す
ることができる。
点に対応する映像信号を輝度情報に変換し、光部分(H
1)(H2)のある水平走査線(A)についてのみ、次の
ような画像データi、Y[i]、Z[i]およびL
[i]を作って演算処理装置(6)に出力する。iは、
光部分(H1)(H2)のある水平走査線(A)の走査線番
号である。Y[i]は、光部分(H1)(H2)のある水平
走査線(A)のY座標値である。Z[i]は、このi番
目の水平走査線i上の光部分(H1)(H2)のZ座標値で
ある。L[i]は、このi番目の水平走査線i上の光部
分(H1)(H2)の輝度すなわち光の強度である。なお、
このような画像データのうち、第1光部分(H1)に対応
するものを第1データ、第2光部分(H2)に対応するも
のを第2データと呼ぶことにする。なお、このような機
能を有する画像処理装置(5)として、市販品を使用す
ることができる。
次に、第3図のフローチャートを参照して、測定時の
演算処理装置(6)の動作の1例の概略を説明する。
演算処理装置(6)の動作の1例の概略を説明する。
この測定は、曲線部(C1)の画像データから円筒面
(1c)の終点(R終点)(RE)を検出して、第2平面
(1b)の位置を求め、これと基準面(2c)との間隔を求
めるものである。なお、前述のように、第1光部分(H
1)の曲線部(C1)には、円筒面(1c)に当たった光の
一部しか写っていない。このため、上記の測定において
は、曲線部(C1)の画像データより、回帰曲線を用いて
円筒面(1c)の形状を推定し、これによってR終点(R
E)を検出している。
(1c)の終点(R終点)(RE)を検出して、第2平面
(1b)の位置を求め、これと基準面(2c)との間隔を求
めるものである。なお、前述のように、第1光部分(H
1)の曲線部(C1)には、円筒面(1c)に当たった光の
一部しか写っていない。このため、上記の測定において
は、曲線部(C1)の画像データより、回帰曲線を用いて
円筒面(1c)の形状を推定し、これによってR終点(R
E)を検出している。
第3図において、まず、画像処理装置(5)からデー
タを読込み(ステップ1)、データの再配置を行なう
(ステップ2)。次に、第2始点(S2)、第2終点(E
2)、第1始点(S1)および第1終点(E1)の検出を行
なう(ステップ3)。次に、折点(F2)の検出を行ない
(ステップ4)、R始点(RS)の検出を行なう(ステッ
プ5)。次に、回帰関数の決定を行ない(ステップ
6)、R終点(RE)を決定する(ステップ7)。そし
て、最後に、第2平面(1b)と基準面(2c)の間隔を計
算し(ステップ8)、処理を終了する。
タを読込み(ステップ1)、データの再配置を行なう
(ステップ2)。次に、第2始点(S2)、第2終点(E
2)、第1始点(S1)および第1終点(E1)の検出を行
なう(ステップ3)。次に、折点(F2)の検出を行ない
(ステップ4)、R始点(RS)の検出を行なう(ステッ
プ5)。次に、回帰関数の決定を行ない(ステップ
6)、R終点(RE)を決定する(ステップ7)。そし
て、最後に、第2平面(1b)と基準面(2c)の間隔を計
算し(ステップ8)、処理を終了する。
次に、第4図〜第19図を参照して、上記の各ステップ
の処理を詳細に説明する。
の処理を詳細に説明する。
第4図は、第3図のステップ2のデータ再配置の処理
の1例を示す。
の1例を示す。
前述のように、画像処理装置から得られるデータは、
光部分(H1)(H2)のある水平走査線番号iについての
Y[i]、Z[i]、L[i]のみであるので、データ
再配置により、次のように、光部分の存在しない走査線
番号iに関して、 Z[i]=1000 Y[i]=L[i]=0 とする。
光部分(H1)(H2)のある水平走査線番号iについての
Y[i]、Z[i]、L[i]のみであるので、データ
再配置により、次のように、光部分の存在しない走査線
番号iに関して、 Z[i]=1000 Y[i]=L[i]=0 とする。
まず、iを0にする(ステップ201)。次に、番号i
の走査線上に光部分があるかどうか、すなわち番号iが
画像処理装置(5)から出力されているかどうかを調べ
(ステップ202)、光部分があれば、Z[i]、Y
[i]およびL[i]に、画像処理装置(5)から読込
んだZ[i]、Y[i]およびL[i]をそのままセッ
トして(ステップ203)、ステップ204に進む。ステップ
202において番号iの走査線上に光部分がなければ、Z
[i]に1000、Y[i]およびL[i]にそれぞれ0を
セットし(ステップ205)、ステップ204に進む。ステッ
プ204では、走査線番号iが483以上であるかどうかを調
べ、そうでなければ、iを1増加させて(ステップ20
6)、ステップ202に戻る。ステップ204においてiが483
以上になれば、処理を終了する。
の走査線上に光部分があるかどうか、すなわち番号iが
画像処理装置(5)から出力されているかどうかを調べ
(ステップ202)、光部分があれば、Z[i]、Y
[i]およびL[i]に、画像処理装置(5)から読込
んだZ[i]、Y[i]およびL[i]をそのままセッ
トして(ステップ203)、ステップ204に進む。ステップ
202において番号iの走査線上に光部分がなければ、Z
[i]に1000、Y[i]およびL[i]にそれぞれ0を
セットし(ステップ205)、ステップ204に進む。ステッ
プ204では、走査線番号iが483以上であるかどうかを調
べ、そうでなければ、iを1増加させて(ステップ20
6)、ステップ202に戻る。ステップ204においてiが483
以上になれば、処理を終了する。
これにより、テレビ画像中の番号iが0から483まで
の全ての走査線について、光部分があるかどうかが調べ
られ、光部分のない走査線に関して、Z[i]に1000
が、Y[i]およびL[i]にそれぞれ0がセットされ
る。
の全ての走査線について、光部分があるかどうかが調べ
られ、光部分のない走査線に関して、Z[i]に1000
が、Y[i]およびL[i]にそれぞれ0がセットされ
る。
第5図は、第3図のステップ3の第2始点(S2)、第
2終点(E2)、第1始点(S1)および第1終点(E1)検
出の処理の1例を示す。
2終点(E2)、第1始点(S1)および第1終点(E1)検
出の処理の1例を示す。
第5図において、まず、iを0にし(ステップ30
1)、L[i]が0でないかどうかを調べる(ステップ3
02)。L[i]が0であれば、iを1増加させ(ステッ
プ303)、ステップ302に戻って、L[i]≠0になるま
でステップ302と303を繰返す。ステップ302においてL
[i]≠0になると、そのときのiを第2始点(S2)に
セットする(ステップ304)。
1)、L[i]が0でないかどうかを調べる(ステップ3
02)。L[i]が0であれば、iを1増加させ(ステッ
プ303)、ステップ302に戻って、L[i]≠0になるま
でステップ302と303を繰返す。ステップ302においてL
[i]≠0になると、そのときのiを第2始点(S2)に
セットする(ステップ304)。
これにより、テレビ画像中の水平走査線が番号iが0
のもの(右端のもの)からiが増加する方向に走査さ
れ、初めてL[i]≠0となる走査線すなわち初めて光
部分(H2)が現われる走査線の番号iが第2始点として
S2にセットされる。
のもの(右端のもの)からiが増加する方向に走査さ
れ、初めてL[i]≠0となる走査線すなわち初めて光
部分(H2)が現われる走査線の番号iが第2始点として
S2にセットされる。
ステップ304においてS2のセットが終了すると、iを
1増加させ(ステップ305)、Z[i+1]とZ[i]
との差の絶対値|Z[i+1]−Z[i]|が200以上で
あるかどうかを調べる(ステップ306)。|Z[i+1]
−Z[i]|が200以上でなければ、ステップ305に戻
り、|Z[i+1]−Z[i]|≧200になるまでステッ
プ305と306を繰返す。そして、ステップ306において|Z
[i+1]−Z[i]|≧200になると、そのときのi
を第2終点(E2)にセットする(ステップ307)。
1増加させ(ステップ305)、Z[i+1]とZ[i]
との差の絶対値|Z[i+1]−Z[i]|が200以上で
あるかどうかを調べる(ステップ306)。|Z[i+1]
−Z[i]|が200以上でなければ、ステップ305に戻
り、|Z[i+1]−Z[i]|≧200になるまでステッ
プ305と306を繰返す。そして、ステップ306において|Z
[i+1]−Z[i]|≧200になると、そのときのi
を第2終点(E2)にセットする(ステップ307)。
これにより、テレビ画像中の水平走査線が番号iがS2
+1のものからiが増加する方向に走査され、初めて|Z
[i+1]−Z[i]|≧200となる走査線の番号iが
第2終点としてE2にセットされる。第2始点(S2)の1
つ後(左側)から第2終点(E2)の1つ手前(右側)の
水平走査線までは、その水平走査線(番号i)も、それ
より1つ左側の水平走査線(番号i+1)も第2光部分
(H2)にあり、しかも水平走査線は連続しているので、
|Z[i+1]−Z[i]|はほとんど0である。第2終
点(E2)に対応する水平走査線については、その水平走
査線(番号i)は第2光部分(H2)にあるが、1つ後
(左側)の水平走査線(番号i+1)は第2光部分(H
2)にない。このため、Z[i+1]は1000である。ま
た、第2光部分(H2)は、Z軸方向の中央部、すなわち
Y軸の近くにくるように撮像されるので、第2終点(E
2)の水平走査線のZ[i]は0に近い値になる。した
がって、第2終点(E2)の水平走査線について、初め
て、|Z[i+1]−Z[i]|が200以上になり、上記
のようにして第2終点(E2)が求められる。
+1のものからiが増加する方向に走査され、初めて|Z
[i+1]−Z[i]|≧200となる走査線の番号iが
第2終点としてE2にセットされる。第2始点(S2)の1
つ後(左側)から第2終点(E2)の1つ手前(右側)の
水平走査線までは、その水平走査線(番号i)も、それ
より1つ左側の水平走査線(番号i+1)も第2光部分
(H2)にあり、しかも水平走査線は連続しているので、
|Z[i+1]−Z[i]|はほとんど0である。第2終
点(E2)に対応する水平走査線については、その水平走
査線(番号i)は第2光部分(H2)にあるが、1つ後
(左側)の水平走査線(番号i+1)は第2光部分(H
2)にない。このため、Z[i+1]は1000である。ま
た、第2光部分(H2)は、Z軸方向の中央部、すなわち
Y軸の近くにくるように撮像されるので、第2終点(E
2)の水平走査線のZ[i]は0に近い値になる。した
がって、第2終点(E2)の水平走査線について、初め
て、|Z[i+1]−Z[i]|が200以上になり、上記
のようにして第2終点(E2)が求められる。
ステップ307においてE2のセットが終了すると、iに4
83をセットし(ステップ308)、L[i]が0でないか
どうかを調べる(ステップ309)。L[i]が0であれ
ば、iを1減少させ(ステップ310)、ステップ309に戻
って、L[i]≠0になるまでステップ309と310を繰返
す。ステップ309においてL[i]≠0になると、その
ときのiを第1始点(S1)にセットする(ステップ31
1)。
83をセットし(ステップ308)、L[i]が0でないか
どうかを調べる(ステップ309)。L[i]が0であれ
ば、iを1減少させ(ステップ310)、ステップ309に戻
って、L[i]≠0になるまでステップ309と310を繰返
す。ステップ309においてL[i]≠0になると、その
ときのiを第1始点(S1)にセットする(ステップ31
1)。
これにより、テレビ画像中の水平走査線が番号iが48
3のものからiが減少する方向に走査され、初めてL
[i]≠0となる走査線すなわち初めて光部分(H1)が
現われる走査線の番号iが第1始点としてS1にセットさ
れる。
3のものからiが減少する方向に走査され、初めてL
[i]≠0となる走査線すなわち初めて光部分(H1)が
現われる走査線の番号iが第1始点としてS1にセットさ
れる。
ステップ311においてS1のセットが終了すると、iを
1減少させ(ステップ312)、Z[i]とZ[i−1]
との差の絶対値|Z[i]−Z[i−1]|が200以上で
あるかどうかを調べる(ステップ313)。|Z[i]−Z
[i−1]|が200以上でなければ、ステップ312に戻
り、|Z[i]−Z[i−1]|≧200になるまでステッ
プ312と313を繰返す。ステップ313において|Z[i]−
Z[i−1]|≧200になると、そのときのiを第1終
点(E1)にセットし(ステップ314)、処理を終了す
る。
1減少させ(ステップ312)、Z[i]とZ[i−1]
との差の絶対値|Z[i]−Z[i−1]|が200以上で
あるかどうかを調べる(ステップ313)。|Z[i]−Z
[i−1]|が200以上でなければ、ステップ312に戻
り、|Z[i]−Z[i−1]|≧200になるまでステッ
プ312と313を繰返す。ステップ313において|Z[i]−
Z[i−1]|≧200になると、そのときのiを第1終
点(E1)にセットし(ステップ314)、処理を終了す
る。
これにより、テレビ画像中の水平走査線が番号iがS1
−1のものからiが減少する方向に走査され、初めて|Z
[i]−Z[i−1]|≧200となる走査線の番号iが
第1終点としてE1にセットされる。これにより第1終点
(E1)が求められる理由は、第2終点(E2)の場合と同
様である。
−1のものからiが減少する方向に走査され、初めて|Z
[i]−Z[i−1]|≧200となる走査線の番号iが
第1終点としてE1にセットされる。これにより第1終点
(E1)が求められる理由は、第2終点(E2)の場合と同
様である。
第6図は、第3図のステップ4の第2データの折点
(F2)検出の処理の1例を示す。
(F2)検出の処理の1例を示す。
第6図において、まず、第2データの平滑化を行なう
(ステップ410)。この処理はiをE2(第2終点)からS
2(第2始点)+4まで走査して、平滑データS[i]
を求めるものであり、その詳細が第7図に示されてい
る。
(ステップ410)。この処理はiをE2(第2終点)からS
2(第2始点)+4まで走査して、平滑データS[i]
を求めるものであり、その詳細が第7図に示されてい
る。
第7図において、まず、iにE2をセットし(ステップ
411)、次の式により平滑データS[i]を演算する
(ステップ412)。
411)、次の式により平滑データS[i]を演算する
(ステップ412)。
S[i]=(Z[i]+Z[i−1]+Z[i−2]
+Z[i−3]+Z[i−4])/5 次に、iがS2+4より大きいかどうかを調べ(ステップ
413)、大きければ、iを1減少させて(ステップ41
4)、ステップ412に戻り、i>S2+4でなくなるまでス
テップ412、413および414を繰返す。ステップ413におい
てi>S2+4でなくなると、処理を終了する。
+Z[i−3]+Z[i−4])/5 次に、iがS2+4より大きいかどうかを調べ(ステップ
413)、大きければ、iを1減少させて(ステップ41
4)、ステップ412に戻り、i>S2+4でなくなるまでス
テップ412、413および414を繰返す。ステップ413におい
てi>S2+4でなくなると、処理を終了する。
第6図において、ステップ410の第2データの平滑化
が終了すると、平滑データS[i]の1次微分を行なう
(ステップ420)。この処理はiをE2からS2+9まで走
査し、平滑データS[i]を微分した1次微分データD1
[i]を求めるものであり、その詳細が第8図に示され
ている。
が終了すると、平滑データS[i]の1次微分を行なう
(ステップ420)。この処理はiをE2からS2+9まで走
査し、平滑データS[i]を微分した1次微分データD1
[i]を求めるものであり、その詳細が第8図に示され
ている。
第8図において、まず、iにE2をセットし(ステップ
421)、次の式により1次微分データD1[i]を演算す
る(ステップ422)。
421)、次の式により1次微分データD1[i]を演算す
る(ステップ422)。
D1[i]=S[i−5]−S[i] 次に、iがS2+9より大きいかどうかを調べ(ステップ
423)、大きければ、iを1減少させて(ステップ42
4)、ステップ422に戻り、i>S2+9でなくなるまでス
テップ422、423および424を繰返す。ステップ423におい
てi>S2+9でなくなると、処理を終了する。
423)、大きければ、iを1減少させて(ステップ42
4)、ステップ422に戻り、i>S2+9でなくなるまでス
テップ422、423および424を繰返す。ステップ423におい
てi>S2+9でなくなると、処理を終了する。
第6図において、ステップ420の平滑データS[i]
の1次微分が終了すると、2次微分を行なう(ステップ
430)。この処理はiをE2からS2+14まで走査し、1次
微分データD1[i]を微分した2次微分データD2[i]
を求めるものであり、その詳細が第9図に示されてい
る。
の1次微分が終了すると、2次微分を行なう(ステップ
430)。この処理はiをE2からS2+14まで走査し、1次
微分データD1[i]を微分した2次微分データD2[i]
を求めるものであり、その詳細が第9図に示されてい
る。
第9図において、まず、iにE2をセットし(ステップ
431)、次の式により2次微分データD2[i]を演算す
る(ステップ432)。
431)、次の式により2次微分データD2[i]を演算す
る(ステップ432)。
D2[i]=D1[i−5]−D1[i] 次に、iがS2+14より大きいかどうかを調べ(ステップ
433)、大きければ、iを1減少させて(ステップ43
4)、ステップ432に戻り、i>S2+14でなくなるまでス
テップ432、433および434を繰返す。ステップ433におい
てi>S2+14でなくなると、処理を終了する。
433)、大きければ、iを1減少させて(ステップ43
4)、ステップ432に戻り、i>S2+14でなくなるまでス
テップ432、433および434を繰返す。ステップ433におい
てi>S2+14でなくなると、処理を終了する。
第6図において、ステップ430の2次微分が終了する
と、2次微分データの平滑化を行なう(ステップ44
0)。この処理はiをE2−2からS2+16まで走査し、2
次微分データD2[i]を平滑化した平滑データS[i]
を求めるものであり、その詳細が第10図に示されてい
る。
と、2次微分データの平滑化を行なう(ステップ44
0)。この処理はiをE2−2からS2+16まで走査し、2
次微分データD2[i]を平滑化した平滑データS[i]
を求めるものであり、その詳細が第10図に示されてい
る。
第10図において、まず、iにE2−2をセットし(ステ
ップ441)、次の式により平滑データS[i]を演算す
る(ステップ442)。
ップ441)、次の式により平滑データS[i]を演算す
る(ステップ442)。
S[i]=(D2[i+2]+D2[i+1]+D2[i]+
D2[i−1]+D2[i−2])/5 次に、iがS2+16より大きいかどうかを調べ(ステップ
443)、大きければ、iを1減少させて(ステップ44
4)、ステップ442に戻り、i>S2+16でなくなるまでス
テップ442、443および444を繰返す。そして、ステップ4
43においてi>S2+16でなくなると、処理を終了する。
D2[i−1]+D2[i−2])/5 次に、iがS2+16より大きいかどうかを調べ(ステップ
443)、大きければ、iを1減少させて(ステップ44
4)、ステップ442に戻り、i>S2+16でなくなるまでス
テップ442、443および444を繰返す。そして、ステップ4
43においてi>S2+16でなくなると、処理を終了する。
第6図において、ステップ440の平滑化が終了する
と、折点F2の決定を行ない(ステップ450)、処理を終
了すると、この処理の概要は、次のとおりである。
と、折点F2の決定を行ない(ステップ450)、処理を終
了すると、この処理の概要は、次のとおりである。
iとS[i]の関係は、第11図のようになる。まず、
iをE2−2からS2+16へ走査し、S[i]が初めてしき
い値(たとえば9)以上となる点Psがあれば、その点か
ら初めてS[i]が0以下になる点を求め、この点のi
より1大きい値(i+1)を折点F2とする。E2−2から
S2+16までの間にPsがない場合は、E2をF2とする。
iをE2−2からS2+16へ走査し、S[i]が初めてしき
い値(たとえば9)以上となる点Psがあれば、その点か
ら初めてS[i]が0以下になる点を求め、この点のi
より1大きい値(i+1)を折点F2とする。E2−2から
S2+16までの間にPsがない場合は、E2をF2とする。
Psが存在する場合のノイズ対策の第1として、Ps−1
からF2までの間に所定値(たとえば8)以上のS[i]
が1つ以上なければ、Psが存在しないとして、E2をF2と
する。また、第2として、S[i]≦0でF2を決定する
際、第12図に示すように、S[i]が0以下になったの
ちに再び正の値であれば、次にS[i]が0以下になる
点によってF2を決定する。さらに、第3として、F2での
平滑化データS[F2]が1で、F2+1での平滑化データ
S[F2+1]も1の場合、F2はノイズとして、F2+1を
新しいF2とする。この操作は、S[i]≠1となるまで
行なう。
からF2までの間に所定値(たとえば8)以上のS[i]
が1つ以上なければ、Psが存在しないとして、E2をF2と
する。また、第2として、S[i]≦0でF2を決定する
際、第12図に示すように、S[i]が0以下になったの
ちに再び正の値であれば、次にS[i]が0以下になる
点によってF2を決定する。さらに、第3として、F2での
平滑化データS[F2]が1で、F2+1での平滑化データ
S[F2+1]も1の場合、F2はノイズとして、F2+1を
新しいF2とする。この操作は、S[i]≠1となるまで
行なう。
ステップ450の折点F2の決定の処理の詳細が、第13図
に示されている。
に示されている。
第13図において、まず、iにE2−2をセットする(ス
テップ451)。次に、S[i]が9以上であるかどうか
を調べ(ステップ452)、そうでなければ、iがS2+16
より大きいかどうかを調べる(ステップ453)。i>S2
+16であれば、iを1減少させ(ステップ454)、ステ
ップ452に戻る。ステップ453においてi>S2+16でなけ
れば、E2をF2とし(ステップ455)、処理を終了する。
ステップ453でi>S2+16でないのは、E2−2からS2+1
6までの間にPsがない場合であり、ステップ455において
E2をF2とする。
テップ451)。次に、S[i]が9以上であるかどうか
を調べ(ステップ452)、そうでなければ、iがS2+16
より大きいかどうかを調べる(ステップ453)。i>S2
+16であれば、iを1減少させ(ステップ454)、ステ
ップ452に戻る。ステップ453においてi>S2+16でなけ
れば、E2をF2とし(ステップ455)、処理を終了する。
ステップ453でi>S2+16でないのは、E2−2からS2+1
6までの間にPsがない場合であり、ステップ455において
E2をF2とする。
ステップ452においてS[i]≧9になったならば、
そのときのiをPsとする(ステップ456)。次に、iを
1減少させて(ステップ457)、S[i]が0以下であ
るかどうかを調べ(ステップ458)、そうでなければ、
ステップ457に戻る。そして、ステップ458においてS
[i]≦0になると、そのときのiより1大きい値(i
+1)をF2とする(ステップ459)。
そのときのiをPsとする(ステップ456)。次に、iを
1減少させて(ステップ457)、S[i]が0以下であ
るかどうかを調べ(ステップ458)、そうでなければ、
ステップ457に戻る。そして、ステップ458においてS
[i]≦0になると、そのときのiより1大きい値(i
+1)をF2とする(ステップ459)。
上記のようにしてPsおよびF2が求まると、iにPs−1
をセットして(ステップ460)、S[i]が8以上であ
るかどうかを調べ(ステップ461)、そうでなければ、
iがF2より大きいかどうかを調べ(ステップ462)、そ
うであれば、iを1減少させて(ステップ463)、ステ
ップ461に戻る。ステップ462においてi>F2でなけれ
ば、ステップ455に進む。ステップ461においてS[i]
≧8であれば、次のステップ464に進む。ステップ460、
461、462および463は、ノイズ対策の第1の処理であ
る。ステップ462においてi>F2でなくなるのは、Ps−
1からF2までの間に8以上のS[i]がない場合であ
り、この場合は、前述のように、ステップ455に進ん
で、E2をF2とする。
をセットして(ステップ460)、S[i]が8以上であ
るかどうかを調べ(ステップ461)、そうでなければ、
iがF2より大きいかどうかを調べ(ステップ462)、そ
うであれば、iを1減少させて(ステップ463)、ステ
ップ461に戻る。ステップ462においてi>F2でなけれ
ば、ステップ455に進む。ステップ461においてS[i]
≧8であれば、次のステップ464に進む。ステップ460、
461、462および463は、ノイズ対策の第1の処理であ
る。ステップ462においてi>F2でなくなるのは、Ps−
1からF2までの間に8以上のS[i]がない場合であ
り、この場合は、前述のように、ステップ455に進ん
で、E2をF2とする。
ステップ464では、S[F2−2]が0より大きいかど
うかを調べ、そうでなければ、処理を終了する。ステッ
プ464においてS[F2−2]>0であれば、F2−3をi
にセットする(ステップ465)。次に、S[i]が0以
下であるかどうかを調べ(ステップ466)、そうでなけ
れば、iがPs+16より大きいかどうかを調べ(ステップ
467)、そうであれば、iを1減少させて(ステップ46
8)、ステップ466に戻る。ステップ466においてS
[i]≦0であれば、そのときのiより1大きい値(i
+1)をF2とし(ステップ469)、次のステップ470に進
む。ステップ464、465、466、467、468および469は、ノ
イズ対策の第2の処理である。
うかを調べ、そうでなければ、処理を終了する。ステッ
プ464においてS[F2−2]>0であれば、F2−3をi
にセットする(ステップ465)。次に、S[i]が0以
下であるかどうかを調べ(ステップ466)、そうでなけ
れば、iがPs+16より大きいかどうかを調べ(ステップ
467)、そうであれば、iを1減少させて(ステップ46
8)、ステップ466に戻る。ステップ466においてS
[i]≦0であれば、そのときのiより1大きい値(i
+1)をF2とし(ステップ469)、次のステップ470に進
む。ステップ464、465、466、467、468および469は、ノ
イズ対策の第2の処理である。
ステップ470では、S[F2]およびS[F2+1]がと
もに1であるかどうかを調べ、そうでなければ、処理を
終了する。ステップ470においてS[F2]=S[F2+
1]=1であれば、iにF2をセットする(ステップ47
1)。次に、S[i]が1でないかどうかを調べ(ステ
ップ472)、1であれば、iを1減少させ(ステップ47
3)、ステップ472に戻る。ステップ472においてS
[i]が1でなければ、そのときのiをF2として(ステ
ップ474)、処理を終了す。ステップ470、471、472、47
3および474は、ノイズ対策の第3の処理である。
もに1であるかどうかを調べ、そうでなければ、処理を
終了する。ステップ470においてS[F2]=S[F2+
1]=1であれば、iにF2をセットする(ステップ47
1)。次に、S[i]が1でないかどうかを調べ(ステ
ップ472)、1であれば、iを1減少させ(ステップ47
3)、ステップ472に戻る。ステップ472においてS
[i]が1でなければ、そのときのiをF2として(ステ
ップ474)、処理を終了す。ステップ470、471、472、47
3および474は、ノイズ対策の第3の処理である。
次に、第3図のステップ5の第1データのR始点RSの
検出は、iの走査方向が逆になるだけで、第2データの
折点F2の検出と同様である。これを簡単に説明すると、
次のようになる。
検出は、iの走査方向が逆になるだけで、第2データの
折点F2の検出と同様である。これを簡単に説明すると、
次のようになる。
まず、第1データの平滑化を行ない、平滑データS
[i]の1次微分および2次微分を行ない、2次微分デ
ータの平滑化を行ない、最後にR始点(RS)の決定を行
なう。
[i]の1次微分および2次微分を行ない、2次微分デ
ータの平滑化を行ない、最後にR始点(RS)の決定を行
なう。
第1データの平滑化は、iをE1(第1終点)からS1
(第1始点)−4まで走査し、次の式により、平滑デー
タS[i]を求めるものである。
(第1始点)−4まで走査し、次の式により、平滑デー
タS[i]を求めるものである。
S[i]=(Z[i]+Z[i+1]+Z[i+2]+
Z[i+3]+Z[i+4])/5 平滑データS[i]の1次微分は、iをE1からS1−9
まで走査し、次の式により、平滑データS[i]を微分
した1次微分データD1[i]を求めるものである。
Z[i+3]+Z[i+4])/5 平滑データS[i]の1次微分は、iをE1からS1−9
まで走査し、次の式により、平滑データS[i]を微分
した1次微分データD1[i]を求めるものである。
D1[i]=S[i+5]−S[i] 平滑データS[i]の2次微分は、iをE1からS1−14
まで走査し、次の式により、1次微分データD1[i]を
微分した2次微分データD2[i]を求めるものである。
まで走査し、次の式により、1次微分データD1[i]を
微分した2次微分データD2[i]を求めるものである。
D2[i]=D1[i+5]−D1[i] 2次微分データの平滑化は、iをE1+2からS1−16ま
で走査し、次の式により、2次微分データD2[i]を平
滑化した平滑データS[i]を求めるものである。
で走査し、次の式により、2次微分データD2[i]を平
滑化した平滑データS[i]を求めるものである。
S[i]=(D2[i+2]+D2[i+1]+D2[i]+
D2[i−1]+D2[i−2])/5 RSの決定は、F2の決定とほぼ同じである。
D2[i−1]+D2[i−2])/5 RSの決定は、F2の決定とほぼ同じである。
第14図は、第3図のステップ6の回帰関数決定の処理
の概要を示す。
の概要を示す。
この処理は、第1光部分(H1)の曲線部(C1)を推定
するための回帰関数である指数関数Z=aebYの係数aお
よびbを最小2乗法によって決定するものであり、第1
光部分(H1)の第1直線部(L1)がY軸と平行になるよ
うに画像データの座標変換(回転変換)を行なったの
ち、R始点(RS)がZ軸と一致するように画像データの
座標変換(平行移動)を行ない、R始点(RS)のZ座標
値を順に変えて、仮に求めた回帰関数と画像データとの
誤差の2乗の重み付き積分値が最小になるようにaおよ
びbを決定する。
するための回帰関数である指数関数Z=aebYの係数aお
よびbを最小2乗法によって決定するものであり、第1
光部分(H1)の第1直線部(L1)がY軸と平行になるよ
うに画像データの座標変換(回転変換)を行なったの
ち、R始点(RS)がZ軸と一致するように画像データの
座標変換(平行移動)を行ない、R始点(RS)のZ座標
値を順に変えて、仮に求めた回帰関数と画像データとの
誤差の2乗の重み付き積分値が最小になるようにaおよ
びbを決定する。
第14図において、まず、Y軸に対する第1光部分(H
1)の第1直線部(L1)の傾き角θを求める(ステップ6
10)。この処理の詳細が、第15図に示されている。
1)の第1直線部(L1)の傾き角θを求める(ステップ6
10)。この処理の詳細が、第15図に示されている。
第15図において、まず、αおよびnに0をセットし、
dataにS1(第1始点)をセットする(ステップ611)。
そして、次の式により、αを求め、nを1増加させる
(ステップ612)。
dataにS1(第1始点)をセットする(ステップ611)。
そして、次の式により、αを求め、nを1増加させる
(ステップ612)。
上式において、dim3[]はZ座標値の3次平滑データで
ある。次に、dataがRS(R始点)+20より大きいかどう
かを調べ(ステップ613)、大きければ、dataを1減少
させて(ステップ614)、ステップ612に戻り、data>RS
+20でなくなるまでステップ612、613および614を繰返
す。ステップ613においてdata>RS+20でなくなると、
次の式により、傾き角θを求め(ステップ615)、処理
を終了する。
ある。次に、dataがRS(R始点)+20より大きいかどう
かを調べ(ステップ613)、大きければ、dataを1減少
させて(ステップ614)、ステップ612に戻り、data>RS
+20でなくなるまでステップ612、613および614を繰返
す。ステップ613においてdata>RS+20でなくなると、
次の式により、傾き角θを求め(ステップ615)、処理
を終了する。
θ=α/n 第14図において、ステップ610の処理が終了すると、
第1直線部(L1)がY軸と平行になるように、すなわ
ち、上記傾き角θが0になるように、画像データの座標
変換(回転変換)を行なう(ステップ620)。この処理
の詳細が、第16図に示されている。
第1直線部(L1)がY軸と平行になるように、すなわ
ち、上記傾き角θが0になるように、画像データの座標
変換(回転変換)を行なう(ステップ620)。この処理
の詳細が、第16図に示されている。
第16図において、まず、dataに0をセットする(ステ
ップ621)。そして、次の式により、Y[data]および
Z[data]を演算する(ステップ622)。
ップ621)。そして、次の式により、Y[data]および
Z[data]を演算する(ステップ622)。
Y[data]=Y[data]×cosθ+Z[data]×sinθ Z[data]=Z[data]×cosθ−Y[data]×sinθ 次に、dataが483より大きいかどうかを調べ(ステップ6
23)、大きくなければ、dataを1増加させて(ステップ
624)、ステップ622に戻り、data>483になるまでステ
ップ622、623および624を繰返す。ステップ623において
data>483になると、処理を終了する。
23)、大きくなければ、dataを1増加させて(ステップ
624)、ステップ622に戻り、data>483になるまでステ
ップ622、623および624を繰返す。ステップ623において
data>483になると、処理を終了する。
第14図において、ステップ620の処理が終了すると、
R始点(RS)がZ軸と合致するように、次の式により、
Y軸方向のオフセット量Yofを求める(ステップ630)。
R始点(RS)がZ軸と合致するように、次の式により、
Y軸方向のオフセット量Yofを求める(ステップ630)。
Yof=−Y[RS] 次に、最小2乗法のための初期設定を行なう。すなわ
ち、δに0を、dに0.1を、mにRS(R始点)−E1(第
1終点)+1を、MINに10000をそれぞれセットする(ス
テップ640)。δはR始点(RS)のZ座標値を格納する
ための変数であり、最初は0がセットされる。dはR始
点(RS)のZ座標値の変化量を格納するための変数であ
り、最初は0.1がセットされる。mは最小2乗法に用い
るデータ数、すなわちR始点(RS)から第1終点(E1)
までのデータ数である。MINは誤差の2乗の重み付き積
分値Σの最小値を格納するための変数であり、最初は10
000という大きな値がセットされる。
ち、δに0を、dに0.1を、mにRS(R始点)−E1(第
1終点)+1を、MINに10000をそれぞれセットする(ス
テップ640)。δはR始点(RS)のZ座標値を格納する
ための変数であり、最初は0がセットされる。dはR始
点(RS)のZ座標値の変化量を格納するための変数であ
り、最初は0.1がセットされる。mは最小2乗法に用い
るデータ数、すなわちR始点(RS)から第1終点(E1)
までのデータ数である。MINは誤差の2乗の重み付き積
分値Σの最小値を格納するための変数であり、最初は10
000という大きな値がセットされる。
次に、Z軸方向のオフセット量Zofを設定する(ステ
ップ650)。この処理の詳細が、第17図に示されてい
る。
ップ650)。この処理の詳細が、第17図に示されてい
る。
第17図において、まず、δにδ+dをセットする(ス
テップ651)。次に、δが0以下であるかどうかを調べ
(ステップ652)、そうでなければ、次の式により、Zof
を求め(ステップ653)、処理を終了する。
テップ651)。次に、δが0以下であるかどうかを調べ
(ステップ652)、そうでなければ、次の式により、Zof
を求め(ステップ653)、処理を終了する。
Zof=−Z[RS]+δ ステップ652においてδが0以下の場合は、MINに100000
をセットするとともに、dに−d/10をセットし(ステッ
プ654)、ステップ651に戻る。
をセットするとともに、dに−d/10をセットし(ステッ
プ654)、ステップ651に戻る。
第14図において、ステップ650の処理が終了すると、Z
ofすなわちδの値に対応する前記指数関数の定数aおよ
びbの演算を行なう(ステップ660)。この処理の詳細
が、第18図に示されている。
ofすなわちδの値に対応する前記指数関数の定数aおよ
びbの演算を行なう(ステップ660)。この処理の詳細
が、第18図に示されている。
第18図において、まず、y1、y2、z1およびz2に0をセ
ットし(ステップ661)、dataにRSをセットする(ステ
ップ662)。そして、次の式により、yyおよびzzを演算
する(ステップ663)。
ットし(ステップ661)、dataにRSをセットする(ステ
ップ662)。そして、次の式により、yyおよびzzを演算
する(ステップ663)。
yy=Y[data]+Yof zz=log(Z[data]+Zof) 次に、次の式により、y1、y2、z1、z2およびyzを演算す
る(ステップ664)。
る(ステップ664)。
y1=y1+yy y2=y2+yy2 z1=z1+zz z2=z2+zz2 yz=yz+yy×zz 次に、dataがE1(第1終点)以上であるかどうかを調べ
(ステップ665)、そうであれば、dataを1減少させて
(ステップ666)、ステップ663に戻り、data≧E1でなく
なると、次の式により、Vr、VyおよびVzを演算する(ス
テップ667)。
(ステップ665)、そうであれば、dataを1減少させて
(ステップ666)、ステップ663に戻り、data≧E1でなく
なると、次の式により、Vr、VyおよびVzを演算する(ス
テップ667)。
Vr=m×yz−y1×z1 Vy=m×y2−y1×y1 Vz=m×z2−z1×z1 そして、次の式により、bおよびaを演算し(ステップ
668)、処理を終了する。
668)、処理を終了する。
b=Vr/Vy a=(Z1−b×y1)/m a=exp(a) 第14図において、ステップ660の処理が終了すると、
誤差の2乗の重み付き積分値Σを求める(ステップ67
0)。この処理の詳細が、第19図に示されている。
誤差の2乗の重み付き積分値Σを求める(ステップ67
0)。この処理の詳細が、第19図に示されている。
第19図において、まず、Σに0をセットし(ステップ
671)、dataにRSをセットする(ステップ672)。そし
て、次の式により、Σを演算する(ステップ673)。
671)、dataにRSをセットする(ステップ672)。そし
て、次の式により、Σを演算する(ステップ673)。
Py=log{(Z[data]+Yof)/a}/b Σ=Σ+(RS−data+1)×|Y[data]−Yof+Py| 次に、dataがE1以上であるかどうかを調べ(ステップ
674)、そうであれば、dataを1減少して(ステップ67
5)、ステップ673に戻り、data≧E1でなくなるまでステ
ップ673、674および675を繰返す。ステップ674において
data≧E1でなくなると、処理を終了する。
674)、そうであれば、dataを1減少して(ステップ67
5)、ステップ673に戻り、data≧E1でなくなるまでステ
ップ673、674および675を繰返す。ステップ674において
data≧E1でなくなると、処理を終了する。
第14図において、ステップ670の処理が終了すると、
ΣがMIN以下であるかどうかを調べ(ステップ680)、そ
うであれば、そのときのΣをMINにセットして(ステッ
プ690)、ステップ650に戻り、Σ≦MINでなくなるまで
ステップ650、660、670、680および690を繰返す。ステ
ップ680においてΣ≦MINでなくなれば、dの絶対値|d|
が0.0001より大きいかどうかを調べ(ステップ700)、
そうであれば、dに−d/10をセットするとともに、MIN
に100000をセットして(ステップ710)、ステップ650に
戻り、|d|>0.0001でなくなるまでステップ650以下の処
理を繰返す。そして、ステップ700において|d|>0.0001
でなくなれば、処理を終了する。
ΣがMIN以下であるかどうかを調べ(ステップ680)、そ
うであれば、そのときのΣをMINにセットして(ステッ
プ690)、ステップ650に戻り、Σ≦MINでなくなるまで
ステップ650、660、670、680および690を繰返す。ステ
ップ680においてΣ≦MINでなくなれば、dの絶対値|d|
が0.0001より大きいかどうかを調べ(ステップ700)、
そうであれば、dに−d/10をセットするとともに、MIN
に100000をセットして(ステップ710)、ステップ650に
戻り、|d|>0.0001でなくなるまでステップ650以下の処
理を繰返す。そして、ステップ700において|d|>0.0001
でなくなれば、処理を終了する。
上記の処理において、ステップ680からステップ690に
進むのは、いま求めたΣがこれまでの最小値MIN以下の
場合であり、ステップ690でΣをMINにセットすることに
より、MINが更新される。そして、ステップ690からステ
ップ650に戻るたびに、第17図のステップ651においてδ
=δ+dが実行されるため、δはdずつ変化する。した
がって、ΣがMIN以下である限り、δをdずつ変化させ
て、Σを演算し、MINを更新することになる。ステップ6
80からステップ700に進むのは、いま求めたΣがこれま
での最小値MINより大きくなったとき、すなわちδがΣ
を最小にする点を過ぎた直後であり、そのときのR始点
(RS)のZ座標値がδにセットされている。ステップ70
0からステップ710に進むのは、|d|が0.0001より大きい
場合である。最初は、ステップ640においてdに0.1がセ
ットされているので、ステップ700からステップ710に進
むが、ステップ710においてdが−1/10倍されるため、
4回目にステップ700に進んだときには、dが−0.0001
になっており、処理を終了する。また、ステップ710に
進むたびに、dの符号が変わるとともに、絶対値が1/10
になるため、R始点(RS)のZ座標値を変化させてΣを
求め、Σが最小になる点を過ぎるたびに、その点からZ
座標値をいままでとは逆方向にいままでより1/10の量ず
つ変化させて、Σが最小になる点を過ぎた点を探すこと
になり、最終的にΣが最小になるときのaとbが求めら
れる。
進むのは、いま求めたΣがこれまでの最小値MIN以下の
場合であり、ステップ690でΣをMINにセットすることに
より、MINが更新される。そして、ステップ690からステ
ップ650に戻るたびに、第17図のステップ651においてδ
=δ+dが実行されるため、δはdずつ変化する。した
がって、ΣがMIN以下である限り、δをdずつ変化させ
て、Σを演算し、MINを更新することになる。ステップ6
80からステップ700に進むのは、いま求めたΣがこれま
での最小値MINより大きくなったとき、すなわちδがΣ
を最小にする点を過ぎた直後であり、そのときのR始点
(RS)のZ座標値がδにセットされている。ステップ70
0からステップ710に進むのは、|d|が0.0001より大きい
場合である。最初は、ステップ640においてdに0.1がセ
ットされているので、ステップ700からステップ710に進
むが、ステップ710においてdが−1/10倍されるため、
4回目にステップ700に進んだときには、dが−0.0001
になっており、処理を終了する。また、ステップ710に
進むたびに、dの符号が変わるとともに、絶対値が1/10
になるため、R始点(RS)のZ座標値を変化させてΣを
求め、Σが最小になる点を過ぎるたびに、その点からZ
座標値をいままでとは逆方向にいままでより1/10の量ず
つ変化させて、Σが最小になる点を過ぎた点を探すこと
になり、最終的にΣが最小になるときのaとbが求めら
れる。
第3図のステップ7のR終点(RE)の決定処理は、次
のようにして行なわれる。
のようにして行なわれる。
上記のようにして回帰関数である指数関数Z=aebYが
決まると、これを用い、R始点(RS)からZ座標値を少
しずつ変えながら、指数関数上のY座標値を計算し、こ
のY座標値の1次微分値が所定のしきい値Tより小さく
なった点をR終点(RE)とする。また、逆に、指数関数
Z=aebYを用い、R始点(RS)からY座標値を少しずつ
変えながら、指数関数上のZ座標値を計算し、このZ座
標値の1次微分値が所定のしきい値Tより大きくなった
点をR終点(RE)とすることもできる。
決まると、これを用い、R始点(RS)からZ座標値を少
しずつ変えながら、指数関数上のY座標値を計算し、こ
のY座標値の1次微分値が所定のしきい値Tより小さく
なった点をR終点(RE)とする。また、逆に、指数関数
Z=aebYを用い、R始点(RS)からY座標値を少しずつ
変えながら、指数関数上のZ座標値を計算し、このZ座
標値の1次微分値が所定のしきい値Tより大きくなった
点をR終点(RE)とすることもできる。
このようにして求められたR終点(RE)はパネル
(1)の円筒面(1c)と第2平面(1b)との境界に合致
しており、R終点(RE)のY座標値は第2平面(1b)の
Y座標値と一致している。また、先に求められている折
点(F2)は測定台(2)の第1水平面(2a)と基準面
(2c)との境界を合致しており、折点(F2)のY座標値
は基準面(2c)のY座標値と一致している。したがっ
て、R終点(RE)のY座標値と折点(F2)のY座標値と
の差が、パネル(1)の第2平面(1b)と基準面(2c)
の間隔を表わしている。第3図のステップ8では、この
ようにR終点(RE)のY座標値と折点(F2)のY座標値
との差を演算することにより、パネル(1)の第2平面
(1b)と基準面(2c)との間隔を求めている。
(1)の円筒面(1c)と第2平面(1b)との境界に合致
しており、R終点(RE)のY座標値は第2平面(1b)の
Y座標値と一致している。また、先に求められている折
点(F2)は測定台(2)の第1水平面(2a)と基準面
(2c)との境界を合致しており、折点(F2)のY座標値
は基準面(2c)のY座標値と一致している。したがっ
て、R終点(RE)のY座標値と折点(F2)のY座標値と
の差が、パネル(1)の第2平面(1b)と基準面(2c)
の間隔を表わしている。第3図のステップ8では、この
ようにR終点(RE)のY座標値と折点(F2)のY座標値
との差を演算することにより、パネル(1)の第2平面
(1b)と基準面(2c)との間隔を求めている。
回帰関数として、上記のような指数関数を用いると、
未知数が2つと少ないため、再現性が向上し、とくに半
径の小さい部分円筒面に対する適合度が良い。
未知数が2つと少ないため、再現性が向上し、とくに半
径の小さい部分円筒面に対する適合度が良い。
パネル(1)および測定台(2)とテレビカメラ
(4)との相対位置関係により、テレビ画像が第2図と
異なるものになることがある。ところが、このような場
合でも、上記とほぼ同様に画像データを処理して、測定
を行なうことができる。また、画像データに適当な座標
変換を施すことにより、第2図のような画像データに変
換して、処理することもできる。
(4)との相対位置関係により、テレビ画像が第2図と
異なるものになることがある。ところが、このような場
合でも、上記とほぼ同様に画像データを処理して、測定
を行なうことができる。また、画像データに適当な座標
変換を施すことにより、第2図のような画像データに変
換して、処理することもできる。
第20図は、第3図のステップ4の折点検出処理の他の
例を示す。
例を示す。
この処理は、座標データを平滑化処理して、この平滑
データの微分値が所定値以上になる点を第1仮折点とし
て設定し、上記座標データの微分値が所定値以上になる
点を第2仮折点とし、これら第1仮折点と第2仮折点の
座標の差が所定値以下になるまで第2仮折点を演算し、
この差が所定値以下になる第2仮折点を折点とするもの
である。
データの微分値が所定値以上になる点を第1仮折点とし
て設定し、上記座標データの微分値が所定値以上になる
点を第2仮折点とし、これら第1仮折点と第2仮折点の
座標の差が所定値以下になるまで第2仮折点を演算し、
この差が所定値以下になる第2仮折点を折点とするもの
である。
第20図において、まず、第1仮折点K1および第2仮折
点K2の検出のための開始点を表わすSTにS2(第2始点)
をセットするとともに、同終了点を表わすENにE2(第2
終点)をセットする(ステップ810)。次に、第1仮折
点K1の検出を行なう(ステップ820)。この処理は、第
2データを平滑化し、平滑データの微分が一定値(たと
えば5)より大きくなる点を第1仮折点K1とするもので
あり、その詳細が第21図に示されている。
点K2の検出のための開始点を表わすSTにS2(第2始点)
をセットするとともに、同終了点を表わすENにE2(第2
終点)をセットする(ステップ810)。次に、第1仮折
点K1の検出を行なう(ステップ820)。この処理は、第
2データを平滑化し、平滑データの微分が一定値(たと
えば5)より大きくなる点を第1仮折点K1とするもので
あり、その詳細が第21図に示されている。
第21図において、まず、iにSTをセットし(ステップ
821)、次の式により平滑データS[i]を演算する
(ステップ822)。
821)、次の式により平滑データS[i]を演算する
(ステップ822)。
S[i]=(Z[i]+Z[i+1]+Z[i+2]+
Z[i+3]+Z[i+4])/5 次に、iがEN−4より小さいかどうかを調べ(ステップ
823)、小さければ、iを1増加させて(ステップ82
4)、ステップ822に戻り、i<EN−4でなくなるまでス
テップ822、823および824を繰返す。ステップ823におい
てi<EN−4でなくなると、ステップ825に進む。これ
により、第2データの平滑データS[i]が求められ
る。ステップ825では、K1にENをセットするとともに、
iにSTをセットする。次に、平滑データの微分値すなわ
ちS[i+1]−S[i]の絶対値が5より大きいかど
うかを調べ(ステップ826)、そうであれば、そのとき
のiをK1にセットし(ステップ827)、処理を終了す
る。ステップ826において|S[i+1]−S[i]|>
5でない場合は、iを1増加させて(ステップ828)、
iがEN−4より小さいかどうかを調べ(ステップ82
9)、そうであれば、ステップ826に戻る。ステップ829
においてi<EN−4でなければ、処理を終了する。ステ
ップ829においてi<EN−4でなくなって処理を終了す
るのは、STからENまでの間に|S[i+1]−S[i]|
>5となる点がない場合、すなわち第2図(b)のよう
に第2光部分(H2)が第2直線部(L2)だけの場合であ
り、この場合は、ステップ827が実行されることがない
ので、ステップ825において予めセットされたEN{=E2
(第2終点)}が第1仮折点(K1)となる。それ以外の
場合は、ステップ826において最初に|S[i+1]−S
[i]|>5となった点がステップ827においてK1にセ
ットされる。
Z[i+3]+Z[i+4])/5 次に、iがEN−4より小さいかどうかを調べ(ステップ
823)、小さければ、iを1増加させて(ステップ82
4)、ステップ822に戻り、i<EN−4でなくなるまでス
テップ822、823および824を繰返す。ステップ823におい
てi<EN−4でなくなると、ステップ825に進む。これ
により、第2データの平滑データS[i]が求められ
る。ステップ825では、K1にENをセットするとともに、
iにSTをセットする。次に、平滑データの微分値すなわ
ちS[i+1]−S[i]の絶対値が5より大きいかど
うかを調べ(ステップ826)、そうであれば、そのとき
のiをK1にセットし(ステップ827)、処理を終了す
る。ステップ826において|S[i+1]−S[i]|>
5でない場合は、iを1増加させて(ステップ828)、
iがEN−4より小さいかどうかを調べ(ステップ82
9)、そうであれば、ステップ826に戻る。ステップ829
においてi<EN−4でなければ、処理を終了する。ステ
ップ829においてi<EN−4でなくなって処理を終了す
るのは、STからENまでの間に|S[i+1]−S[i]|
>5となる点がない場合、すなわち第2図(b)のよう
に第2光部分(H2)が第2直線部(L2)だけの場合であ
り、この場合は、ステップ827が実行されることがない
ので、ステップ825において予めセットされたEN{=E2
(第2終点)}が第1仮折点(K1)となる。それ以外の
場合は、ステップ826において最初に|S[i+1]−S
[i]|>5となった点がステップ827においてK1にセ
ットされる。
第20図において、ステップ820の処理が終了すると、
第2仮折点K2の検出を行なう(ステップ830)。この処
理は、第2データの微分が一定値(たとえば5)より大
きくなる点を第2仮折点K2とするものであり、その詳細
が第22図に示されている。
第2仮折点K2の検出を行なう(ステップ830)。この処
理は、第2データの微分が一定値(たとえば5)より大
きくなる点を第2仮折点K2とするものであり、その詳細
が第22図に示されている。
第22図において、まず、K2にENをセットするととも
に、iにSTをセットする(ステップ831)。次に、第2
データの微分値すなわちZ[i+1]−Z[i]の絶対
値が5より大きいかどうかを調べ(ステップ832)、そ
うであれば、そのときのiをK2にセットし(ステップ83
3)、処理を終了する。ステップ832において|Z[i+
1]−Z[i]|>5でない場合は、iを1増加させて
(ステップ834)、iがENより小さいかどうかを調べ
(ステップ835)、そうであれば、ステップ832に戻る。
ステップ835においてi<ENでなければ、処理を終了す
る。ステップ835においてi>ENでなくなって処理を終
了するのは、STからENまでの間に|Z[i+1]−Z
[i]|>5となる点がない場合、すなわち第2図
(b)のように第2光部分(H2)が第2直線部(L2)だ
けの場合であり、この場合は、ステップ833が実行され
ることがないので、ステップ831において予めセットさ
れたEN{=E2(第2終点)}が第2仮折点(K2)とな
る。それ以外の場合は、ステップ816において最初に|S
[i+1]−S[i]|>5となった点がステップ833
においてK2にセットされる。
に、iにSTをセットする(ステップ831)。次に、第2
データの微分値すなわちZ[i+1]−Z[i]の絶対
値が5より大きいかどうかを調べ(ステップ832)、そ
うであれば、そのときのiをK2にセットし(ステップ83
3)、処理を終了する。ステップ832において|Z[i+
1]−Z[i]|>5でない場合は、iを1増加させて
(ステップ834)、iがENより小さいかどうかを調べ
(ステップ835)、そうであれば、ステップ832に戻る。
ステップ835においてi<ENでなければ、処理を終了す
る。ステップ835においてi>ENでなくなって処理を終
了するのは、STからENまでの間に|Z[i+1]−Z
[i]|>5となる点がない場合、すなわち第2図
(b)のように第2光部分(H2)が第2直線部(L2)だ
けの場合であり、この場合は、ステップ833が実行され
ることがないので、ステップ831において予めセットさ
れたEN{=E2(第2終点)}が第2仮折点(K2)とな
る。それ以外の場合は、ステップ816において最初に|S
[i+1]−S[i]|>5となった点がステップ833
においてK2にセットされる。
第20図において、ステップ830の処理が終了すると、
第2仮折点(K2)と第1仮折点(K1)の差の絶対値が一
定値(たとえば5)以下であるかどうがを調べ(ステッ
プ840)、そうでなければ、K2+1をSTにセットして
(ステップ850)、ステップ830に戻り、K2+1以降につ
いて第2仮折点(K2)に検出を行なう。そして、ステッ
プ840において|K2−K1|≦5になると、そのときのK2
(第2仮折点)をF2(折点)にセットし(ステップ86
0)、処理を終了する。
第2仮折点(K2)と第1仮折点(K1)の差の絶対値が一
定値(たとえば5)以下であるかどうがを調べ(ステッ
プ840)、そうでなければ、K2+1をSTにセットして
(ステップ850)、ステップ830に戻り、K2+1以降につ
いて第2仮折点(K2)に検出を行なう。そして、ステッ
プ840において|K2−K1|≦5になると、そのときのK2
(第2仮折点)をF2(折点)にセットし(ステップ86
0)、処理を終了する。
これにより、第2図(a)および(b)のいずれの場
合も、折点(F2)が正確に検出される。
合も、折点(F2)が正確に検出される。
パネル(1)の円筒面(1c)の形状を推定するための
回帰関数として、上記のような指数関数以外にも、分数
関数、懸垂曲線を用いることができる。
回帰関数として、上記のような指数関数以外にも、分数
関数、懸垂曲線を用いることができる。
下の式のような3次分数関数を回帰曲線とするときの
R終点(RE)の検出処理は、次のとおりである。
R終点(RE)の検出処理は、次のとおりである。
Z=a0+a1/Y+a2/Y2+a3/Y3 第1光部分(H1)の第1始点(S1)、第1終点(E1)
およびR始点(RS)の検出は、上記と同様である。これ
らが求まると、曲線部(C1)が座標軸と交わらないよう
に、これをオフセットする。なお、Y軸方向のオフセッ
トに関しては、RSとE1の間の距離をさらに加え、円筒面
(1c)の半径に対する依存性をもたせるようにする。オ
フセットが終わると、上記同様、最小2乗法などによ
り、定数a0、a1、a2およびa3を決定する。分数関数が決
まると、これを用い、R始点(RS)からY座標値を少し
ずつ変えながら、分数関数上のZ座標値を計算し、この
Z座標値の1次微分値が所定のしきい値Tより大きくな
った点をR終点(RE)とする。このしきい値Tは、たと
えば次の式で設定される。
およびR始点(RS)の検出は、上記と同様である。これ
らが求まると、曲線部(C1)が座標軸と交わらないよう
に、これをオフセットする。なお、Y軸方向のオフセッ
トに関しては、RSとE1の間の距離をさらに加え、円筒面
(1c)の半径に対する依存性をもたせるようにする。オ
フセットが終わると、上記同様、最小2乗法などによ
り、定数a0、a1、a2およびa3を決定する。分数関数が決
まると、これを用い、R始点(RS)からY座標値を少し
ずつ変えながら、分数関数上のZ座標値を計算し、この
Z座標値の1次微分値が所定のしきい値Tより大きくな
った点をR終点(RE)とする。このしきい値Tは、たと
えば次の式で設定される。
なお、c1およびc2は、定数である。
下の式のような懸垂曲線を回帰曲線とするときのR終
点(RE)の検出処理は、次のとおりである。
点(RE)の検出処理は、次のとおりである。
Z=coth(aY) なお、 coth(X)=(ex+e-x)/(ex−e-x) この場合も、第1光部分(H1)の第1始点(S1)、第
1終点(E1)およびR始点(RS)の検出は、上記と同様
である。これらが求まると、分数関数の場合と同様に、
曲線部(C1)をオフセットする。オフセットが終わる
と、上記同様、最小2乗法などにより、定数aを決定す
る。懸垂曲線が決まると、これを持ち、R始点(RS)か
らY座標値を少しずつ変えながら、懸垂曲線上のZ座標
値を計算し、このZ座標値の1次微分値が所定のしきい
値Tより大きくなった点をR終点(RE)とする。このし
きい値Tは、分数関数の場合と同じように設定できる。
1終点(E1)およびR始点(RS)の検出は、上記と同様
である。これらが求まると、分数関数の場合と同様に、
曲線部(C1)をオフセットする。オフセットが終わる
と、上記同様、最小2乗法などにより、定数aを決定す
る。懸垂曲線が決まると、これを持ち、R始点(RS)か
らY座標値を少しずつ変えながら、懸垂曲線上のZ座標
値を計算し、このZ座標値の1次微分値が所定のしきい
値Tより大きくなった点をR終点(RE)とする。このし
きい値Tは、分数関数の場合と同じように設定できる。
プレスパネル(1)などのように仮状の物体に力を加
えて曲げた場合、物理特性上、その曲がり形状は懸垂曲
線の一部となる。したがって、回帰曲線として、上記の
ような懸垂曲線を用いると、円筒面(1c)の形状に対す
る適合度が高く、未知数が1つであるため、ノイズに強
く、精度の高い測定ができる。
えて曲げた場合、物理特性上、その曲がり形状は懸垂曲
線の一部となる。したがって、回帰曲線として、上記の
ような懸垂曲線を用いると、円筒面(1c)の形状に対す
る適合度が高く、未知数が1つであるため、ノイズに強
く、精度の高い測定ができる。
発明の効果 この発明の形状測定方法によれば、上述のように、部
分円筒面の写り方の違いや2次元撮像手段の姿勢などに
かかわらず、被測定物の形状を自動的に効率良くかつ正
確に測定することができ、誤差が小さく、測定時間も短
縮される。
分円筒面の写り方の違いや2次元撮像手段の姿勢などに
かかわらず、被測定物の形状を自動的に効率良くかつ正
確に測定することができ、誤差が小さく、測定時間も短
縮される。
第1図はこの発明の実施例を示す被測定物と形状測定装
置の概略斜視図、第2図はテレビ画像の1例を示す図、
第3図は形状測定の処理の1例を示すフローチャート、
第4図は第3図のデータ再配置の処理の1例を示すフロ
ーチャート、第5図は第3図の第2始点、第2終点、第
1始点および第1終点検出処理の1例を示すフローチャ
ート、第6図は第3図の第2データの折点検出処理の1
例を示すフローチャート、第7図は第6図の平滑データ
演算の処理の1例を示すフローチャート、第8図は第6
図の1次微分データ演算の処理の1例を示すフローチャ
ート、第9図は第6図の2次微分データ演算の処理の1
例を示すフローチャート、第10図は第6図の平滑データ
演算の処理の1例を示すフローチャート、第11図は走査
線番号と平滑データの関係の1例を示すグラフ、第12図
は走査線番号と平滑データの関係の他の1例を示すグラ
フ、第13図は第6図の折点決定の処理の1例を示すフロ
ーチャート、第14図は第3図の回帰曲線決定処理の1例
を示すフローチャート、第15図は第14図の第1直線部の
傾き角演算処理の1例を示すフローチャート、第16図は
第14図の画像データの座標変換処理の1例を示すフロー
チャート、第17図は第14図のZ軸方向のオフセット量決
定処理の1例を示すフローチャート、第18図は第14図の
指数関数の定数決定処理の1例を示すフローチャート、
第19図は第14図の誤差の積分値演算処理の1例を示すフ
ローチャート、第20図は第3図の第2データの折点検出
処理の他の1例を示すフローチャート、第21図は第20図
の第1仮折点検出処理の1例を示すフローチャート、第
22図は第20図の第2仮折点検出処理の1例を示すフロー
チャートである。 (1)…プレスパネル(被測定物)、(1a)(1b)…平
面、(1c)…部分円筒面、(2)…測定台、(2a)(2
b)…水平面、(2c)…基準面、(3)…光源、(4)
…CCDテレビカメラ(2次元撮像手段)、(5)…画像
処理装置、(6)…演算処理装置。
置の概略斜視図、第2図はテレビ画像の1例を示す図、
第3図は形状測定の処理の1例を示すフローチャート、
第4図は第3図のデータ再配置の処理の1例を示すフロ
ーチャート、第5図は第3図の第2始点、第2終点、第
1始点および第1終点検出処理の1例を示すフローチャ
ート、第6図は第3図の第2データの折点検出処理の1
例を示すフローチャート、第7図は第6図の平滑データ
演算の処理の1例を示すフローチャート、第8図は第6
図の1次微分データ演算の処理の1例を示すフローチャ
ート、第9図は第6図の2次微分データ演算の処理の1
例を示すフローチャート、第10図は第6図の平滑データ
演算の処理の1例を示すフローチャート、第11図は走査
線番号と平滑データの関係の1例を示すグラフ、第12図
は走査線番号と平滑データの関係の他の1例を示すグラ
フ、第13図は第6図の折点決定の処理の1例を示すフロ
ーチャート、第14図は第3図の回帰曲線決定処理の1例
を示すフローチャート、第15図は第14図の第1直線部の
傾き角演算処理の1例を示すフローチャート、第16図は
第14図の画像データの座標変換処理の1例を示すフロー
チャート、第17図は第14図のZ軸方向のオフセット量決
定処理の1例を示すフローチャート、第18図は第14図の
指数関数の定数決定処理の1例を示すフローチャート、
第19図は第14図の誤差の積分値演算処理の1例を示すフ
ローチャート、第20図は第3図の第2データの折点検出
処理の他の1例を示すフローチャート、第21図は第20図
の第1仮折点検出処理の1例を示すフローチャート、第
22図は第20図の第2仮折点検出処理の1例を示すフロー
チャートである。 (1)…プレスパネル(被測定物)、(1a)(1b)…平
面、(1c)…部分円筒面、(2)…測定台、(2a)(2
b)…水平面、(2c)…基準面、(3)…光源、(4)
…CCDテレビカメラ(2次元撮像手段)、(5)…画像
処理装置、(6)…演算処理装置。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−186706(JP,A) 特開 平3−185305(JP,A) 特開 平2−236407(JP,A) 特開 平1−96505(JP,A) (58)調査した分野(Int.Cl.6,DB名) G01B 11/00 - 11/30 102
Claims (3)
- 【請求項1】部分円筒面を有する被測定物の形状を光切
断法によって測定する方法であって、 2次元撮像手段で撮像した画像データより被測定物の部
分円筒面の形状を指数関数である回帰曲線を用いて推定
することを特徴とする形状測定方法。 - 【請求項2】部分円筒面を有する被測定物の形状を光切
断法によって測定する方法であって、 2次元撮像手段で撮像した画像データより被測定物の部
分円筒面の形状を分数関数である回帰曲線を用いて推定
することを特徴とする形状測定方法。 - 【請求項3】部分円筒面を有する被測定物の形状を光切
断法によって測定する方法であって、 2次元撮像手段で撮像した画像データより被測定物の部
分円筒面の形状を懸垂曲線である回帰曲線を用いて推定
することを特徴とする形状測定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14778390A JP2932083B2 (ja) | 1990-06-06 | 1990-06-06 | 形状測定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14778390A JP2932083B2 (ja) | 1990-06-06 | 1990-06-06 | 形状測定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0440306A JPH0440306A (ja) | 1992-02-10 |
JP2932083B2 true JP2932083B2 (ja) | 1999-08-09 |
Family
ID=15438097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14778390A Expired - Lifetime JP2932083B2 (ja) | 1990-06-06 | 1990-06-06 | 形状測定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2932083B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2756626B1 (fr) * | 1996-12-02 | 1999-02-19 | Espace Ind Controle Sa | Systeme de mesure de jeux et d'affleurements entre des pieces en vis-a-vis |
JP6205231B2 (ja) * | 2013-10-08 | 2017-09-27 | 株式会社ディスコ | 切削装置 |
-
1990
- 1990-06-06 JP JP14778390A patent/JP2932083B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0440306A (ja) | 1992-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110296667B (zh) | 基于线结构光多角度投影的高反射表面三维测量方法 | |
JP4901903B2 (ja) | 三次元検査システム | |
JP3347508B2 (ja) | 撮像画像処理装置および撮像画像処理方法 | |
US20030112449A1 (en) | Method for the extraction of image features caused by structure light using image reconstruction | |
KR19980063676A (ko) | 대향하는 부분들 사이의 간극 및 부정합을 측정하기 위한시스템 | |
JP3075023B2 (ja) | 3次元形状データの処理方法 | |
JP2002517045A (ja) | テンプレート・マッチポイントの部分位置を正確に位置決定する方法 | |
JPH06147863A (ja) | 曲げ加工機における曲げ角度検出装置 | |
US6917700B2 (en) | Method and apparatus for the determination of the contour of sheet metal blanks | |
CN105261061A (zh) | 一种识别冗余数据的方法及装置 | |
JP2932083B2 (ja) | 形状測定方法 | |
JP2572286B2 (ja) | 3次元形状寸法計測装置 | |
JPH0484707A (ja) | 3次元寸法測定装置 | |
JP3013254B2 (ja) | 形状測定方法 | |
JP3228436B2 (ja) | 干渉縞の縞本数増加方法 | |
JP2879357B2 (ja) | 形状判定方法 | |
JP3340599B2 (ja) | 平面推定方法 | |
JP3013255B2 (ja) | 形状測定方法 | |
JP2961140B2 (ja) | 画像処理方法 | |
JP3415921B2 (ja) | 長さまたは距離の測定方法と測定用の較正治具 | |
JP2900072B2 (ja) | 形状測定方法 | |
US5633950A (en) | Method of image processing in optical measuring apparatus | |
JP2630844B2 (ja) | 3次元形状寸法計測装置 | |
JP2523420B2 (ja) | 光学式測定装置における画像処理方法 | |
JP2694504B2 (ja) | 段付ワークの位置計測方法 |