JP2004325096A - Image processing method in lattice pattern projective method, image processor and measurement device - Google Patents
Image processing method in lattice pattern projective method, image processor and measurement device Download PDFInfo
- Publication number
- JP2004325096A JP2004325096A JP2003116607A JP2003116607A JP2004325096A JP 2004325096 A JP2004325096 A JP 2004325096A JP 2003116607 A JP2003116607 A JP 2003116607A JP 2003116607 A JP2003116607 A JP 2003116607A JP 2004325096 A JP2004325096 A JP 2004325096A
- Authority
- JP
- Japan
- Prior art keywords
- image
- pixel
- dark
- stripe
- fringe
- 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.)
- Pending
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
Description
【0001】
【発明が属する技術分野】
本発明は、被測定物体に対して格子パターンを投影して当該被測定物体の三次元形状を計測するための技術に関する。
【0002】
【従来の技術】
3次元形状の計測は工業のみならず、医学、生物学、考古学、美術品の調査復元など社会の多くの領域で使用されるようになってきている。3次元計測では、従来からの接触型よりも光を用いた非接触型の光計測が望まれている。光計測の領域計測には、1本の線状のスリット光をスリット方向と直交する方向に走査することにより領域の計測を行う光切断法と、面単位で一括して計測する計測方法に分類される。計測時間の観点からは後者の方が有利であり、この開発が望まれている。
【0003】
光切断法は既に十分確立された技術であり、様々な態様が開発され、信頼性の高い計測が可能となっている。しかし、「光三次元計測」吉澤徹編[新技術コミニュケーションズ]p.31に見るようにスリット光の投影部などの機械的な移動機構を必要としており、これが隘路となって計測時間を短縮することができず、能率が悪いという問題がある。従って計測時間を短縮する必要がある分野における適用には問題がある。また、機械的移動機構を有するため保守調整に手間が掛かるという問題点もある。
【0004】
一方、面を一括して処理する方法の代表的なものは、モアレ縞により等高線を取得するモアレ法(「光三次元計測」吉澤徹編[新技術コミニュケーションズ]p.65)、縞状の格子を物体に投影してできる格子パターンを観測する格子パターン投影法(「光三次元計測」吉澤徹編[新技術コミニュケーションズ]p.83)がある。特に計測精度及び装置の価格からして、現在では後者が期待されている。
【0005】
格子パターン投影装置は、図1に示すように投影部1000、プロジェクタのレンズ1002及び格子1001を含む投影系と被計測物体1004に投影された変形格子パターン1003をレンズ1006を介して撮影する撮影部1005を含む撮影系の二つの系統に分けられる。投影部1000は格子1001による縞状の格子をレンズ1002を介して被計測物体1004に投影する。投影により生ずる格子パターンは被計測物体の凹凸によって変形される。撮影部1005は、変形された格子パターン1003を投影方向とは異なる角度から撮影し、CCD(Charge Coupled Device)などの受光素子を介して電気信号に変換し、記憶装置に蓄積する。これを解析することによって被測定物体1004の3次元形状を計測する。なお、各受光素子はその点における照度(輝度)に対応した電圧などの電気信号を出力する。格子1001については、以前はガラスの表面などに作成され固定的であったが、最近は液晶等による格子が実用化され、コンピュータにより液晶デバイスに実体化された縞格子のON又はOFFを高速に制御するようになっている。
【0006】
通常、投影部1000の光軸に直交する基準平面を設定し、この上で縞方向Y及び縞直交方向Xの二つの軸を設定する。詳しくは非特許文献1(H.Lu et al.,”Automatic Measurement of 3−D Object Shapes Based on Computer−generated Reference Surface”, Bull. Japan Soc. of Prec. Eng. Vol. 21, No.4, p251 (1987))に開示されているが、この方法では、格子パターンを、縞と直交する軸X上の位置に対する、照度Iの波として表現し、被計測物体1004を基準平面上に設置した場合の波の位相Φ(=Φ2)又は基準平面についての波の位相Φ1と被計測物体1004を基準平面上に設置した場合の波の位相Φ2との差分ΔΦ(=Φ2−Φ1)を用いて解析する。これにより格子パターン投影法は別名「変調格子位相法」とも呼ばれる。ここで波の位相の差分ΔΦを使用するのは、計測における系統誤差が引き算によって消滅するので、精度が向上するためである。この方法では、縞波(明の縞と暗の縞のペア)番号は相対的であれば任意に設定することができる。
【0007】
詳しい計算式は非特許文献1に開示されているのでここでは詳細な説明は省略するが、図1に示すようにΔΦを求めるためにΦ1は、格子1001とレンズ1002の間の距離、撮影部1005の光軸と投影部1000の光軸との交点とレンズ1002との距離、格子間隔、撮影部1005の光軸と投影部1000の光軸の角度などの光学的な幾何位置関係から計算にて求める。一方、(Φ2=2π×縞波番号+縞内部位相角)であって、計測にて求めることになる。以下でも述べるが、特に縞波番号を特定することが重要となる。
【0008】
縞内部位相角を取得するために、基準平面上に対して設定した縞直交方向のX軸(図1参照)に沿って走査が行われる。正弦波格子はもちろん、縞格子が2値化されたいわゆるロンキー格子であっても、明及び暗の縞の境界付近は、光の回折現象や受光素子による離散化誤差などによって、基準平面上の縞直交方向のX軸に沿った格子パターンの照度Iは除変する。この照度分布を波と認識し、正弦波の基点を始点とする縞波内位相角を求める。波の山及び谷をπ/2,3π/2とする方法(前述非特許文献1)の他に、谷から山に至る区間の中央値となる点を縞波内位相角0とする方法などが存在する。いずれの方法を用いるにせよ、縞内部位相角0の点で縞波番号は変化し、そこで1つの縞波が区分される。
【0009】
上で述べたように、投影された格子パターン1003は照度Iの波として認識されるので、その位相Φは2π×縞波番号+縞内部位相角として表現される。従って、格子パターン投影法などでは、縞波番号が分からなければ3次元計測ができないことになる。縞波が連続的である場合にはX軸に沿って縞波番号は1ずつ増減するため、容易に位相差ΔΦを計算することはできる。しかし、図2に示すように、縞が不連続になる場合がある。図2では、基準平面上に球形状の物体を配置した場面を示しており、通常の順番では明の縞が現れるべき部分に暗の縞を生成させ3本の暗の縞を連続させることにより、縞の不連続部分を明確にしている。すなわち平面上のライン1100と球上のライン1101とは同じラインであるが、基準平面上のライン1100の位置と球上のライン1101の位置とは大きく距離が離れており不連続となっている。このように縞が不連続となってしまった場合には、上記のような縞波番号の連続性を使用することはできないので、位相差を計算することは容易ではなくなってしまう。また、縞波番号を誤って認識してしまうと、測定の誤差が生じてしまう。
【0010】
これに対して、縞の不連続性に対応して自動的に縞波番号を取得する方法として、以下に記す非特許文献3に概括されているように白黒の縞格子に対して多数の研究がなされているが、いずれも成功しているとは言いがたい。この他、カラー縞格子を用いる方法が知られている(特許文献1及び非特許文献2)。理論的には、色の数を増やせば、縞が不連続であっても、いずれの縞波番号の縞であるかを判定しやすくなる。しかし、カラーを用いる方法は、レンズの色収差を取り除くのが容易でない上に、色収差を除去するとレンズも高価になるという問題がある。さらに、物体の色の影響を受けやすく使用できる色の種類が限定され、縞の不連続度が高い場合には対応できなくなってしまうという問題もある。
【0011】
この他には、空間コード化法という方法も存在している(「光三次元計測」吉澤徹編[新技術コミニュケーションズ]p.79)。空間コード化法は、測定対象空間の各点を2進数コードで符号化し、少ない投影回数で距離画像を入力する方法である。プロジェクタLから、それぞれマスクA、B、Cによって明暗のピッチが倍々に変化するパターン光が順に投影される。光の通過部を1、光が通過しない遮光部を0として、投影光は2進コード化されたパターン光となる。このパターン光を投影した測定対象物は、カメラQにより濃淡画像として入力される。この方法では、空間の点Pが属する縞のコードを用いて∠QPLを求め、カメラQで撮影された点Pの位置より∠PQLを求め3角測量によって点Pの位置を測定するものである。このように空間コード化法では、3次元中に存在する物体の表面の各点に縞番号を与えるようにしているため、「本来ロボットビジョンを目的としており、計測という点では精度が十分でない」(「格子パタン投影法を用いた反射物体の表面形状計測」,山本将之ほか,精密工学会誌,vol. 64, No.8, p.1171, (1998))という評価がなされている。また、縞(位相)の不連続性の問題を解決するといった観点は存在していない。また、陰影を判定するという観点もない。
【0012】
【特許文献1】
特開平3−192474号公報
【非特許文献1】
H.Lu et al.,”Automatic Measurement of 3−D Object Shapes Based on Computer−generated Reference Surface”, Bull. Japan Soc. of Prec. Eng. Vol. 21, No.4, p251 (1987)
【非特許文献2】
W. Liu et al., Color Coded Projection Grating Method for Shape Measurement with a Single Exposure, Applied Optics Vol.39, No.20, p3503 (2000)
【非特許文献3】
Xiao Yuan He et al. ”Proposed Algorithm for Phase Unwrapping”, Applied Optics Vol 41, No. 35, p.7422, Dec, 2002
【0013】
【発明が解決しようとする課題】
従って、本発明の目的は、以上の諸問題を解決すべく、格子パターン投影法において、縞の不連続部分に対しても縞波番号を自動的に取得するための新規な技術を提供することである。
【0014】
【課題を解決するための手段】
本発明の第1の態様に係る、格子パターン投影法における画像処理方法は、明と暗の縞から構成される第1の格子パターンを被計測物体に投影した場合における、当該被計測物体についての第1の画像を取得する第1画像取得ステップと、第1の格子パターンの一部の縞の明暗を反転させた第2の格子パターンを被計測物体に投影した場合における、当該被計測物体についての第2の画像を取得する第2画像取得ステップと、第1及び第2の画像に基づき、明暗を反転させた縞に関連する画素を特定するステップとを含む。
【0015】
意図的に特定の縞の明暗を反転させるため当該反転させた縞の縞波番号は自明であり、第1の画像と第2の画像との差から反転させた縞に関連する画素が特定できれば、当該画素の縞は決定できるようになる。また、複数本の縞を反転する場合であっても、反転させた縞に関連する画素を特定することにより、縞波番号を特定できるようになる。
【0016】
また、本発明の第1の態様において、特定された画素に対応して上記反転させた縞の縞波番号を特定するステップをさらに含むようにしてもよい。明と暗の縞のセットから縞波が構成されるので、縞の番号等から縞波番号を特定する。
【0017】
さらに、本発明の第1の態様において、第1又は第2の画像における所定の画素について、当該画素の縞波番号から特定される縞波区間内の位置に基づき縞内部位相角を計算するステップとをさらに含むようにしてもよい。
【0018】
また、上で述べた第2画像取得ステップにおいて、全ての縞の明暗を少なくとも一度は反転するように第2の格子パターンを複数回変更し、各第2の格子パターンに対応する第2の画像を取得するようにしてもよい。例えば1本ずつ縞の明暗を反転させてゆく。
【0019】
さらに、上で述べた第2画像取得ステップが、撮影ステージ番号n(nは1以上の整数)に基づき最大2n本の明と暗の縞を含む格子パターンを被計測物体に投影した場合における、当該被計測物体についての各撮影ステージの画像を取得するステップを含むようにしてもよい。
【0020】
また、本発明の第1の態様において、第1の画像に基づき、明の縞に関連する画素については第1のコードを暗の縞に関連する画素については第2のコードを割り当てるステップと、第1及び第2の画像に基づき、明暗が反転していない縞に関連する画素を特定するステップと、反転していない縞に関連する画素については、第1の画像の対応する画素に割り当てられたコードと同じコードを割り当てるステップと、反転させた縞に関連する画素については第1の画像の対応する画素に割り当てられたコードとは異なるコードを設定するステップと、所定の撮影ステージについての各画素のコード系列から縞波番号を特定するステップとをさらに含むようにしてもよい。
【0021】
本発明の第2の態様に係る、格子パターン投影法における画像処理方法は、撮影ステージ番号n(nは1以上の整数)に基づき最大2n本の明と暗の縞を含む格子パターンを被計測物体に投影した場合における、当該被計測物体についての各撮影ステージの画像を取得するステップと、各撮影ステージにおける画像の所定の画素について、明又は暗の縞のいずれに属するか判断する判断ステップと、所定の画素について、所定の撮影ステージについての明暗シーケンス又は明に対応付けられたコードと暗に対応付けられたコードとによるコード・シーケンスを特定するステップとを含む。
【0022】
各撮影ステージにおいて所定の画素について明と暗の縞のいずれに属するかを判断してゆくことにより、当該所定の画素の縞番号に対応する明暗シーケンス又は同等のコード・シーケンスを特定することができるようになる。
【0023】
なお、上述の方法はプログラム及びコンピュータの組み合わせにて実施することができ、このプログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメモリに一時保管される。
【0024】
【発明の実施の形態】
本発明の一実施の形態に係る機能ブロック図を図3に示す。本実施の形態では、本実施の形態における主要な処理を実施し且つコンピュータである画像処理装置5と、当該画像処理装置5に接続されており且つランプなどの投影部11と格子を形成するための液晶パネル12とレンズ13とを有する液晶プロジェクタ1と、レンズ41とCCD42と図示しないメモリを有するカメラ4とにより計測装置が構成されている。なお、被計測物体3は、基準平面2上に配置されており、液晶プロジェクタ1から格子パターンが投影される。基準平面2上において、縞直交方向をX軸とし、縞方向をY軸とし、Z軸方向にカメラ4の光軸が設けられている。
【0025】
画像処理装置5は、投影制御部56と、画像取得部51と、明暗反転判定部53と、位相角計算部54と、高度計算部55と、カメラ4により撮影された画像などを格納する格子パターン格納部57と、位相角計算部54や高度計算部55の計算結果を格納する計測データ格納部59とを含む。また、画像処理装置5は、例えばメインメモリなどにワークメモリ領域58を確保する。投影制御部56は、液晶プロジェクタ1の液晶パネル12を制御して、所定の格子パターンを投影させる。画像取得部51は、所定の格子パターンが投影された被計測物体3の、カメラ4のCCD42が捉えた画像をカメラ4から読み出す。画像の各画素はRGBで表されるが、本実施の形態では照度値(明度値)で処理される。明暗反転判定部53は、画像取得部51が取得した2つの画像の照度値に基づき明暗反転判定データを生成する。位相角計算部54は、明暗反転判定部53により生成された明暗反転判定データを処理することなどにより各画素の縞波番号を判定する縞波番号判定部541を含み、さらに各画素の縞内部位相角を算出することにより、(2π×縞波番号+縞内部位相角)により各画素の位相角を算出する。高度計算部55は、上で説明した非特許文献1において述べられているように、各画素について計算された位相角から被計測物体3の基準平面2からの高度を計算する。高度計算部55の処理内容については、本発明の主要部ではなく、非特許文献1などに詳しく説明されているので、以降これについては説明しない。
【0026】
[実施の形態1]
本実施の形態では、図2に示したように、明の縞と暗の縞とが繰り返し現れる格子のうち1本の縞の明暗を反転させた格子を用いて格子パターン(反転格子パターンと呼ぶ)を投影し、当該反転格子パターンの画像を撮影する。この反転格子パターンの画像と通常の格子パターンの画像との照度についての差画像を生成して、反転させた縞に関連する画素を特定する。このようにすれば、反転させた縞の縞波番号を当該反転させた縞に関連する画素に割り当てることができるようになる。そして、全ての縞の明暗を反転させて上記のような処理を実施すれば、縞が投影されている画素については縞波番号が割り当てられる。全ての縞の明暗を反転させても変化が見出されなかった画素は、陰影である。すなわち、図4に示すように、物体に光を当てた場合にその物体にできる暗部である陰も、物体の陰を投影面に投影したものである影についても共に黒く撮影される。従って、いずれの反転格子パターンを用いても「暗」と判定される画素については被計測物体3の基準平面2からの高さを計測することはできないので、「陰影」と判断できる。
【0027】
以下本実施の形態に係る計測装置の処理について図5乃至図11を用いて説明する。最初に、投影制御部56は、液晶プロジェクタ1に対して通常の格子パターンの投影を指示し、液晶プロジェクタ1の液晶パネル12は指示に従って通常の格子を構成して、被計測物体3に投影する(ステップS1)。本実施の形態では、図6(a)に示すような格子を使用する。すなわち、明の縞と暗の縞が繰り返し所定の間隔で並べられた格子である。
【0028】
これに対してカメラ4は、レンズ41を介してCCD42により上記のような格子パターンが投影された被計測物体3の格子パターンの画像を撮影し、カメラ4に内蔵するメモリに格納する(ステップS3)。なお、当該格子パターンの画像において、図3に示すように水平方向に縞が並んでいるものとする。そして、画像処理装置5の画像取得部51は、撮影された格子パターンの画像をカメラ4から読み出し、画像処理装置5の格子パターン画像格納部57に格納する。また、ワークメモリ領域58に、例えば図7(a)に示すようなテーブルを登録する。図7(a)は、今回の計測に係る管理テーブルであって、画素番号の行と、照度値(通常の格子パターンについての画像の照度値)の行と、縞波番号+の行と、縞内部位相角の行とが設けられ、各画素について基準となる照度値と縞波番号+と縞内部位相角とが記録される。ここで縞波番号+は、「1−1」といったように、縞波番号と1(暗)又は2(明)といった形で登録されるようになっている。また、縞内部位相差は、例えば「1」であれば「1」πを意味するものとする。ステップS3では、各画素の照度値が登録される。さらに、反転させる縞の番号nを1に初期化する(ステップS5)
【0029】
次に、投影制御部56は、液晶プロジェクタ1に対してn番目の縞を反転させた格子パターンの投影を指示し、液晶プロジェクタ1の液晶パネル12は指示に従ってn番目の縞を反転させた格子を構成して、被計測物体3に投影する(ステップS7)。ここではn=1であるから図6(b)に示すような格子を使用する。すなわち、n=1の暗の縞が明の縞に反転させられた格子である。以下、n=2の場合には図6(c)に示すように2番目の明の縞が暗の縞に反転されられた格子を用い、n=3の場合には図6(d)に示すように3番目の暗の縞が明の縞に反転させられた格子を用いる。
【0030】
これに対してカメラ4は、レンズ41を介してCCD42により上記のような格子パターンが投影された被計測物体3の格子パターンの画像を撮影し、カメラ4に内蔵するメモリに格納する(ステップS9)。なお、当該格子パターンの画像においても図3に示すように水平方向に縞が並んでいるものとする。そして、画像処理装置5の画像取得部51は、撮影された格子パターンの画像をカメラ4から読み出し、画像処理装置5の格子パターン画像格納部57に格納する。また、ワークメモリ領域58に、例えば図7(b)に示すようなテーブルを登録する。図7(b)は、1つの反転格子パターンについてのテーブルであって、画素番号の行と、照度値(今回の反転格子パターンについての画像の照度値)の行と、通常の格子パターンの画像の照度値と今回の反転格子パターンの画像の照度値との差(絶対値)の行と、反転又は非反転の判定結果の行と、縞波番号+の行とが設けられており、各画素について比較対象となる照度値と基準となる照度値との差の絶対値と反転又は非反転の判定結果と反転したと判断された画素についての縞波番号+とが登録されるようになっている。ステップS9では、各画素の照度値が登録される。
【0031】
そして、明暗反転判定部53及び位相角計算部54は、反転画素の特定処理を実施する(ステップS11)。この反転画素の特定処理については図8を用いて説明する。明暗反転判定部53は、通常の格子パターンの画像と今回n番目の縞の明暗を反転させた格子パターンの画像との照度値の差の絶対値を計算し、例えばワークメモリ領域58に格納する(ステップS31)。照度値の差の絶対値は例えば図7(b)のテーブルに画素に対応して登録される。そして位相角計算部54の縞波番号判定部541は、照度差の絶対値が所定値以上の画素については反転画素と判断し、nから縞波番号+を算出し、「反転」を表すデータ及び縞波番号+を例えば図7(a)及び図7(b)のテーブルに登録する(ステップS33)。縞波番号は、上でも述べたように明と暗の縞のセットについての番号であり、縞波番号+は縞波番号に明又は暗の識別子を付したものである。例えば縞番号がnの場合には、n/2の整数部分が縞波番号となり、例えば余りがない場合には明の識別子、余りがある場合には暗の識別子を付す。そして、照度値の差の絶対値が所定の基準値未満の画素については、反転させた縞に関係する画素ではないと判断して、「非反転」を表すデータを例えば図7(b)のテーブルに登録する(ステップS35)。従って図7(b)において「曖昧」を表すデータは登録されることはない。
【0032】
図8に示すような処理を実施して問題がない場合もあるが、1つの閾値だけではうまく反転又は非反転を判定できない場合もある。そのような場合には図9のような処理を実施するようにしても良い。明暗反転判定部部53は、通常の格子パターンの画像と今回n番目の縞の明暗を反転させた格子パターンの画像との照度値の差の絶対値を計算し、例えばワークメモリ領域58に格納する(ステップS41)。照度値の差の絶対値は例えば図7(b)のテーブルに画素に対応して登録される。そして位相角計算部54の縞波番号判定部541は、照度値の差の絶対値が第1の所定値以上の画素については反転画素と判断し、nから縞波番号+を算出し、「反転」を表すデータ及び縞波番号+を例えば図7(a)及び図7(b)のテーブルに登録する(ステップS43)。縞波番号+は上で述べたような計算にて特定される。また、照度値の差の絶対値が第2の所定値未満である画素については非反転画素と判断し、「非反転」を表すデータを例えば図7(b)のテーブルに登録する(ステップS44)。位相角計算部54の縞波番号判定部541は、照度値の差の絶対値が第2の所定値以上であって且つ上記第1の所定値未満である画素については「曖昧」画素であると判定し、「曖昧」を表すデータを例えば図7(b)のテーブルに当該画素に対応して登録する(ステップS45)。
【0033】
図5に戻って、次に位相角計算部54の縞波番号判定部541は、曖昧画素の縞波番号+の特定処理を実施する(ステップS13)。なお、図7に示すような処理を実施する場合は、「曖昧」画素は存在しないので、本ステップはスキップされる。曖昧画素の縞波番号+の特定処理については図10及び図11(a)及び(b)を用いて説明する。
【0034】
縞波番号判定部541は、通常の格子パターンの画像から、例えば、非特許文献3に記載されているごとく、図7(b)を走査して曖昧画素と判定された画素を含む1本のラインを抽出する(ステップS51)。そして、通常の格子パターンの画像の抽出されたラインから、図7(b)を走査して曖昧画素と判定された画素及び同じラインで反転画素と判定された画素を抽出する(ステップS53)。そして、抽出された画素のうち照度値が最も高い画素が曖昧画素である場合には照度値が最低の反転画素を、抽出された画素のうち照度値が最も低い画素が曖昧画素である場合には照度値が最高の反転画素を基準に、縞波区間を設定する(ステップS55)。
【0035】
図11(a)及び(b)を用いてステップS55についての処理を説明する。明暗の縞の繰り返しは波として表すことができ、通常の格子パターンの画像の1走査ラインを抽出するとその照度値は図11(a)に示すような波で表すことができる。図11(a)では、白丸印は曖昧画素と判定された画素であり、三角印は非反転画素であると判定された画素であり、黒丸印は反転画素と判定された画素である。ここでは、明の縞が反転された場合を示しており、照度値が高い画素が反転画素と判定されている。一方、非反転画素と判定された画素については照度値が低い画素及び他の縞波区間における照度値が高い画素である。ステップS53において反転画素と曖昧画素が抽出されており、図11(a)の例では、抽出された画素のうち照度値が最も低い画素が曖昧画素(白丸)であるから、照度値が最高の反転画素1201を特定し、当該反転画素1201を基準に縞波区間を設定する。縞波区間は明の縞と暗の縞の横幅の長さを有しており、照度値が最高の反転画素1201はこの縞波区間の1/4(位相角でπ)の位置であるから、その位置に従って縞波区間を設定する。一方図11(b)では、暗の縞が反転された場合を示しており、照度値が低い画素が反転画素と判定されている。非反転画素と判定された画素については照度値が高い画素及び他の縞波区間における照度値が低い画素画素である。ステップS53において反転画素と曖昧画素が抽出されており、図11(b)の例では、抽出された画素のうち照度値が最も高い画素が曖昧画素(白丸)であるから、照度値が最低の反転画素1202を特定し、当該反転画素1202を基準に縞波区間を設定する。縞波区間は、照度値が最低の反転画素1202はこの縞波区間の3/4(位相角で3π/2)の位置であるから、その位置に従って縞波区間を設定する。
【0036】
このようにして設定された縞波区間に入る曖昧画素を特定し、当該縞波区間の前半に入る曖昧画素については、反転画素の縞波番号と同じ縞波番号であって「明」の縞を表す縞波番号+を、後半に入る曖昧画素については、反転画素の縞波番号と同じ縞波番号であって「暗」の縞を表す縞波番号+を、図7(a)及び図7(b)に登録する(ステップS57)。そして、全てのラインを処理したか判断し(ステップS59)、未処理のラインがあればステップS51に戻り、全てのラインを処理していれば元の処理に戻る。
【0037】
図5に戻って、このように縞波番号+が特定されると、nは最大値となったか判断する(ステップS15)。nが最大値未満である場合には、nを1インクリメントし(ステップS17)、ステップS7に戻る。一方、nが最大値になっている場合には、通常の格子パターンの画像の各ラインにおいて、縞波番号+が確定している画素で照度値が極大及び極小である画素により縞波区間を設定し、当該縞波区間内における位置に基づき縞内部位相角を計算し、例えば図7(a)のテーブルに登録する(ステップS19)。図11(a)及び図11(b)で説明したように、照度値が極大となる画素は縞波区間の1/4の位置を示しており、照度値が極小となる画素は縞波区間の3/4の位置を示しているので、縞波区間内の画素位置によって位相角が計算できる。
【0038】
そして、全ての格子パターンの画像において不変の画素に対して「陰影」というデータを例えば図7(a)のテーブルに登録する(ステップS21)。「陰影」については縞を反転してもいつも「非反転」と判断されるため、全ての格子パターンについての図7(b)のテーブルを走査して、いずれの行においても非反転とされている画素については陰影であると判断できる。従って、図7(a)のテーブルに当該画素に対応して「陰影」を表すデータを登録する。
【0039】
このようにすれば陰影以外の画素について縞波番号+及び縞内部位相角のデータを得ることができる。なお、例えば図7(a)のテーブルのデータについては計測データ格納部59に登録する。また、縞波番号と縞内部位相角が取得できれば、全体における位相を2π×縞波番号+縞内部位相角にて各画素について計算することができ、周知の方法にて高度計算部55は、被計測物体3の基準平面2からの高度を計算することができるようになる。このデータについては例えば計測データ格納部59に格納する。
【0040】
なお、上の説明では1つの格子パターンについて1つの縞を反転させる例を示しているが、必ずしも1つの縞に限定するものではない。すなわち、縞の不連続部分を超える間隔で複数箇所縞を反転させることも可能である。その場合であっても上で説明した処理を反転させた縞の部分毎に実行すれば、自動的に各画素の縞波番号を特定できるようになる。
【0041】
[実施の形態2]
実施の形態1の方法を用いると処理時間が長くなってしまう。また、複数の縞を同時に反転させる方法を少々述べたが、これによれば処理時間を短縮できる。任意の画素の縞波番号を特定できる、複数の縞を同時に反転させる方法は無数に存在するが、反転規則が単純で開発が容易で、最も効率がよいバイナリ縞反転法について説明する。
【0042】
簡単に説明すると、最初のステージでは図12(a)のように全領域「白」のパターンを投影し、第2のステージでは図12(b)のように全領域の半分を「白」とし残りの半分を「黒」とする格子パターンを投影し、第3のステージでは図12(c)のように全領域の1/4を「白」「黒」「白」「黒」の縞で分割する格子パターンを投影し、第4のステージでは図12(d)のように全領域の1/8を「白」「黒」「白」「黒」「白」「黒」「白」「黒」の縞で分割する格子パターンを投影する。このように前ステージの格子パターンの縞を白の縞と黒の縞に分割して格子パターンを生成するといった処理をリカーシブに行う。なお、最終的に実施の形態1で用いた格子パターンとなるまで分割を繰り返す。なお、M本の縞を含む格子パターンの場合には、log2M回のステージで計測が行われる。一方、1本ずつ反転させる場合にはM回のステージが必要であり、計測時間の短縮を図ることができる。なお、この格子パターン群は2分木と同一の構成となる。図12(a)乃至(d)では完全2分木を想定して説明しているが、必ずしも完全2分木でなくともよい。
【0043】
このような前提を基に以下に図13乃至図15を用いて処理を説明する。最初に、ステージ数nを1に初期化する(ステップS61)。そして、投影制御部56は、液晶プロジェクタ1に対して第nステージの格子パターンの投影を指示し、液晶プロジェクタ1の液晶パネル12は指示に従って第nステージの格子を構成して、被計測物体3に投影する(ステップS63)。第1ステージでは、図12(a)に示すような格子を使用する。すなわち、全領域「明」のパターンである。
【0044】
これに対してカメラ4は、レンズ41を介してCCD42により第nステージの格子パターンが投影された被計測物体3の格子パターンの画像を撮影し、カメラ4に内蔵するメモリに格納する(ステップS65)。そして、画像処理装置5の画像取得部51は、撮影された格子パターンの画像をカメラ4から読み出し、ワークメモリ領域58に格納すると共に、画像処理装置5の格子パターン画像格納部57に格納する。
【0045】
そして、明暗反転判定部53は、明暗判定処理を実施する(ステップS67)。この明暗判定処理について図14を用いて説明する。まず、位相角計算部54は、第1ステージであるか否かを判断する(ステップS81)。現ステージが第1ステージであれば、所定の照度値以下の画像を検出し、「陰影」を例えば図15のテーブルに登録する(ステップS109)。そして元の処理に戻る。
【0046】
図15のテーブルには、画素番号の行と、第1ステージでの明(「0」)又は暗(「陰影」)の判定結果の行と、第2ステージでの明又は暗(以下「1」)の判定結果の行と、第3ステージでの明又は暗の判定結果の行と、第4ステージでの明又は暗の判定結果の行と、....縞波番号の行と、縞内部位相角の行とが設けられており、各画素について第2ステージから最終ステージまでの明暗シーケンス(01のシーケンス)と縞波番号と縞内部位相角とが登録される。
【0047】
一方現ステージが第1ステージではない場合には、縞波番号判定部541は、処理すべきラインを1ライン特定し(ステップS83)、当該ラインのうち処理すべき1画素を特定し(ステップS85)、当該画素の照度値を例えば格子パターン画像格納部57から読み出す。そして、縞波番号判定部541は、読み出した照度値が第1の閾値以上であるか判断する(ステップS87)。照度値が第1の閾値以上である場合には当該画素を「明」と判定して、「0」を例えば図15のテーブルに登録する(ステップS89)。そしてステップS103に移行する。照度値が第1の閾値以上ではない場合には照度値が第2の閾値以下であるか判断する(ステップS91)。照度値が第2の閾値以下である場合には当該画素を「暗」と判定して、「1」を例えば図15のテーブルに登録する(ステップS93)。そしてステップS103に移行する。
【0048】
照度値が第2の閾値以下であると判断された場合には、明暗反転判定部53が同じ画素について、(前ステージの照度値−現ステージの照度値)を計算し、ワークメモリ領域58に格納する(ステップS95)。そして、縞波番号判定部541は、計算結果の絶対値が第3の閾値以上であるか判断する(ステップS97)。計算結果の絶対値が第3の閾値以上である場合には、計算結果の値が正であれば、前ステージの照度値の方が大きい、すなわち明から暗に反転したことが分かるので「1」を登録し、計算結果の値が負であれば、前ステージの照度値の方が小さい、すなわち暗から明に反転したことが分かるので「0」を登録する(ステップS99)。このように前のステージの画像を参照することにより明暗を判断するのは以下の理由からである。すなわち、図12(a)乃至(d)に示すように2分木に従って分割すると、現ステージの明と暗の境界は前ステージにおいて明らかに暗又は明の場合が多いからである。例えば現在第4ステージで左から最初の明暗の境界は、第3ステージでは明らかに明の縞の部分となる。従って、現ステージでは明暗が曖昧な画素であっても前ステージでは明らかな明又は暗であればそれらの照度値の差はもし明暗が切り替わっていれば第3の閾値以上になることが期待される。このように前ステージを参照して明又は暗を判定する。前ステージを参照しても、例えば図12(d)の2つ目の境界では前ステージでも明暗の境界となっているため、場合によっては差を計算しても不明瞭なままの場合もある。すなわち計算結果が第3の閾値未満であると判断された場合には、「曖昧画素」を表すデータを図14のテーブルに登録する(ステップS101)。なお、さらに前のステージについてステップS99を実行しても良い。2以上前のステージでは明らかに「明」、さらに明らかに「暗」の画素である可能性もあるためである。
【0049】
そしてステップS83において特定されたラインについて全ての画素を処理したか判断する(ステップS103)。未処理の画素が存在している場合にはステップS85に戻る。もし、特定のラインの全画素を処理し終わった場合には、現ステージの処理の結果曖昧画素と判定された画素が存在していれば、縞波番号判定部541は、当該曖昧画素について、現ステージの縞区間長及び現在処理しているラインの各画素の照度値を基に縞区間を設定して、曖昧画素が明の縞と暗の縞のいずれに属するか判断し、「0」又は「1」を登録する(ステップS105)。そして、全てのラインについて処理したか判断する(ステップS107)。未処理のラインが存在しているのならばステップS83に戻る。一方、全てのラインについて処理した場合には元の処理に戻る。
【0050】
このような処理を実施すれば、現ステージにおいて各画素が明又は暗のいずれの縞に属するのかを判定することができる。
【0051】
図13の処理に戻って、ステップS67において明暗の判定が終了すると、現ステージが最終ステージであるか判断する(ステップS69)。まだ最終ステージではない場合には、nを1インクリメントし(ステップS71)、ステップS63に戻る。一方、最終ステージであれば、図15に示した第2ステージから最終ステージまでの明暗シーケンスから縞波番号を決定し、図15のテーブルに登録する(ステップS73)。例えばある画素について「00000」という明暗シーケンスを得た場合には、その画素は縞番号「0」という縞に属する。従って、縞波番号は「0」である。さらに「00001」という明暗シーケンスを得た場合には、その画素は縞番号「1」という縞に属する。従って、縞波番号は「0」である。さらに「00010」という明暗シーケンスを得た場合には、その画素は縞番号「2」という縞に属する。従って、縞波番号は「1」となる。このような処理を行うことにより縞波番号を決定する。
【0052】
そして、最終ステージの格子パターンの画像の各ラインにおいて、縞波番号が確定している画素で照度値が極大及び極小である画素により縞波区間を設定し、当該縞波区間内における位置に基づき縞内部位相角を計算し、例えば図15のテーブルに登録する(ステップS75)。図11(a)及び図11(b)で説明したように、照度値が極大となる画素は縞波区間の1/4の位置を示しており、照度値が極小となる画素は縞波区間の3/4の位置を示しているので、縞波区間内の位置によって位相角が計算できる。
【0053】
このようにすれば陰影以外の画素について縞波番号及び縞内部位相角のデータを得ることができる。なお、例えば図15のテーブルの少なくとも一部のデータについては計測データ格納部59に登録する。また、縞波番号と縞内部位相角が取得できれば、全体における位相を2π×縞波番号+縞内部位相角にて各画素について計算することができ、周知の方法にて高度計算部55は、被計測物体3の基準平面2からの高度を計算することができるようになる。このデータについては例えば計測データ格納部59に格納する。
【0054】
以上のような処理を実施すれば、より効率的に各画素の縞波番号及び縞内部位相角を特定することができるようになる。
【0055】
また、次にような処理によっても同様の結果を得ることができる。最初に、撮影ステージ番号nを1に初期化する(図16:ステップS111)。そして、投影制御部56は、液晶プロジェクタ1に対して第nステージの格子パターンの投影を指示し、液晶プロジェクタ1の液晶パネル12は指示に従って第nステージの格子を構成して、被計測物体3に投影する(ステップS113)。第1ステージでは、図12(a)に示すような格子を使用する。すなわち、全領域「明」のパターンである。第2ステージでは、図12(b)に示すような格子を使用する。以下、図12(c)、図12(d)...となる。
【0056】
これに対してカメラ4は、レンズ41を介してCCD42により第nステージの格子パターンが投影された被計測物体3の格子パターンの画像を撮影し、カメラ4に内蔵するメモリに格納する(図16:ステップS115)。そして、画像処理装置5の画像取得部51は、撮影された格子パターンの画像をカメラ4から読み出し、画像処理装置5の格子パターン画像格納部57に格納する。そして、今回の投影及び撮影が最終ステージについてのものか判断する(ステップS117)。もし、最終ステージではない場合には、nを1インクリメントし(ステップS118)、ステップS113に戻る。最終ステージの場合には、明暗反転判定部53及び位相角計算部54は、明暗判定処理を実施する(ステップS119)。明暗判定処理については図17を用いて説明する。
【0057】
位相角計算部54は、処理すべきラインを1ライン特定し(ステップS131)、当該ラインに属する処理すべき画素を1画素特定する(ステップS133)。そして、明暗反転判定部53は、第1ステージにおける当該画素の照度値と最終ステージにおける当該画素の照度値との差を計算し、例えばワークメモリ領域58に格納する(ステップS135)。そして、位相角計算部54の縞波番号判定部541は当該差の絶対値が第1の閾値以上であるか判断する(ステップS137)。差の絶対値が第1の閾値以上である場合には、第1ステージが全領域「明」であるから、反転、すなわち「明」から「暗」への反転が発生したものとして、例えば図18(a)に示すテーブルに「1」を、例えば図18(b)に示すテーブルに「反転」を登録する(ステップS139)。そしてステップS147に移行する。
【0058】
図18(a)のテーブルでは、画素番号の行と、最終ステージの基準となる格子パターンの画像の各画素が「明」であるか「暗」であるかを登録するための明暗の行と、第2ステージの比較結果の行と、第3ステージの比較結果の行と、第4ステージの比較結果の行と、....縞波番号の行と、縞内部位相角の行とが設けられており、各画素について当該画素の明暗の判断結果と各ステージについてのコード・シーケンスと縞波番号と縞内部位相角とが対応付けられている。一方、図18(b)のテーブルでは、画素番号の行と、第1ステージにおける格子パターンの画像と最終ステージの基準となる格子パターンの画像との比較で明暗が反転しているか否かを登録するための行と、第2ステージにおける格子パターンの画像と最終ステージの基準となる格子パターンの画像との比較で明暗が反転しているか否かを登録するための行と、第3ステージにおける格子パターンの画像と最終ステージの基準となる格子パターンの画像との比較で明暗が反転しているか否かを登録するための行と、第4ステージにおける格子パターンの画像と最終ステージの基準となる格子パターンの画像との比較で明暗が反転しているか否かを登録するための行と、....とが含まれている。
【0059】
図17の処理に戻って、位相角計算部54の縞波番号判定部541は、ステップS135で計算された差の絶対値が第2の閾値以下であるか判断する(ステップS141)。差の絶対値が第2の閾値以下である場合には、第1ステージが全領域「明」であるから、非反転、すなわち「明」のままであるとして、例えば図18(a)に示すテーブルに「0」を、例えば図18(b)に示すテーブルに「非反転」を登録する(ステップS143)。そしてステップS147に移行する。
【0060】
なお、画像内に陰影が存在している場合には、ここでは「明」を表す「0」が登録されてしまうが、必ず「非反転」となるため、全ステージについて処理した後に全てのステージについて「非反転」の画素については「陰影」であるものとして取り扱われる。なお、本実施の形態では左端の明の縞については一度も反転されないので、この縞の部分については計測には使用できない。この部分についても使用する場合には、全領域「暗」のパターンを投影して、当該パターンについての画像との比較を行わなければならない。
【0061】
ステップS135で計算された差の絶対値が第2の閾値を超え且つ第1の閾値未満である場合には、仮に曖昧画素として例えば図18(a)のテーブルに登録する(ステップS145)。
【0062】
そして特定のラインの全ての画素について処理したか判断する(ステップS147)。未処理の画素が存在している場合にはステップS133に戻る。一方特定のラインの全ての画素について処理した場合には、曖昧画素と登録された画素について、最終ステージの縞区間長及び現在処理しているラインの各画素の照度値を基に縞区間を設定して、曖昧画素が明の縞と暗の縞のいずれに属するか判断し、「明」の場合には「0」及び「非反転」を、「暗」の場合には「1」及び「反転」を登録する(ステップS149)。そして、全てのラインについて処理が終了したか判断する(ステップS151)。未処理のラインが存在する場合にはステップS131に戻る。一方、全てのラインについて処理を行った場合には元の処理に戻る。
【0063】
このようにして最終ステージの各画素についての「明」又は「暗」の判定及び「反転」又は「非反転」の判定が行われる。
【0064】
図16の処理フローに戻ると、明暗反転判定部53及び位相角計算部54は、基準となる最終ステージについての画像と各ステージについての画像との比較処理を実施する(ステップS121)。この比較処理については図19を用いて説明する。
【0065】
最初に、ステージ番号nをn=2にセットする(ステップS161)。そして、明暗反転判定部53は、第nステージの画像と最終ステージの画像の照度値の差の絶対値を計算し、例えばワークメモリ領域58に格納する(ステップS163)。そして、位相角計算部54は、処理すべきラインを1ライン特定し(ステップS165)、さらに処理すべき画素を1画素特定する(ステップS167)。そして、縞波番号判定部541は当該画素の照度値の差の絶対値が第1の所定値以上であるか判断する(ステップS169)。当該画素の照度値の差の絶対値が第1の所定値以上である場合には、縞が反転したとして、例えば図18(a)のテーブルに最終ステージにおける判定結果とは逆の判定結果(最終ステージにおいて「明(0)」であれば「暗(1)」又はその逆)を登録し、例えば図18(b)のテーブルに「反転」を表すデータを登録する(ステップS171)。そしてステップS185に移行する。
【0066】
一方、当該画素の照度値の差の絶対値が第1の所定値以上ではないと判断された場合には、縞波番号判定部541は、当該画素の照度値の差の絶対値が第2の所定値以下であるか判断する(ステップS173)。当該画素の照度値の差の絶対値が第2の所定値以下である場合には、縞が非反転であるとして、例えば図18(a)のテーブルに最終ステージにおける判定結果と同じ判定結果(最終ステージにおいて「明(0)」でれば「明(0)」を「暗(1)」であれば「暗(1)」)を登録し、例えば図18(b)のテーブルに「非反転」を表すデータを登録する(ステップS175)。そしてステップS185に移行する。
【0067】
一方、当該画素の照度値の差の絶対値が第1の所定値未満で且つ第2の所定値を超えている場合には、明暗反転判定部53は第(n−1)ステージの照度値と第nステージの照度値との差を算出し、例えばワークメモリ領域58に格納する(ステップS177)。そして、縞波番号判定部541は、計算結果の絶対値が第3の閾値以上であるか判断する(ステップS179)。このように前ステージのデータを参照するのはステップS95で述べたとおりの理由からである。もし、計算結果の絶対値が第3の閾値以上である場合には、第(n−1)ステージにおける判定結果とは逆の判定結果を例えば図18(a)のテーブルに登録し、さらに第(n−1)ステージとは逆の反転状態を登録する(ステップS181)。ステップS177の計算結果の絶対値が第3の閾値以上である場合には、第(n−1)ステージとの比較で反転しているということであり、第(n−1)ステージで「明(0)」であれば「暗(1)」、「暗(1)」であれば「明(0)」を登録する。また、第(n−1)ステージで「反転」と判断されていればさらに反転されていることになるので「非反転」を、「非反転」と判断されていればその状態から反転されているので「反転」を登録する。
【0068】
ステップS179でステップS177の計算結果の絶対値が第3の閾値未満であると判断された場合には、仮に曖昧画素として例えば図18(a)のテーブルに登録する(ステップS183)。そして特定のラインの全ての画素について処理したか判断する(ステップS185)。未処理の画素が存在している場合にはステップS167に戻る。一方特定のラインの全ての画素について処理した場合には、曖昧画素と登録された画素について、第nステージの縞区間長及び現在処理しているラインの各画素の照度値を基に縞区間を設定して、曖昧画素が明の縞と暗の縞のいずれに属するか判断し、図18(a)のテーブルに「明」の場合には「0」を、「暗」の場合には「1」を登録し、当該判定結果と最終ステージにおける対応する画素の明暗とから「反転」又は「非反転」を図18(b)のテーブルに登録する(ステップS187)。
【0069】
そして、全てのラインについて処理が終了したか判断する(ステップS189)。未処理のラインが存在する場合にはステップS165に戻る。一方、全てのラインについて処理を行った場合には元の処理に戻る。
【0070】
このようにして各ステージの各画素についての「明」又は「暗」の判定及び「反転」又は「非反転」の判定が行われる。
【0071】
図16の処理フローに戻って、縞波番号判定部541は、図18(b)のテーブルにおいて全てのステージにおいて「非反転」の画素を陰影と判定し、図18(a)のテーブルに「陰影」と登録する(ステップS123)。図18(a)の例では第1画素が陰影と判断されている。
【0072】
そして、縞波番号判定部541は、図18(a)に示した第2ステージから最終ステージまでのコード・シーケンスから縞波番号を決定し、図18(a)のテーブルに登録する(ステップS125)。例えばある画素について「00000」というコード・シーケンスを得た場合には、その画素は縞番号「0」という縞に属する。従って、縞波番号は「0」である。さらに「00001」というコード・シーケンスを得た場合には、その画素は縞番号「1」という縞に属する。従って、縞波番号は「0」である。さらに「00010」というコード・シーケンスを得た場合には、その画素は縞番号「2」という縞に属する。従って、縞波番号は「1」となる。このような処理を行うことにより縞波番号を決定する。
【0073】
そして、最終ステージの格子パターンの画像の各ラインにおいて、縞波番号が確定している画素で照度値が極大及び極小である画素により縞波区間を設定し、当該縞波区間内における位置に基づき縞内部位相角を計算し、例えば図18(a)のテーブルに登録する(ステップS127)。図11(a)及び図11(b)で説明したように、照度値が極大となる画素は縞波区間の1/4の位置を示しており、照度値が極小となる画素は縞波区間の3/4の位置を示しているので、縞波区間内の位置によって位相角が計算できる。
【0074】
このようにすれば陰影以外の画素について縞波番号及び縞内部位相角のデータを得ることができる。なお、例えば図18(a)のテーブルの少なくとも一部のデータについては計測データ格納部59に登録する。また、縞波番号と縞内部位相角が取得できれば、全体における位相を2π×縞波番号+縞内部位相角にて各画素について計算することができ、周知の方法にて高度計算部55は、被計測物体3の基準平面2からの高度を計算することができるようになる。このデータについては例えば計測データ格納部59に格納する。
【0075】
以上のような処理を実施すれば、より効率的に各画素の縞波番号及び縞内部位相角を特定することができるようになる。
【0076】
以上本発明の実施の形態を説明したが、本発明のこれに限定されるものではない。例えば、縞の明暗の反転のさせ方は、上で述べた態様に限定されず、別の方法を用いても良い。
【0077】
また、例えば、図3に示した機能ブロック図は一例であって、必ずしも液晶プロジェクタ1でなければならないことはなく、他の投影装置を用いるようにしても良い。また、画像処理装置5の機能部についても実際のプログラムモジュールが対応しない場合もある。また、撮影制御部56については画像処理装置5とは別の装置によって実現される場合もある。さらに、液晶プロジェクタ1やカメラ4に、画像処理装置5の一部の機能を保持させるような構成とする場合もある。
【0078】
さらに、上で述べた処理フローで、格子パターンの投影及び撮影毎に処理を行う処理フローを示したが、全ての格子パターンの投影及び撮影を行ってから処理を行うようにしても良い。また上で述べた処理フローについては一例であって、同様の機能を異なる処理ステップについて実現することも可能である。
【0079】
(付記1)
明と暗の縞から構成される第1の格子パターンを被計測物体に投影した場合における、前記被計測物体についての第1の画像を取得する第1画像取得ステップと、
前記第1の格子パターンの一部の縞の明暗を反転させた第2の格子パターンを被計測物体に投影した場合における、前記被計測物体についての第2の画像を取得する第2画像取得ステップと、
前記第1及び第2の画像に基づき、明暗を反転させた縞に関連する画素を特定するステップと、
を含む格子パターン投影法における画像処理方法。
【0080】
(付記2)
特定された前記画素に対応して前記反転させた縞の縞波番号を特定するステップ
をさらに含む付記1記載の画像処理方法。
【0081】
(付記3)
前記第1又は第2の画像における所定の画素について、当該画素の縞波番号から特定される縞波区間内の位置に基づき縞内部位相角を計算するステップと、
をさらに含む付記2記載の画像処理方法。
【0082】
(付記4)
前記第2画像取得ステップにおいて、
全ての縞の明暗を少なくとも一度は反転するように前記第2の格子パターンを複数回変更し、各前記第2の格子パターンに対応する第2の画像を取得する
ことを特徴とする付記1記載の画像処理方法。
【0083】
(付記5)
全ての前記第2の格子パターンに対応する第2の画像と前記第1の画像とに基づき、陰影に関連する画素を特定するステップ
をさらに含む付記4記載の画像処理方法。
【0084】
(付記6)
前記第2画像取得ステップが、
撮影ステージ番号n(nは1以上の整数)に基づき最大2n本の明と暗の縞を含む格子パターンを被計測物体に投影した場合における、前記被計測物体についての各前記撮影ステージの画像を取得するステップ
を含む付記1記載の画像処理方法。
【0085】
(付記7)
前記第1の画像に基づき、明の縞に関連する画素については第1のコードを暗の縞に関連する画素については第2のコードを割り当てるステップと、
前記第1及び第2の画像に基づき、明暗が反転していない縞に関連する画素を特定するステップと、
前記反転していない縞に関連する画素については、前記第1の画像の対応する画素に割り当てられたコードと同じコードを割り当てるステップと、
前記反転させた縞に関連する画素については前記第1の画像の対応する画素に割り当てられたコードとは異なるコードを設定するステップと、
所定の前記撮影ステージについての各画素のコード系列を取得するステップと、
をさらに含む付記1記載の画像処理方法。
【0086】
(付記8)
撮影ステージ番号n(nは1以上の整数)に基づき最大2n本の明と暗の縞を含む格子パターンを被計測物体に投影した場合における、前記被計測物体についての各前記撮影ステージの画像を取得するステップと、
各前記撮影ステージにおける画像の所定の画素について、明又は暗の縞のいずれに属するか判断する判断ステップと、
前記所定の画素について、所定の前記撮影ステージについての明暗シーケンス又は明に対応付けられたコードと暗に対応付けられたコードとによるコード・シーケンスを特定するステップと、
を含む格子パターン投影法における画像処理方法。
【0087】
(付記9)
前記所定の画素について、前記明暗シーケンス又は前記コード・シーケンスに基づき縞波番号を特定するステップ
をさらに含む付記8記載の画像処理方法。
【0088】
(付記10)
前記判断ステップにおいて、
特定の撮影ステージにおける画像と当該特定の撮影ステージより前の画像とを用いて、前記画像の所定の画素について、明又は暗の縞のいずれに属するか判断する
ことを特徴とする付記8記載の画像処理方法。
【0089】
(付記11)
前記最終ステージにおける前記画像の所定の画素について、当該画素の縞波番号から特定される縞波区間内の位置に基づき縞内部位相角を計算するステップと、
をさらに含む付記8記載の画像処理方法。
【0090】
(付記12)
明と暗の縞から構成される第1の格子パターンと前記第1の格子パターンの一部の縞の明暗を反転させた第2の格子パターンとを被計測物体に投影する手段と、
前記第1の格子パターンに対する、前記被計測物体についての第1の画像と、前記第2の格子パターンに対する、前記被計測物体についての第2の画像とを撮影する手段と、
画像処理装置であって、
前記第1及び第2の画像に基づき、明暗を反転させた縞に関連する画素を特定する手段と、
特定された前記画素に対応して前記反転させた縞の縞波番号を特定する手段と、
を有する画像処理装置と、
を有する計測装置。
【0091】
(付記13)
明と暗の縞から構成される第1の格子パターンと前記第1の格子パターンの一部の縞の明暗を反転させた第2の格子パターンとを被計測物体に投影させる手段と、
前記第1の格子パターンに対する、前記被計測物体についての第1の画像と、前記第2の格子パターンに対する、前記被計測物体についての第2の画像とを取得する手段と、
前記第1及び第2の画像に基づき、明暗を反転させた縞に関連する画素を特定する手段と、
を有する画像処理装置。
【0092】
(付記14)
明と暗の縞から構成される第1の格子パターンを被計測物体に投影した場合における、前記被計測物体についての第1の画像を取得する第1画像取得ステップと、
前記第1の格子パターンの一部の縞の明暗を反転させた第2の格子パターンを被計測物体に投影した場合における、前記被計測物体についての第2の画像を取得する第2画像取得ステップと、
前記第1及び第2の画像に基づき、明暗を反転させた縞に関連する画素を特定するステップと、
をコンピュータに実行させるためのプログラム。
【0093】
(付記15)
撮影ステージ番号n(nは1以上の整数)に基づき最大2n本の明と暗の縞を含む格子パターンを被計測物体に投影する手段と、
前記被計測物体についての各前記撮影ステージの画像を撮影する手段と、
画像処理装置であって、
各前記撮影ステージにおける画像の所定の画素について、明又は暗の縞のいずれに属するか判断する手段と、
前記所定の画素について、所定の前記撮影ステージについての明暗シーケンス又は明と暗とに対応付けられたコードによるコード・シーケンスを特定する手段と、
前記所定の画素について、前記明暗シーケンス又は前記コード・シーケンスに基づき縞波番号を特定する手段と、
を有する画像処理装置と、
を有する計測装置。
【0094】
(付記16)
撮影ステージ番号n(nは1以上の整数)に基づき最大2n本の明と暗の縞を含む格子パターンを被計測物体に投影させる手段と、
前記被計測物体についての各前記撮影ステージの画像を取得する手段と、
各前記撮影ステージにおける画像の所定の画素について、明又は暗の縞のいずれに属するか判断する手段と、
前記所定の画素について、所定の前記撮影ステージについての明暗シーケンス又は明と暗とに対応付けられたコードによるコード・シーケンスを特定する手段と、
を有する画像処理装置。
【0095】
(付記17)
撮影ステージ番号n(nは1以上の整数)に基づき最大2n本の明と暗の縞を含む格子パターンを被計測物体に投影した場合における、前記被計測物体についての各前記撮影ステージの画像を取得するステップと、
各前記撮影ステージにおける画像の所定の画素について、明又は暗の縞のいずれに属するか判断する判断ステップと、
前記所定の画素について、所定の前記撮影ステージについての明暗シーケンス又は明と暗とに対応付けられたコードによるコード・シーケンスを特定するステップと、
をコンピュータに実行させるためのプログラム。
【0096】
【発明の効果】
以上述べたように本発明によれば、格子パターン投影法において、縞の不連続部分に対しても縞波番号を自動的に取得することができる。
【0097】
その結果、人手を介することなく縞の不連続部に対しても高度計測値を獲得することが可能である。
【図面の簡単な説明】
【図1】従来技術における計測装置の概要を示す図である。
【図2】縞の不連続部分を説明するための図である。
【図3】本発明の計測装置の機能ブロック図を示す図である。
【図4】陰影を説明するための図である。
【図5】本発明の第1の実施の形態に係る処理フローを示す図である。
【図6】(a)は通常の格子を、(b)乃至(d)は、1つの縞を反転させた格子を示す。
【図7】(a)及び(b)は、処理に用いられるデータ・テーブルの一例を示す図である。
【図8】反転画素の特定処理の処理フローの第1の例を示す図である。
【図9】反転画素の特定処理の処理フローの第2の例を示す図である。
【図10】曖昧画素の縞波番号+の特定処理の処理フローを示す図である。
【図11】(a)及び(b)は、曖昧画素の縞波番号+を特定する方法を模式的に示す図である。
【図12】(a)乃至(d)は、本発明の第2の実施の形態に係る各ステージの格子の例を示す図である。
【図13】本発明の第2の実施の形態におけるメイン処理フローを示す図である。
【図14】明暗判定処理の処理フローを示す図である。
【図15】処理に用いられるデータ・テーブルの一例を示す図である。
【図16】本発明の第2の実施の形態における第2のメイン処理フローを示す図である。
【図17】明暗判定処理の処理フローを示す図である。
【図18】(a)及び(b)は処理に用いられるデータ・テーブルの一例を示す図である。
【図19】比較処理の処理フローを示す図である。
【符号の説明】
1 液晶プロジェクタ 2 基準平面 3 被計測物体
4 カメラ 5 画像処理装置
11 投影部 12 液晶パネル 13 レンズ
41 レンズ 42 CCD
51 画像取得部
53 明暗反転判定部 54 位相角計算部
541 縞波番号判定部 55 高度計算部
56 投影制御部 57 格子パターン画像格納部
58 ワークメモリ領域 59 計測データ格納部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technique for measuring a three-dimensional shape of a measured object by projecting a grid pattern on the measured object.
[0002]
[Prior art]
The measurement of three-dimensional shapes is being used not only in industry but also in many areas of society such as medicine, biology, archeology, and research and restoration of works of art. In three-dimensional measurement, a non-contact type optical measurement using light is more demanded than a conventional contact type. Optical measurement area measurement is classified into a light cutting method that measures the area by scanning a single linear slit light in a direction orthogonal to the slit direction, and a measurement method that collectively measures each surface. Is done. The latter is more advantageous from the viewpoint of measurement time, and this development is desired.
[0003]
The light-section method is a well-established technique, and various modes have been developed to enable highly reliable measurement. However, "optical three-dimensional measurement" edited by Toru Yoshizawa [New Technology Communications] p. As shown in FIG. 31, a mechanical moving mechanism such as a slit light projecting unit is required, and this becomes a bottleneck, so that the measurement time cannot be shortened and the efficiency is poor. Therefore, there is a problem in application in a field where measurement time needs to be reduced. In addition, there is also a problem that maintenance adjustment is troublesome because of the mechanical moving mechanism.
[0004]
On the other hand, a typical method of processing surfaces in a lump is a moire method of acquiring contour lines by moire fringes (“optical three-dimensional measurement” edited by Toru Yoshizawa [New Technology Communications] p.65), a striped grid There is a grid pattern projection method for observing a grid pattern formed by projecting an image onto an object (“Three-dimensional optical measurement” edited by Toru Yoshizawa [New Technology Communications] p. 83). In particular, the latter is expected at present in view of the measurement accuracy and the price of the device.
[0005]
As shown in FIG. 1, the grid pattern projection apparatus includes a
[0006]
Normally, a reference plane orthogonal to the optical axis of the
[0007]
Since a detailed calculation formula is disclosed in
[0008]
In order to obtain the fringe internal phase angle, scanning is performed along the X-axis (see FIG. 1) in the fringe orthogonal direction set on the reference plane. Even if it is a so-called Ronchi grating in which the fringe grating is binarized as well as the sine wave grating, the vicinity of the boundary between the bright and dark fringes is caused by a light diffraction phenomenon and a discretization error due to the light receiving element. The illuminance I of the grid pattern along the X-axis in the direction perpendicular to the stripes changes. The illuminance distribution is recognized as a wave, and the phase angle in the fringe wave starting from the base point of the sine wave is obtained. In addition to the method of setting the peaks and valleys of the wave to π / 2 and 3π / 2 (Non-Patent
[0009]
As described above, since the projected
[0010]
On the other hand, as a method of automatically acquiring a fringe wave number in response to a discontinuity of a fringe, many studies have been made on a black-and-white fringe lattice as outlined in
[0011]
In addition to this, there is a method called a spatial coding method (“optical three-dimensional measurement” edited by Toru Yoshizawa [New Technology Communications], p. 79). The space coding method is a method of coding each point in a measurement target space with a binary code and inputting a distance image with a small number of projections. From the projector L, pattern lights whose light and dark pitches double change by the masks A, B and C, respectively, are sequentially projected. Assuming that a light passing portion is 1 and a light blocking portion through which light does not pass is 0, projection light is binary coded pattern light. The measurement target onto which the pattern light is projected is input as a grayscale image by the camera Q. In this method, ∠QPL is obtained using the code of the stripe to which the point P in the space belongs, 、 PQL is obtained from the position of the point P captured by the camera Q, and the position of the point P is measured by triangulation. . As described above, in the spatial coding method, stripe numbers are given to each point on the surface of an object existing in three dimensions, so that "the original purpose is a robot vision, and the accuracy is not sufficient in terms of measurement."("Measurement of surface shape of reflective object using grid pattern projection method", Masayuki Yamamoto et al., Journal of Precision Engineering Society, Vol. 64, No. 8, p. 1171, (1998)). Further, there is no viewpoint of solving the problem of discontinuity of the fringe (phase). Further, there is no viewpoint of determining a shadow.
[0012]
[Patent Document 1]
JP-A-3-192474
[Non-patent document 1]
H. Lu et al. , "Automatic Measurement of 3-D Object Shapes Based on Computer-Generated Reference Surface", Bull. Japan Soc. of Prec. Eng. Vol. 21, no. 4, p251 (1987)
[Non-patent document 2]
W. Liu et al. , Color Coded Projection Grating Method for Shape Measurement with a Single Exposure, Applied Optics Vol. 39, No. 20, p3503 (2000)
[Non-Patent Document 3]
Xiao Yuan He et al. "Proposed Algorithm for Phase Unwrapping,"
[0013]
[Problems to be solved by the invention]
Accordingly, an object of the present invention is to provide a novel technique for automatically acquiring a fringe wave number even in a discontinuous portion of a fringe in a grid pattern projection method in order to solve the above problems. It is.
[0014]
[Means for Solving the Problems]
An image processing method in a grid pattern projection method according to a first aspect of the present invention is a method for projecting a first grid pattern composed of bright and dark stripes onto a measured object, A first image acquiring step of acquiring a first image, and an object to be measured in a case where a second lattice pattern obtained by inverting the brightness of some of the stripes of the first lattice pattern is projected on the object to be measured. A second image obtaining step of obtaining a second image of the above, and a step of identifying a pixel related to a stripe whose light and darkness has been inverted based on the first and second images.
[0015]
In order to intentionally reverse the brightness of a specific stripe, the stripe wave number of the inverted stripe is self-evident, and if a pixel related to the inverted stripe can be identified from the difference between the first image and the second image. , The stripes of the pixel can be determined. Further, even when a plurality of stripes are inverted, the stripe wave number can be identified by identifying the pixel related to the inverted stripe.
[0016]
Further, in the first aspect of the present invention, the method may further include a step of specifying a stripe wave number of the inverted stripe corresponding to the specified pixel. Since a fringe wave is composed of a set of light and dark fringes, the fringe wave number is specified from the fringe number or the like.
[0017]
Further, in the first aspect of the present invention, for a predetermined pixel in the first or second image, calculating a fringe internal phase angle based on a position in a fringe wave section specified by the fringe wave number of the pixel. May be further included.
[0018]
In the second image acquiring step described above, the second grid pattern is changed a plurality of times so that the brightness of all the stripes is inverted at least once, and the second image corresponding to each second grid pattern is changed. May be obtained. For example, the brightness of the stripes is reversed one by one.
[0019]
Further, the above-described second image acquisition step performs a maximum of 2 based on the imaging stage number n (n is an integer of 1 or more). n In a case where a grid pattern including light and dark stripes of a book is projected on the measured object, a step of acquiring an image of each photographing stage of the measured object may be included.
[0020]
Also, in the first aspect of the present invention, based on the first image, assigning a first code to a pixel related to a bright stripe, and assigning a second code to a pixel related to a dark stripe, Identifying pixels associated with the non-inverted stripe based on the first and second images; and assigning pixels associated with the non-inverted stripe to corresponding pixels in the first image. Assigning a code different from the code assigned to the corresponding pixel of the first image for the pixel associated with the inverted stripe, and assigning a code different from the code assigned to the corresponding pixel of the first image. Specifying a fringe wave number from a code sequence of pixels.
[0021]
According to the image processing method in the grid pattern projection method according to the second aspect of the present invention, a maximum of 2 n When a grid pattern including light and dark stripes of a book is projected on the object to be measured, a step of acquiring an image of each imaging stage for the object to be measured; Or a judgment step of judging whether the pixel belongs to a dark stripe or a dark stripe, and, for a predetermined pixel, a light-dark sequence for a predetermined photographing stage or a code sequence based on a code associated with light and a code associated with dark. Identifying step.
[0022]
By determining whether a given pixel belongs to a light or dark stripe at each shooting stage, a light-dark sequence or an equivalent code sequence corresponding to the stripe number of the given pixel can be specified. Become like
[0023]
The above-described method can be implemented by a combination of a program and a computer, and the program is stored in a storage medium or a storage device such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, and a hard disk. . In some cases, it is distributed as a digital signal via a network or the like. The intermediate processing result is temporarily stored in a memory.
[0024]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 3 shows a functional block diagram according to one embodiment of the present invention. In the present embodiment, the main processing in the present embodiment is performed and the
[0025]
The
[0026]
[Embodiment 1]
In the present embodiment, as shown in FIG. 2, a grid pattern (referred to as an inverted grid pattern) is used by using a grid in which the light and dark of one stripe are inverted among the grids in which bright stripes and dark stripes repeatedly appear. ) Is projected, and an image of the inverted lattice pattern is taken. A difference image of the illuminance between the image of the inverted grid pattern and the image of the normal grid pattern is generated, and pixels related to the inverted stripe are specified. In this way, the stripe wave number of the inverted stripe can be assigned to the pixel related to the inverted stripe. Then, if the above-described processing is performed by inverting the brightness of all the stripes, the stripe wave numbers are assigned to the pixels on which the stripes are projected. Pixels in which no change is found even after inverting the brightness of all the stripes are shades. That is, as shown in FIG. 4, both a shadow, which is a dark portion formed when an object is irradiated with light, and a shadow, which is obtained by projecting the shadow of the object on a projection surface, are captured in black. Therefore, the height of the measured
[0027]
Hereinafter, the processing of the measuring device according to the present embodiment will be described with reference to FIGS. First, the
[0028]
On the other hand, the
[0029]
Next, the
[0030]
On the other hand, the
[0031]
Then, the light / dark
[0032]
There is a case where there is no problem by performing the processing as shown in FIG. 8, but there are also cases where it is not possible to determine the inversion or the non-inversion with only one threshold value. In such a case, a process as shown in FIG. 9 may be performed. The light / dark
[0033]
Returning to FIG. 5, the fringe wave
[0034]
The fringe wave
[0035]
The processing in step S55 will be described with reference to FIGS. The repetition of light and dark stripes can be represented as a wave, and when one scan line of an image of a normal lattice pattern is extracted, its illuminance value can be represented by a wave as shown in FIG. In FIG. 11A, white circles are pixels determined to be ambiguous pixels, triangles are pixels determined to be non-inverted pixels, and black circles are pixels determined to be inverted pixels. Here, a case where the bright stripe is inverted is shown, and a pixel having a high illuminance value is determined to be an inverted pixel. On the other hand, pixels determined to be non-inverted pixels are pixels having a low illuminance value and pixels having a high illuminance value in other stripe wave sections. In step S53, the inverted pixel and the ambiguous pixel are extracted. In the example of FIG. 11A, the pixel having the lowest illuminance value among the extracted pixels is the ambiguous pixel (open circle), and thus the illuminance value is the highest. The
[0036]
An ambiguous pixel entering the fringe wave section set in this way is specified, and for an ambiguous pixel entering the first half of the fringe wave section, the fringe wave number is the same as the fringe wave number of the inverted pixel, and the “bright” stripe 7A and FIG. 7A, the stripe wave number + representing the “dark” stripe, which is the same as the stripe wave number of the inverted pixel, and representing the “dark” stripe, 7 (b) (step S57). Then, it is determined whether all the lines have been processed (step S59). If there is an unprocessed line, the process returns to step S51. If all the lines have been processed, the process returns to the original process.
[0037]
Returning to FIG. 5, when the fringe wave number + is specified in this way, it is determined whether n has reached the maximum value (step S15). If n is less than the maximum value, n is incremented by 1 (step S17), and the process returns to step S7. On the other hand, when n is the maximum value, in each line of the image of the normal lattice pattern, the stripe wave section is defined by the pixels for which the stripe wave number + is determined and the illuminance values of which are the maximum and the minimum. Then, the internal phase angle of the fringe is calculated based on the position in the fringe wave section and registered in, for example, the table of FIG. 7A (step S19). As described with reference to FIGS. 11A and 11B, the pixel having the maximum illuminance value indicates a
[0038]
Then, data of “shadow” is registered, for example, in the table of FIG. 7A with respect to the invariant pixels in the images of all the grid patterns (step S21). Since "shadow" is always determined to be "non-inverted" even if the stripes are inverted, the table of FIG. 7B for all the grid patterns is scanned, and any row is set to non-inverted. It can be determined that a certain pixel is a shadow. Therefore, data representing “shadow” is registered in the table of FIG. 7A corresponding to the pixel.
[0039]
In this way, data of the fringe wave number + and the fringe internal phase angle can be obtained for pixels other than the shadow. For example, the data of the table in FIG. 7A is registered in the measurement
[0040]
In the above description, an example in which one stripe is inverted for one grid pattern is shown, but the invention is not necessarily limited to one stripe. That is, it is also possible to invert a plurality of stripes at intervals exceeding the discontinuous portions of the stripes. Even in such a case, if the above-described processing is executed for each inverted stripe portion, the stripe wave number of each pixel can be automatically specified.
[0041]
[Embodiment 2]
Using the method of the first embodiment increases the processing time. In addition, although a method of inverting a plurality of stripes at the same time has been described a little, the processing time can be shortened. There are countless methods for simultaneously inverting a plurality of stripes that can specify the stripe wave number of an arbitrary pixel. The following describes the most efficient binary stripe inversion method that has a simple inversion rule and is easy to develop.
[0042]
Briefly, in the first stage, a pattern of the entire area “white” is projected as shown in FIG. 12A, and in the second stage, half of the entire area is set to “white” as shown in FIG. 12B. A grid pattern in which the other half is “black” is projected, and in the third stage, as shown in FIG. 12C, 1 / of the entire area is formed by “white”, “black”, “white”, and “black” stripes. The grid pattern to be divided is projected, and in the fourth stage, 8 of the entire area is “white”, “black”, “white”, “black”, “white”, “black”, “white” and “white” as shown in FIG. A grid pattern divided by "black" stripes is projected. In this manner, the processing of dividing the stripes of the lattice pattern of the previous stage into white stripes and black stripes to generate a lattice pattern is performed recursively. The division is repeated until the lattice pattern finally used in the first embodiment is obtained. In the case of a lattice pattern including M stripes, log 2 Measurement is performed on M stages. On the other hand, in the case of inverting one by one, M stages are required, and the measurement time can be reduced. This lattice pattern group has the same configuration as the binary tree. Although FIGS. 12A to 12D are described assuming a complete binary tree, the present invention is not necessarily limited to the complete binary tree.
[0043]
The processing will be described below with reference to FIGS. First, the number of stages n is initialized to 1 (step S61). Then, the
[0044]
On the other hand, the
[0045]
Then, the light / dark
[0046]
The table of FIG. 15 includes a row of pixel numbers, a row of determination results of light (“0”) or dark (“shading”) in the first stage, and a row of light or dark (hereinafter “1”) in the second stage. )), A row of the light or dark judgment result in the third stage, a row of the light or dark judgment result in the fourth stage,. . . . A row of a fringe wave number and a row of a fringe internal phase angle are provided, and a light / dark sequence (sequence of 01) from the second stage to the final stage, a fringe wave number, and a fringe internal phase angle are registered for each pixel. Is done.
[0047]
On the other hand, when the current stage is not the first stage, the fringe wave
[0048]
If it is determined that the illuminance value is equal to or smaller than the second threshold value, the light / dark
[0049]
Then, it is determined whether all pixels have been processed for the line specified in step S83 (step S103). If there is an unprocessed pixel, the process returns to step S85. If all pixels of a specific line have been processed, if there is a pixel determined to be an ambiguous pixel as a result of the processing of the current stage, the fringe wave
[0050]
By performing such processing, it is possible to determine whether each pixel belongs to a bright or dark stripe in the current stage.
[0051]
Returning to the processing of FIG. 13, when the determination of the brightness is completed in step S67, it is determined whether the current stage is the final stage (step S69). If it is not the final stage, n is incremented by 1 (step S71), and the process returns to step S63. On the other hand, if it is the final stage, the stripe wave number is determined from the light-dark sequence from the second stage to the final stage shown in FIG. 15 and registered in the table of FIG. 15 (step S73). For example, when a light / dark sequence “00000” is obtained for a certain pixel, the pixel belongs to the stripe with the stripe number “0”. Therefore, the fringe wave number is “0”. Further, when the light / dark sequence “00001” is obtained, the pixel belongs to the stripe having the stripe number “1”. Therefore, the fringe wave number is “0”. Further, when the light / dark sequence “00010” is obtained, the pixel belongs to the stripe with the stripe number “2”. Therefore, the fringe wave number is “1”. By performing such processing, the fringe wave number is determined.
[0052]
Then, in each line of the image of the lattice pattern of the final stage, a fringe wave section is set by a pixel whose fringe wave number is determined and whose illuminance value is maximum and minimum, and based on a position in the fringe wave section. The internal phase angle of the stripe is calculated and registered in, for example, the table of FIG. 15 (step S75). As described with reference to FIGS. 11A and 11B, the pixel having the maximum illuminance value indicates a
[0053]
In this way, data of the fringe wave number and the fringe internal phase angle can be obtained for pixels other than the shadow. For example, at least a part of the data in the table of FIG. 15 is registered in the measurement
[0054]
By performing the above-described processing, the stripe wave number and the stripe internal phase angle of each pixel can be specified more efficiently.
[0055]
Similar results can be obtained by the following processing. First, the photographing stage number n is initialized to 1 (FIG. 16: step S111). Then, the
[0056]
On the other hand, the
[0057]
The phase
[0058]
In the table of FIG. 18A, a row of a pixel number and a row of light and dark for registering whether each pixel of the image of the grid pattern serving as a reference of the final stage is “bright” or “dark”. , The row of the comparison result of the second stage, the row of the comparison result of the third stage, the row of the comparison result of the fourth stage,. . . . A row of the fringe wave number and a row of the fringe internal phase angle are provided, and for each pixel, the result of determining the brightness of the pixel, the code sequence for each stage, the fringe wave number, and the fringe internal phase angle correspond. It is attached. On the other hand, in the table of FIG. 18B, it is registered whether or not the brightness is inverted by comparing the row of the pixel number with the image of the grid pattern in the first stage and the image of the grid pattern serving as the reference in the final stage. A row for registering whether or not the brightness is reversed by comparing the image of the grid pattern in the second stage with the image of the grid pattern serving as a reference for the final stage, and a grid for the third stage. A row for registering whether or not the brightness is inverted by comparing the pattern image and the grid pattern image serving as the reference of the final stage; and a grid pattern image and a reference grid of the final stage in the fourth stage. A line for registering whether the contrast is inverted by comparing the pattern with the image, and. . . . And are included.
[0059]
Returning to the processing of FIG. 17, the fringe wave
[0060]
If a shadow exists in the image, “0” representing “bright” is registered here, but it is always “non-inverted”. Are treated as "shadow". Note that, in the present embodiment, the bright fringe at the left end is never inverted, so that the fringe cannot be used for measurement. If this part is also used, it is necessary to project a pattern of the entire area "dark" and compare it with an image of the pattern.
[0061]
If the absolute value of the difference calculated in step S135 exceeds the second threshold value and is less than the first threshold value, it is temporarily registered as an ambiguous pixel in, for example, the table of FIG. 18A (step S145).
[0062]
Then, it is determined whether or not the processing has been performed on all the pixels of the specific line (step S147). If there is an unprocessed pixel, the process returns to step S133. On the other hand, when processing is performed on all pixels on a specific line, a stripe section is set for pixels registered as ambiguous pixels based on the stripe section length of the final stage and the illuminance value of each pixel of the line currently being processed. Then, it is determined whether the ambiguous pixel belongs to a bright stripe or a dark stripe, and “0” and “non-inverted” are set for “bright”, and “1” and “1” are set for “dark”. "Reverse" is registered (step S149). Then, it is determined whether the processing has been completed for all the lines (step S151). If there is an unprocessed line, the process returns to step S131. On the other hand, when the processing has been performed for all the lines, the processing returns to the original processing.
[0063]
In this way, the determination of “bright” or “dark” and the determination of “inverted” or “non-inverted” for each pixel in the final stage are performed.
[0064]
Returning to the processing flow of FIG. 16, the light-dark
[0065]
First, the stage number n is set to n = 2 (step S161). Then, the light-dark
[0066]
On the other hand, when it is determined that the absolute value of the difference between the illuminance values of the pixel is not equal to or greater than the first predetermined value, the stripe wave
[0067]
On the other hand, if the absolute value of the difference between the illuminance values of the pixel is less than the first predetermined value and exceeds the second predetermined value, the light / dark
[0068]
If it is determined in step S179 that the absolute value of the calculation result in step S177 is smaller than the third threshold, the pixel is temporarily registered as an ambiguous pixel in, for example, the table of FIG. 18A (step S183). Then, it is determined whether or not processing has been performed for all pixels on the specific line (step S185). If there is an unprocessed pixel, the process returns to step S167. On the other hand, when processing is performed on all the pixels of a specific line, for the pixels registered as ambiguous pixels, the stripe section is determined based on the stripe section length of the n-th stage and the illuminance value of each pixel of the line currently being processed. It is determined whether the ambiguous pixel belongs to a bright stripe or a dark stripe, and “0” is set for “bright” and “0” is set for “dark” in the table of FIG. “1” is registered, and “reversal” or “non-reversal” is registered in the table of FIG. 18B based on the determination result and the brightness of the corresponding pixel in the final stage (step S187).
[0069]
Then, it is determined whether the processing has been completed for all the lines (step S189). If there is an unprocessed line, the process returns to step S165. On the other hand, when the processing has been performed for all the lines, the processing returns to the original processing.
[0070]
In this way, the determination of “bright” or “dark” and the determination of “inversion” or “non-inversion” are performed for each pixel of each stage.
[0071]
Returning to the processing flow of FIG. 16, the fringe wave
[0072]
Then, the fringe wave
[0073]
Then, in each line of the image of the lattice pattern of the final stage, a fringe wave section is set by a pixel whose fringe wave number is determined and whose illuminance value is maximum and minimum, and based on a position in the fringe wave section. The fringe internal phase angle is calculated and registered in, for example, the table of FIG. 18A (step S127). As described with reference to FIGS. 11A and 11B, the pixel having the maximum illuminance value indicates a
[0074]
In this way, data of the fringe wave number and the fringe internal phase angle can be obtained for pixels other than the shadow. For example, at least part of the data in the table of FIG. 18A is registered in the measurement
[0075]
By performing the above-described processing, the stripe wave number and the stripe internal phase angle of each pixel can be specified more efficiently.
[0076]
Although the embodiment of the present invention has been described above, the present invention is not limited to this. For example, the method of inverting the brightness of the stripe is not limited to the above-described embodiment, and another method may be used.
[0077]
Further, for example, the functional block diagram shown in FIG. 3 is an example, and the functional block diagram does not necessarily have to be the
[0078]
Further, in the processing flow described above, a processing flow in which processing is performed for each projection and imaging of a lattice pattern is shown, but processing may be performed after projection and imaging of all lattice patterns. The above-described processing flow is an example, and the same function can be realized for different processing steps.
[0079]
(Appendix 1)
A first image acquisition step of acquiring a first image of the measured object when projecting a first grid pattern composed of light and dark stripes on the measured object;
A second image obtaining step of obtaining a second image of the measured object when projecting a second grid pattern in which the brightness of a part of the first grid pattern is inverted on a measured object; When,
Identifying a pixel associated with a stripe whose brightness has been inverted based on the first and second images;
An image processing method in a grid pattern projection method including:
[0080]
(Appendix 2)
Identifying a fringe wave number of the inverted stripe corresponding to the identified pixel
2. The image processing method according to
[0081]
(Appendix 3)
For a predetermined pixel in the first or second image, calculating a fringe internal phase angle based on a position in a fringe wave section specified from the fringe wave number of the pixel;
3. The image processing method according to
[0082]
(Appendix 4)
In the second image acquiring step,
The second grid pattern is changed a plurality of times so that the brightness of all the stripes is inverted at least once, and a second image corresponding to each of the second grid patterns is obtained.
The image processing method according to
[0083]
(Appendix 5)
Identifying pixels related to shading based on a second image corresponding to all the second grid patterns and the first image;
5. The image processing method according to
[0084]
(Appendix 6)
The second image obtaining step includes:
Up to 2 based on the shooting stage number n (n is an integer of 1 or more) n Obtaining an image of each of the photographing stages for the measured object when a grid pattern including light and dark stripes of a book is projected on the measured object;
The image processing method according to
[0085]
(Appendix 7)
Assigning a first code for pixels associated with light stripes and a second code for pixels associated with dark stripes based on the first image;
Identifying a pixel associated with a stripe whose light and darkness has not been inverted based on the first and second images;
Assigning, for the pixel associated with the non-inverted stripe, the same code as the code assigned to the corresponding pixel of the first image;
Setting a code different from a code assigned to a corresponding pixel of the first image for a pixel associated with the inverted stripe;
Obtaining a code sequence of each pixel for the predetermined imaging stage;
2. The image processing method according to
[0086]
(Appendix 8)
Up to 2 based on the shooting stage number n (n is an integer of 1 or more) n In the case where a grid pattern including light and dark stripes of a book is projected on the measured object, a step of acquiring an image of each of the imaging stages for the measured object,
For a predetermined pixel of the image in each of the shooting stages, a determination step of determining whether to belong to a bright or dark stripe,
For the predetermined pixel, identifying a code sequence by a light-dark sequence or a code associated with light and a code associated with dark for the predetermined imaging stage,
An image processing method in a grid pattern projection method including:
[0087]
(Appendix 9)
Identifying a fringe wave number for the predetermined pixel based on the light / dark sequence or the code sequence
9. The image processing method according to claim 8, further comprising:
[0088]
(Appendix 10)
In the determining step,
Using an image at a specific shooting stage and an image before the specific shooting stage, it is determined whether a predetermined pixel of the image belongs to a light or dark stripe.
The image processing method according to claim 8, wherein
[0089]
(Appendix 11)
For a predetermined pixel of the image in the final stage, calculating a fringe internal phase angle based on the position in the fringe wave section identified from the fringe wave number of the pixel,
9. The image processing method according to claim 8, further comprising:
[0090]
(Appendix 12)
Means for projecting a first grid pattern composed of light and dark fringes and a second grid pattern obtained by inverting the brightness of some fringes of the first grid pattern onto an object to be measured;
Means for capturing a first image of the object to be measured with respect to the first grid pattern and a second image of the object to be measured with respect to the second grid pattern;
An image processing device,
Means for identifying a pixel associated with a stripe whose brightness has been inverted based on the first and second images;
Means for identifying a fringe wave number of the inverted stripe corresponding to the identified pixel,
An image processing device having
A measuring device having:
[0091]
(Appendix 13)
Means for projecting, onto an object to be measured, a first grid pattern composed of light and dark fringes, and a second grid pattern obtained by inverting the brightness of some fringes of the first grid pattern.
Means for acquiring a first image of the object to be measured with respect to the first grid pattern and a second image of the object to be measured with respect to the second grid pattern;
Means for identifying a pixel associated with a stripe whose brightness has been inverted based on the first and second images;
An image processing apparatus having:
[0092]
(Appendix 14)
A first image acquisition step of acquiring a first image of the measured object when projecting a first grid pattern composed of light and dark stripes on the measured object;
A second image obtaining step of obtaining a second image of the measured object when projecting a second grid pattern in which the brightness of a part of the first grid pattern is inverted on a measured object; When,
Identifying a pixel associated with a stripe whose brightness has been inverted based on the first and second images;
A program for causing a computer to execute.
[0093]
(Appendix 15)
Up to 2 based on the shooting stage number n (n is an integer of 1 or more) n Means for projecting a grid pattern including light and dark stripes of the book on the measured object,
Means for photographing an image of each photographing stage for the object to be measured,
An image processing device,
Means for determining whether a given pixel of the image in each of the imaging stages belongs to a bright or dark stripe,
Means for specifying a code sequence by a code associated with a light-dark sequence or light and dark for the predetermined imaging stage, for the predetermined pixel,
Means for identifying a fringe wave number based on the light / dark sequence or the code sequence for the predetermined pixel;
An image processing device having
A measuring device having:
[0094]
(Appendix 16)
Up to 2 based on the shooting stage number n (n is an integer of 1 or more) n Means for projecting a grid pattern including light and dark stripes of the book on the measured object,
Means for acquiring an image of each of the imaging stages for the measured object,
Means for determining whether a given pixel of the image in each of the imaging stages belongs to a bright or dark stripe,
Means for specifying a code sequence by a code associated with a light-dark sequence or light and dark for the predetermined imaging stage, for the predetermined pixel,
An image processing apparatus having:
[0095]
(Appendix 17)
Up to 2 based on the shooting stage number n (n is an integer of 1 or more) n In the case where a grid pattern including light and dark stripes of a book is projected on the measured object, a step of acquiring an image of each of the imaging stages for the measured object,
For a predetermined pixel of the image in each of the shooting stages, a determination step of determining whether to belong to a bright or dark stripe,
For the predetermined pixel, identifying a code sequence by a code associated with a light-dark sequence or light and dark for the predetermined shooting stage,
A program for causing a computer to execute.
[0096]
【The invention's effect】
As described above, according to the present invention, a fringe wave number can be automatically acquired even in a discontinuous portion of a fringe in a grid pattern projection method.
[0097]
As a result, it is possible to obtain an altitude measurement value even for a discontinuous portion of a stripe without manual intervention.
[Brief description of the drawings]
FIG. 1 is a diagram showing an outline of a measuring device in a conventional technique.
FIG. 2 is a diagram for explaining a discontinuous portion of a stripe.
FIG. 3 is a diagram showing a functional block diagram of a measuring device of the present invention.
FIG. 4 is a diagram for explaining shadows.
FIG. 5 is a diagram showing a processing flow according to the first embodiment of the present invention.
FIG. 6A shows a normal grid, and FIGS. 6B to 6D show grids obtained by inverting one stripe.
FIGS. 7A and 7B are diagrams illustrating an example of a data table used for processing.
FIG. 8 is a diagram illustrating a first example of a process flow of a process of specifying an inverted pixel;
FIG. 9 is a diagram illustrating a second example of the processing flow of the inversion pixel specifying process.
FIG. 10 is a diagram showing a processing flow of a specific processing of a stripe wave number + of an ambiguous pixel.
FIGS. 11A and 11B are diagrams schematically showing a method of specifying a fringe wave number + of an ambiguous pixel.
FIGS. 12A to 12D are diagrams illustrating examples of a grating of each stage according to the second embodiment of the present invention.
FIG. 13 is a diagram showing a main processing flow according to the second embodiment of the present invention.
FIG. 14 is a diagram showing a processing flow of light / dark determination processing.
FIG. 15 is a diagram showing an example of a data table used for processing.
FIG. 16 is a diagram showing a second main processing flow in the second embodiment of the present invention.
FIG. 17 is a diagram illustrating a processing flow of light / dark determination processing.
FIGS. 18A and 18B are diagrams showing an example of a data table used for processing.
FIG. 19 is a diagram depicting a processing flow of a comparison processing;
[Explanation of symbols]
1
4
11 Projection unit 12
41
51 Image acquisition unit
53 Light / dark
541 fringe wave
56
58
Claims (10)
前記第1の格子パターンの一部の縞の明暗を反転させた第2の格子パターンを被計測物体に投影した場合における、前記被計測物体についての第2の画像を取得する第2画像取得ステップと、
前記第1及び第2の画像に基づき、明暗を反転させた縞に関連する画素を特定するステップと、
を含む格子パターン投影法における画像処理方法。A first image acquisition step of acquiring a first image of the measured object when projecting a first grid pattern composed of light and dark stripes on the measured object;
A second image obtaining step of obtaining a second image of the measured object when projecting a second grid pattern in which the brightness of a part of the first grid pattern is inverted on a measured object; When,
Identifying a pixel associated with a stripe whose brightness has been inverted based on the first and second images;
An image processing method in a grid pattern projection method including:
をさらに含む請求項1記載の画像処理方法。2. The image processing method according to claim 1, further comprising a step of specifying a fringe wave number of the inverted stripe corresponding to the specified pixel.
をさらに含む請求項2記載の画像処理方法。For a predetermined pixel in the first or second image, calculating a fringe internal phase angle based on a position in a fringe wave section specified from the fringe wave number of the pixel;
The image processing method according to claim 2, further comprising:
全ての縞の明暗を少なくとも一度は反転するように前記第2の格子パターンを複数回変更し、各前記第2の格子パターンに対応する第2の画像を取得する
ことを特徴とする請求項1記載の画像処理方法。In the second image acquiring step,
2. The method according to claim 1, wherein the second grid pattern is changed a plurality of times so that the brightness of all the stripes is inverted at least once, and a second image corresponding to each of the second grid patterns is obtained. The image processing method described in the above.
撮影ステージ番号n(nは1以上の整数)に基づき最大2n本の明と暗の縞を含む格子パターンを被計測物体に投影した場合における、前記被計測物体についての各前記撮影ステージの画像を取得するステップ
を含む請求項1記載の画像処理方法。The second image obtaining step includes:
An image of each of the imaging stages for the measured object when a maximum of 2n grid patterns including bright and dark stripes are projected on the measured object based on the imaging stage number n (n is an integer of 1 or more) 2. The image processing method according to claim 1, further comprising the step of:
前記第1及び第2の画像に基づき、明暗が反転していない縞に関連する画素を特定するステップと、
前記反転していない縞に関連する画素については、前記第1の画像の対応する画素に割り当てられたコードと同じコードを割り当てるステップと、
前記反転させた縞に関連する画素については前記第1の画像の対応する画素に割り当てられたコードとは異なるコードを設定するステップと、
所定の前記撮影ステージについての各画素のコード系列を取得するステップと、
をさらに含む請求項1記載の画像処理方法。Assigning a first code for pixels associated with light stripes and a second code for pixels associated with dark stripes based on the first image;
Identifying a pixel associated with a stripe whose light and darkness has not been inverted based on the first and second images;
Assigning, for the pixel associated with the non-inverted stripe, the same code as the code assigned to the corresponding pixel of the first image;
Setting a code different from a code assigned to a corresponding pixel of the first image for a pixel associated with the inverted stripe;
Obtaining a code sequence of each pixel for the predetermined imaging stage;
The image processing method according to claim 1, further comprising:
各前記撮影ステージにおける画像の所定の画素について、明又は暗の縞のいずれに属するか判断する判断ステップと、
前記所定の画素について、第1ステージから最終ステージまでの明暗シーケンス又は明に対応付けられたコードと暗に対応付けられたコードとによるコード・シーケンスを特定するステップと、
を含む格子パターン投影法における画像処理方法。An image of each of the imaging stages for the measured object when a maximum of 2n grid patterns including bright and dark stripes are projected on the measured object based on the imaging stage number n (n is an integer of 1 or more) Obtaining the
For a predetermined pixel of the image in each of the shooting stages, a determination step of determining whether to belong to a bright or dark stripe,
For the predetermined pixel, identifying a light / dark sequence from a first stage to a final stage or a code sequence by a code associated with light and a code associated with dark;
An image processing method in a grid pattern projection method including:
前記第1の格子パターンに対する、前記被計測物体についての第1の画像と、前記第2の格子パターンに対する、前記被計測物体についての第2の画像とを撮影する手段と、
画像処理装置であって、
前記第1及び第2の画像に基づき、明暗を反転させた縞に関連する画素を特定する手段と、
特定された前記画素に対応して前記反転させた縞の縞波番号を特定する手段と、
を有する画像処理装置と、
を有する計測装置。Means for projecting a first grid pattern composed of light and dark fringes and a second grid pattern obtained by inverting the brightness of some fringes of the first grid pattern onto an object to be measured;
Means for capturing a first image of the object to be measured with respect to the first grid pattern and a second image of the object to be measured with respect to the second grid pattern;
An image processing device,
Means for identifying a pixel associated with a stripe whose brightness has been inverted based on the first and second images;
Means for identifying a fringe wave number of the inverted stripe corresponding to the identified pixel,
An image processing device having
A measuring device having:
前記第1の格子パターンの一部の縞の明暗を反転させた第2の格子パターンを被計測物体に投影した場合における、前記被計測物体についての第2の画像を取得する第2画像取得ステップと、
前記第1及び第2の画像に基づき、明暗を反転させた縞に関連する画素を特定するステップと、
をコンピュータに実行させるためのプログラム。A first image acquisition step of acquiring a first image of the measured object when projecting a first grid pattern composed of light and dark stripes on the measured object;
A second image obtaining step of obtaining a second image of the measured object when projecting a second grid pattern in which the brightness of a part of the first grid pattern is inverted on a measured object; When,
Identifying a pixel associated with a stripe whose brightness has been inverted based on the first and second images;
A program for causing a computer to execute.
前記被計測物体についての各前記撮影ステージの画像を取得する手段と、
各前記撮影ステージにおける画像の所定の画素について、明又は暗の縞のいずれに属するか判断する手段と、
前記所定の画素について、所定の前記撮影ステージについての明暗シーケンス又は明と暗とに対応付けられたコードによるコード・シーケンスを特定する手段と、
を有する画像処理装置。Means for projecting a grid pattern including a maximum of 2 n light and dark stripes on the object to be measured based on a shooting stage number n (n is an integer of 1 or more);
Means for acquiring an image of each of the imaging stages for the measured object,
Means for determining whether a given pixel of the image in each of the imaging stages belongs to a bright or dark stripe,
Means for specifying a code sequence by a code associated with a light-dark sequence or light and dark for the predetermined imaging stage, for the predetermined pixel,
An image processing apparatus having:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003116607A JP2004325096A (en) | 2003-04-22 | 2003-04-22 | Image processing method in lattice pattern projective method, image processor and measurement device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003116607A JP2004325096A (en) | 2003-04-22 | 2003-04-22 | Image processing method in lattice pattern projective method, image processor and measurement device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004325096A true JP2004325096A (en) | 2004-11-18 |
Family
ID=33496759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003116607A Pending JP2004325096A (en) | 2003-04-22 | 2003-04-22 | Image processing method in lattice pattern projective method, image processor and measurement device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004325096A (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006177781A (en) * | 2004-12-22 | 2006-07-06 | Matsushita Electric Works Ltd | Three-dimensional shape measurement method, three-dimensional measurement apparatus, and three-dimensional measurement program |
JP2006266801A (en) * | 2005-03-23 | 2006-10-05 | Mitsui Eng & Shipbuild Co Ltd | Collision-preventing device and vehicle with it |
JP2006267022A (en) * | 2005-03-25 | 2006-10-05 | Kurabo Ind Ltd | Defect inspection device and method |
JP2008096439A (en) * | 2006-10-11 | 2008-04-24 | Steinbichler Optotechnik Gmbh | Method and device for determining three-dimensional coordinates of object |
JP2008145139A (en) * | 2006-12-06 | 2008-06-26 | Mitsubishi Electric Corp | Shape measuring device |
CN101571631B (en) * | 2008-04-28 | 2011-10-12 | 比亚迪股份有限公司 | Liquid crystal display module and liquid crystal display panel |
WO2013180394A1 (en) * | 2012-05-30 | 2013-12-05 | 주식회사 미르기술 | Moiré visual inspection device using uniform grating |
CN103954239A (en) * | 2014-05-08 | 2014-07-30 | 青岛三友智控科技有限公司 | Three-dimensional measurement system and method |
CN106257995A (en) * | 2016-07-25 | 2016-12-28 | 深圳大学 | A kind of light field three-D imaging method and system thereof |
CN108139206A (en) * | 2015-12-24 | 2018-06-08 | Ckd株式会社 | Three-dimensional measuring apparatus |
CN109501667A (en) * | 2017-09-14 | 2019-03-22 | 株式会社斯巴鲁 | The road surface decision maker of vehicle |
JP2023500820A (en) * | 2019-10-24 | 2023-01-11 | 先臨三維科技股▲ふん▼有限公司 | Three-dimensional scanner and three-dimensional scanning method |
-
2003
- 2003-04-22 JP JP2003116607A patent/JP2004325096A/en active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006177781A (en) * | 2004-12-22 | 2006-07-06 | Matsushita Electric Works Ltd | Three-dimensional shape measurement method, three-dimensional measurement apparatus, and three-dimensional measurement program |
JP4670341B2 (en) * | 2004-12-22 | 2011-04-13 | パナソニック電工株式会社 | Three-dimensional shape measurement method, three-dimensional shape measurement device, and three-dimensional shape measurement program |
JP2006266801A (en) * | 2005-03-23 | 2006-10-05 | Mitsui Eng & Shipbuild Co Ltd | Collision-preventing device and vehicle with it |
JP2006267022A (en) * | 2005-03-25 | 2006-10-05 | Kurabo Ind Ltd | Defect inspection device and method |
JP4613086B2 (en) * | 2005-03-25 | 2011-01-12 | 倉敷紡績株式会社 | Defect inspection equipment |
JP2008096439A (en) * | 2006-10-11 | 2008-04-24 | Steinbichler Optotechnik Gmbh | Method and device for determining three-dimensional coordinates of object |
JP2008145139A (en) * | 2006-12-06 | 2008-06-26 | Mitsubishi Electric Corp | Shape measuring device |
CN101571631B (en) * | 2008-04-28 | 2011-10-12 | 比亚迪股份有限公司 | Liquid crystal display module and liquid crystal display panel |
WO2013180394A1 (en) * | 2012-05-30 | 2013-12-05 | 주식회사 미르기술 | Moiré visual inspection device using uniform grating |
KR101405427B1 (en) * | 2012-05-30 | 2014-06-17 | 주식회사 미르기술 | Multi moire vision inspection apparatus using one period grid |
CN103954239A (en) * | 2014-05-08 | 2014-07-30 | 青岛三友智控科技有限公司 | Three-dimensional measurement system and method |
CN108139206A (en) * | 2015-12-24 | 2018-06-08 | Ckd株式会社 | Three-dimensional measuring apparatus |
CN108139206B (en) * | 2015-12-24 | 2020-01-24 | Ckd株式会社 | Three-dimensional measuring device |
CN106257995A (en) * | 2016-07-25 | 2016-12-28 | 深圳大学 | A kind of light field three-D imaging method and system thereof |
WO2018018363A1 (en) * | 2016-07-25 | 2018-02-01 | 深圳大学 | Structured light field three-dimensional imaging method and system therefor |
CN106257995B (en) * | 2016-07-25 | 2019-06-07 | 深圳大学 | A kind of light field three-D imaging method and its system |
CN109501667A (en) * | 2017-09-14 | 2019-03-22 | 株式会社斯巴鲁 | The road surface decision maker of vehicle |
JP2023500820A (en) * | 2019-10-24 | 2023-01-11 | 先臨三維科技股▲ふん▼有限公司 | Three-dimensional scanner and three-dimensional scanning method |
JP7298025B2 (en) | 2019-10-24 | 2023-06-26 | 先臨三維科技股▲ふん▼有限公司 | Three-dimensional scanner and three-dimensional scanning method |
US12007224B2 (en) | 2019-10-24 | 2024-06-11 | Shining 3D Tech Co., Ltd. | Three-dimensional scanner and three-dimensional scanning method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101601331B1 (en) | System and method for three-dimensional measurment of the shape of material object | |
KR101733228B1 (en) | Apparatus for three dimensional scanning with structured light | |
Sagawa et al. | Dense 3D reconstruction method using a single pattern for fast moving object | |
CN113205593B (en) | High-light-reflection surface structure light field three-dimensional reconstruction method based on point cloud self-adaptive restoration | |
JP5576726B2 (en) | Three-dimensional measuring apparatus, three-dimensional measuring method, and program | |
CN104677308B (en) | A kind of 3-D scanning method of high frequency two-value striped | |
Xu et al. | Rapid 3D surface profile measurement of industrial parts using two-level structured light patterns | |
CN206583415U (en) | Determine the system, surface analysis equipment and system of the uniformity of reflecting surface | |
CN111951376B (en) | Three-dimensional object reconstruction method fusing structural light and photometry and terminal equipment | |
US20130127998A1 (en) | Measurement apparatus, information processing apparatus, information processing method, and storage medium | |
Zhang et al. | A robust surface coding method for optically challenging objects using structured light | |
JP2004325096A (en) | Image processing method in lattice pattern projective method, image processor and measurement device | |
JP2009264862A (en) | Three-dimensional shape measuring method and device | |
JP2014115109A (en) | Device and method for measuring distance | |
CN208887565U (en) | A kind of three-dimension measuring system of non-contact type high-precision | |
Vilaca et al. | Calibration procedure for 3D measurement systems using two cameras and a laser line | |
JP2004264249A (en) | Image processing method in grid pattern projection method, measuring device and image processing device | |
CN115701871A (en) | Point cloud fusion method and device, three-dimensional scanning equipment and storage medium | |
CN112530020B (en) | Reconstruction method and device of three-dimensional data, processor and electronic device | |
CN112014408B (en) | Detection method for reconstructing pcb based on structured light principle | |
CN116824049A (en) | Three-dimensional reconstruction method, system, equipment and medium for high-reflectivity object surface | |
Xu et al. | Realtime 3D profile measurement by using the composite pattern based on the binary stripe pattern | |
JP2004077290A (en) | Apparatus and method for measuring three-dimensional shape | |
Da et al. | Phase unwrapping using interlaced fringes for phase-shifting techniques | |
KR20190103833A (en) | Method for measuring 3-dimensional data in real-time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090327 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090825 |