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 PDF

Info

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
Application number
JP2003116607A
Other languages
Japanese (ja)
Inventor
Tatsuhiko Suzuki
建彦 鈴木
Takashi Miyoshi
隆志 三好
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003116607A priority Critical patent/JP2004325096A/en
Publication of JP2004325096A publication Critical patent/JP2004325096A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To automatically acquire a fringe wave number even for a discontinuous portion of a fringe in a lattice pattern projective method. <P>SOLUTION: This image processing method includes steps for: acquiring a first image of a measured object when projecting a first lattice pattern comprising fringes of light and shade onto the measured object; acquiring a second image of the measured object when projecting a second lattice pattern obtained by reversing the light and shade of the fringes of a part of the first lattice onto the measured object; and specifying a pixel related to the fringe obtained by reversing the light and shade on the basis of the first and second images. Because the light and shade of the specific fringe is intentionally reversed, the fringe wave number of the reversed fringe is self-evident, and the fringe of the pixel is determined when the pixel related to the reversed fringe is specified from a difference between the first image and the second image. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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を基準平面上に設置した場合の波の位相Φ(=Φ)又は基準平面についての波の位相Φと被計測物体1004を基準平面上に設置した場合の波の位相Φとの差分ΔΦ(=Φ−Φ)を用いて解析する。これにより格子パターン投影法は別名「変調格子位相法」とも呼ばれる。ここで波の位相の差分ΔΦを使用するのは、計測における系統誤差が引き算によって消滅するので、精度が向上するためである。この方法では、縞波(明の縞と暗の縞のペア)番号は相対的であれば任意に設定することができる。
【0007】
詳しい計算式は非特許文献1に開示されているのでここでは詳細な説明は省略するが、図1に示すようにΔΦを求めるためにΦは、格子1001とレンズ1002の間の距離、撮影部1005の光軸と投影部1000の光軸との交点とレンズ1002との距離、格子間隔、撮影部1005の光軸と投影部1000の光軸の角度などの光学的な幾何位置関係から計算にて求める。一方、(Φ=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以上の整数)に基づき最大2本の明と暗の縞を含む格子パターンを被計測物体に投影した場合における、当該被計測物体についての各撮影ステージの画像を取得するステップを含むようにしてもよい。
【0020】
また、本発明の第1の態様において、第1の画像に基づき、明の縞に関連する画素については第1のコードを暗の縞に関連する画素については第2のコードを割り当てるステップと、第1及び第2の画像に基づき、明暗が反転していない縞に関連する画素を特定するステップと、反転していない縞に関連する画素については、第1の画像の対応する画素に割り当てられたコードと同じコードを割り当てるステップと、反転させた縞に関連する画素については第1の画像の対応する画素に割り当てられたコードとは異なるコードを設定するステップと、所定の撮影ステージについての各画素のコード系列から縞波番号を特定するステップとをさらに含むようにしてもよい。
【0021】
本発明の第2の態様に係る、格子パターン投影法における画像処理方法は、撮影ステージ番号n(nは1以上の整数)に基づき最大2本の明と暗の縞を含む格子パターンを被計測物体に投影した場合における、当該被計測物体についての各撮影ステージの画像を取得するステップと、各撮影ステージにおける画像の所定の画素について、明又は暗の縞のいずれに属するか判断する判断ステップと、所定の画素について、所定の撮影ステージについての明暗シーケンス又は明に対応付けられたコードと暗に対応付けられたコードとによるコード・シーケンスを特定するステップとを含む。
【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本の縞を含む格子パターンの場合には、logM回のステージで計測が行われる。一方、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以上の整数)に基づき最大2本の明と暗の縞を含む格子パターンを被計測物体に投影した場合における、前記被計測物体についての各前記撮影ステージの画像を取得するステップ
を含む付記1記載の画像処理方法。
【0085】
(付記7)
前記第1の画像に基づき、明の縞に関連する画素については第1のコードを暗の縞に関連する画素については第2のコードを割り当てるステップと、
前記第1及び第2の画像に基づき、明暗が反転していない縞に関連する画素を特定するステップと、
前記反転していない縞に関連する画素については、前記第1の画像の対応する画素に割り当てられたコードと同じコードを割り当てるステップと、
前記反転させた縞に関連する画素については前記第1の画像の対応する画素に割り当てられたコードとは異なるコードを設定するステップと、
所定の前記撮影ステージについての各画素のコード系列を取得するステップと、
をさらに含む付記1記載の画像処理方法。
【0086】
(付記8)
撮影ステージ番号n(nは1以上の整数)に基づき最大2本の明と暗の縞を含む格子パターンを被計測物体に投影した場合における、前記被計測物体についての各前記撮影ステージの画像を取得するステップと、
各前記撮影ステージにおける画像の所定の画素について、明又は暗の縞のいずれに属するか判断する判断ステップと、
前記所定の画素について、所定の前記撮影ステージについての明暗シーケンス又は明に対応付けられたコードと暗に対応付けられたコードとによるコード・シーケンスを特定するステップと、
を含む格子パターン投影法における画像処理方法。
【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以上の整数)に基づき最大2本の明と暗の縞を含む格子パターンを被計測物体に投影する手段と、
前記被計測物体についての各前記撮影ステージの画像を撮影する手段と、
画像処理装置であって、
各前記撮影ステージにおける画像の所定の画素について、明又は暗の縞のいずれに属するか判断する手段と、
前記所定の画素について、所定の前記撮影ステージについての明暗シーケンス又は明と暗とに対応付けられたコードによるコード・シーケンスを特定する手段と、
前記所定の画素について、前記明暗シーケンス又は前記コード・シーケンスに基づき縞波番号を特定する手段と、
を有する画像処理装置と、
を有する計測装置。
【0094】
(付記16)
撮影ステージ番号n(nは1以上の整数)に基づき最大2本の明と暗の縞を含む格子パターンを被計測物体に投影させる手段と、
前記被計測物体についての各前記撮影ステージの画像を取得する手段と、
各前記撮影ステージにおける画像の所定の画素について、明又は暗の縞のいずれに属するか判断する手段と、
前記所定の画素について、所定の前記撮影ステージについての明暗シーケンス又は明と暗とに対応付けられたコードによるコード・シーケンスを特定する手段と、
を有する画像処理装置。
【0095】
(付記17)
撮影ステージ番号n(nは1以上の整数)に基づき最大2本の明と暗の縞を含む格子パターンを被計測物体に投影した場合における、前記被計測物体についての各前記撮影ステージの画像を取得するステップと、
各前記撮影ステージにおける画像の所定の画素について、明又は暗の縞のいずれに属するか判断する判断ステップと、
前記所定の画素について、所定の前記撮影ステージについての明暗シーケンス又は明と暗とに対応付けられたコードによるコード・シーケンスを特定するステップと、
をコンピュータに実行させるためのプログラム。
【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 projection unit 1000, a projection system including a projector lens 1002 and a grid 1001, and an imaging unit that captures a deformed grid pattern 1003 projected on a measured object 1004 via a lens 1006. 1005 including two imaging systems. The projection unit 1000 projects a striped grid formed by the grid 1001 onto the measured object 1004 via the lens 1002. The grid pattern generated by the projection is deformed by the unevenness of the measured object. The image capturing unit 1005 captures the deformed grid pattern 1003 from an angle different from the projection direction, converts the image into an electric signal via a light receiving element such as a CCD (Charge Coupled Device), and stores the signal in a storage device. By analyzing this, the three-dimensional shape of the measured object 1004 is measured. Each light receiving element outputs an electric signal such as a voltage corresponding to the illuminance (luminance) at that point. The grating 1001 was previously formed on a glass surface or the like and was fixed. However, recently, a grating made of liquid crystal or the like has been put into practical use, and a computer can turn on or off a striped grating embodied in a liquid crystal device at high speed. Control.
[0006]
Normally, a reference plane orthogonal to the optical axis of the projection unit 1000 is set, and two axes of the stripe direction Y and the stripe orthogonal direction X are set thereon. For details, see Non-Patent Document 1 (H. Lu et al., "Automatic Measurement of 3-D Object Shapes Based on Computer-Generated Reference Surface," Bull. Japan Soc., No. 21, Sec. p251 (1987)), in this method, the grid pattern is expressed as a wave of illuminance I with respect to a position on an axis X orthogonal to the stripe, and the measured object 1004 is set on a reference plane. Phase of the wave Φ (= Φ 2 ) Or the phase Φ of the wave about the reference plane 1 And the phase Φ of the wave when the measured object 1004 is set on the reference plane 2 And the difference ΔΦ (= Φ 2 −Φ 1 Analyze using). Thus, the grating pattern projection method is also called “modulation grating phase method”. The reason for using the phase difference ΔΦ of the wave here is to improve the accuracy because the systematic error in the measurement disappears by subtraction. In this method, the fringe wave (pair of bright fringes and dark fringes) numbers can be arbitrarily set as long as they are relative.
[0007]
Since a detailed calculation formula is disclosed in Non-Patent Document 1, detailed description is omitted here. However, as shown in FIG. 1 Is the distance between the grating 1001 and the lens 1002, the distance between the intersection of the optical axis of the imaging unit 1005 and the optical axis of the projection unit 1000 and the lens 1002, the grid interval, the optical axis of the imaging unit 1005 and the light of the projection unit 1000. It is obtained by calculation from the optical geometrical positional relationship such as the angle of the axis. On the other hand, (Φ 2 = 2π × fringe wave number + fringe internal phase angle), which is obtained by measurement. As described below, it is particularly important to specify the fringe wave number.
[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 Document 1 described above), a method of setting the point at the median of the section from the valley to the peak to 0 in the fringe wave phase angle, etc. Exists. Regardless of which method is used, the fringe wave number changes at the point where the fringe internal phase angle is 0, and one fringe wave is classified there.
[0009]
As described above, since the projected grating pattern 1003 is recognized as a wave of illuminance I, its phase Φ is expressed as 2π × striped wave number + striped internal phase angle. Therefore, in the grid pattern projection method or the like, three-dimensional measurement cannot be performed unless the fringe wave number is known. When the fringe wave is continuous, the fringe wave number increases or decreases by one along the X axis, so that the phase difference ΔΦ can be easily calculated. However, as shown in FIG. 2, the stripes may be discontinuous. FIG. 2 shows a scene in which a spherical object is arranged on a reference plane. In a normal order, a dark stripe is generated at a portion where a light stripe should appear, and three dark stripes are continuously formed. , The discontinuities of the stripes are clarified. That is, the line 1100 on the plane and the line 1101 on the sphere are the same line, but the position of the line 1100 on the reference plane and the position of the line 1101 on the sphere are far apart and discontinuous. . When the fringes are discontinuous in this way, the continuity of the fringe wave numbers as described above cannot be used, so that it is not easy to calculate the phase difference. In addition, if the fringe wave number is incorrectly recognized, a measurement error occurs.
[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 Non-Patent Document 3 described below. Have been done, but none can be said to be successful. In addition, a method using a color fringe grating is known (Patent Document 1 and Non-Patent Document 2). Theoretically, if the number of colors is increased, it becomes easier to determine which stripe wave number the stripe is, even if the stripes are discontinuous. However, the method using color has a problem that it is not easy to remove the chromatic aberration of the lens, and the lens becomes expensive if the chromatic aberration is removed. Further, there is a problem that the types of colors that can be used are easily affected by the color of the object and are limited, so that it is not possible to cope with a high degree of discontinuity of stripes.
[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," Applied Optics Vol 41, No. 5, pp. 1-64. 35, p. 7422, Dec, 2002
[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 image processing apparatus 5 which is a computer and the projection unit 11 such as a lamp connected to the image processing apparatus 5 and forming a grid are formed. A liquid crystal projector 1 having a liquid crystal panel 12 and a lens 13 as described above, and a lens 4, a CCD 42, and a camera 4 having a memory (not shown) constitute a measuring device. Note that the measured object 3 is arranged on the reference plane 2, and a grid pattern is projected from the liquid crystal projector 1. On the reference plane 2, the X-axis is the direction perpendicular to the stripe, the Y-axis is the direction of the stripe, and the optical axis of the camera 4 is provided in the Z-axis direction.
[0025]
The image processing device 5 includes a projection control unit 56, an image acquisition unit 51, a light / dark reversal determination unit 53, a phase angle calculation unit 54, an altitude calculation unit 55, and a grid for storing images captured by the camera 4. A pattern storage unit 57 and a measurement data storage unit 59 for storing calculation results of the phase angle calculation unit 54 and the altitude calculation unit 55 are included. Further, the image processing device 5 secures a work memory area 58 in, for example, a main memory. The projection control unit 56 controls the liquid crystal panel 12 of the liquid crystal projector 1 to project a predetermined lattice pattern. The image acquisition unit 51 reads from the camera 4 an image of the measured object 3 onto which the predetermined grid pattern has been projected, captured by the CCD 42 of the camera 4. Each pixel of the image is represented by RGB, but is processed by an illuminance value (brightness value) in the present embodiment. The light / dark reversal determination unit 53 generates light / dark reversal determination data based on the illuminance values of the two images acquired by the image acquisition unit 51. The phase angle calculation unit 54 includes a stripe wave number determination unit 541 that determines the stripe wave number of each pixel by processing the light-dark inversion determination data generated by the light-dark inversion determination unit 53. By calculating the phase angle, the phase angle of each pixel is calculated by (2π × the fringe wave number + the fringe internal phase angle). The altitude calculation unit 55 calculates the altitude of the measured object 3 from the reference plane 2 from the phase angle calculated for each pixel, as described in Non-Patent Document 1 described above. The processing contents of the altitude calculation unit 55 are not the main part of the present invention, but are described in detail in Non-Patent Document 1 and the like, and will not be described hereafter.
[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 object 3 from the reference plane 2 cannot be measured for a pixel determined to be “dark” using any of the inverted grid patterns, and thus can be determined to be “shadow”.
[0027]
Hereinafter, the processing of the measuring device according to the present embodiment will be described with reference to FIGS. First, the projection control unit 56 instructs the liquid crystal projector 1 to project a normal lattice pattern, and the liquid crystal panel 12 of the liquid crystal projector 1 forms a normal lattice according to the instruction and projects it on the measured object 3. (Step S1). In the present embodiment, a grating as shown in FIG. That is, it is a grid in which light stripes and dark stripes are repeatedly arranged at predetermined intervals.
[0028]
On the other hand, the camera 4 captures an image of the grid pattern of the measured object 3 on which the above-described grid pattern is projected by the CCD 42 via the lens 41, and stores the image in a memory built in the camera 4 (step S3). ). In the image of the lattice pattern, it is assumed that stripes are arranged in the horizontal direction as shown in FIG. Then, the image acquisition unit 51 of the image processing device 5 reads the captured image of the lattice pattern from the camera 4 and stores the image in the lattice pattern image storage unit 57 of the image processing device 5. In addition, a table as shown in FIG. 7A is registered in the work memory area 58, for example. FIG. 7A is a management table related to the current measurement, and includes a row of pixel numbers, a row of illuminance values (illuminance values of an image for a normal grid pattern), a row of fringe wave numbers +, A row of the fringe internal phase angle is provided, and a reference illuminance value, a fringe wave number +, and a fringe internal phase angle are recorded for each pixel. Here, the fringe wave number + is registered in the form of a fringe wave number such as “1-1” and 1 (dark) or 2 (bright). In addition, the stripe internal phase difference is, for example, “1”, which means “1” π. In step S3, the illuminance value of each pixel is registered. Further, the number n of the stripe to be inverted is initialized to 1 (step S5).
[0029]
Next, the projection control unit 56 instructs the liquid crystal projector 1 to project a grid pattern in which the n-th stripe is inverted, and the liquid crystal panel 12 of the liquid crystal projector 1 instructs the liquid crystal projector 1 to invert the grid in which the n-th stripe is inverted. And project it on the measured object 3 (step S7). Here, since n = 1, a lattice as shown in FIG. 6B is used. That is, it is a lattice in which dark stripes of n = 1 are inverted to light stripes. Hereinafter, in the case of n = 2, a grid in which the second bright stripe is inverted to the dark stripe as shown in FIG. 6C is used, and in the case of n = 3, FIG. A grid is used in which the third dark stripe is inverted to a light stripe as shown.
[0030]
On the other hand, the camera 4 captures an image of the grid pattern of the measured object 3 on which the above-mentioned grid pattern is projected by the CCD 42 via the lens 41, and stores the image in a memory built in the camera 4 (step S9). ). It is assumed that stripes are arranged in the horizontal direction also in the image of the lattice pattern as shown in FIG. Then, the image acquisition unit 51 of the image processing device 5 reads the captured image of the lattice pattern from the camera 4 and stores the image in the lattice pattern image storage unit 57 of the image processing device 5. Further, a table as shown in FIG. 7B is registered in the work memory area 58, for example. FIG. 7B is a table for one inverted grid pattern, which is a row of pixel numbers, a row of illuminance values (illuminance values of the image for the current inverted grid pattern), and an image of a normal grid pattern. Are provided with a row of the difference (absolute value) between the illuminance value of the image and the illuminance value of the image of the inverted grid pattern of this time, a row of the determination result of inversion or non-inversion, and a row of the fringe wave number +. The absolute value of the difference between the illuminance value to be compared with the reference illuminance value for the pixel, the determination result of inversion or non-inversion, and the striped wave number + of the pixel determined to have been inverted are registered. ing. In step S9, the illuminance value of each pixel is registered.
[0031]
Then, the light / dark inversion determination unit 53 and the phase angle calculation unit 54 perform a process of specifying an inversion pixel (step S11). The process of specifying the inverted pixel will be described with reference to FIG. The light-dark reversal determination unit 53 calculates the absolute value of the difference in illuminance between the image of the normal grid pattern and the image of the grid pattern obtained by inverting the brightness of the n-th stripe this time, and stores the calculated absolute value in, for example, the work memory area 58. (Step S31). The absolute value of the difference between the illuminance values is registered, for example, in the table of FIG. Then, the stripe wave number determination unit 541 of the phase angle calculation unit 54 determines that the pixel whose absolute value of the illuminance difference is equal to or more than a predetermined value is an inverted pixel, calculates a stripe wave number + from n, and outputs data indicating “inversion”. And the fringe wave number + are registered in, for example, the tables of FIGS. 7A and 7B (step S33). As described above, the fringe wave number is a number for a set of light and dark fringes, and the fringe wave number + is a fringe wave number with a bright or dark identifier. For example, when the stripe number is n, the integer part of n / 2 becomes the stripe wave number. For example, if there is no remainder, a bright identifier is given, and if there is a remainder, a dark identifier is given. Then, it is determined that a pixel whose absolute value of the difference between the illuminance values is less than a predetermined reference value is not a pixel related to the inverted stripe, and data representing “non-inverted” is, for example, shown in FIG. Register in the table (step S35). Therefore, in FIG. 7B, data indicating “ambiguity” is not registered.
[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 reversal determination unit 53 calculates the absolute value of the difference between the illuminance values of the image of the normal grid pattern and the image of the grid pattern obtained by inverting the brightness of the n-th stripe this time, and stores the calculated absolute value in, for example, the work memory area 58. (Step S41). The absolute value of the difference between the illuminance values is registered, for example, in the table of FIG. Then, the fringe wave number determining unit 541 of the phase angle calculating unit 54 determines that the pixel whose absolute value of the difference in illuminance value is equal to or more than the first predetermined value is an inverted pixel, calculates the fringe wave number + from n, Data indicating “inversion” and the stripe wave number + are registered in, for example, the tables of FIGS. 7A and 7B (step S43). The fringe wave number + is specified by the calculation as described above. Further, a pixel whose absolute value of the difference between the illuminance values is smaller than the second predetermined value is determined as a non-inverted pixel, and data representing “non-inverted” is registered in, for example, the table of FIG. 7B (step S44). ). The fringe wave number determination unit 541 of the phase angle calculation unit 54 determines that a pixel whose absolute value of the difference between the illuminance values is equal to or larger than the second predetermined value and smaller than the first predetermined value is an “ambiguous” pixel. Is determined, and data representing “ambiguity” is registered, for example, in the table of FIG. 7B corresponding to the pixel (step S45).
[0033]
Returning to FIG. 5, the fringe wave number determining unit 541 of the phase angle calculating unit 54 performs a process of specifying the fringe wave number + of the vague pixel (step S13). When the processing as shown in FIG. 7 is performed, there is no “ambiguous” pixel, so this step is skipped. The process of specifying the stripe wave number + of the ambiguous pixel will be described with reference to FIGS. 10 and 11A and 11B.
[0034]
The fringe wave number determination unit 541 scans FIG. 7B from an image of a normal lattice pattern and, as described in Non-Patent Document 3, scans FIG. A line is extracted (step S51). Then, FIG. 7B is scanned from the extracted lines of the image of the normal lattice pattern to extract the pixels determined to be ambiguous pixels and the pixels determined to be inverted pixels in the same line (step S53). Then, if the pixel having the highest illuminance value among the extracted pixels is an ambiguous pixel, the inverted pixel having the lowest illuminance value is determined if the pixel having the lowest illuminance value is an ambiguous pixel. Sets a fringe section based on the inverted pixel having the highest illuminance value (step S55).
[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 inversion pixel 1201 is specified, and a stripe wave section is set based on the inversion pixel 1201. The fringe wave section has the width of the light fringe and the dark fringe, and the inverted pixel 1201 having the highest illuminance value is located at a position 1 / (π in phase angle) of the fringe wave section. , And set the fringe section according to the position. On the other hand, FIG. 11B shows a case where dark stripes are inverted, and a pixel having a low illuminance value is determined to be an inverted pixel. The pixels determined to be non-inverted pixels are pixels having high illuminance values and pixel pixels having low illuminance values in other fringe wave sections. In step S53, the inverted pixel and the ambiguous pixel are extracted. In the example of FIG. 11B, the pixel having the highest illuminance value among the extracted pixels is the ambiguous pixel (open circle), and thus the illuminance value is the lowest. The inversion pixel 1202 is specified, and a fringe wave section is set based on the inversion pixel 1202. In the fringe wave section, the inverted pixel 1202 having the lowest illuminance value is located at a position of 3/4 of this fringe wave section (3π / 2 in phase angle), so the fringe wave section is set according to the position.
[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 position 1 / of the fringe wave section, and the pixel having the minimum illuminance value indicates the fringe wave section. Is shown, the phase angle can be calculated based on the pixel position in the fringe wave section.
[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 data storage unit 59. Also, if the fringe wave number and the fringe internal phase angle can be obtained, the overall phase can be calculated for each pixel by 2π × the fringe wave number + the fringe internal phase angle. The altitude of the measured object 3 from the reference plane 2 can be calculated. This data is stored in the measurement data storage unit 59, for example.
[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 projection control unit 56 instructs the liquid crystal projector 1 to project the grid pattern of the nth stage, and the liquid crystal panel 12 of the liquid crystal projector 1 configures the grid of the nth stage according to the instruction, and (Step S63). In the first stage, a grating as shown in FIG. That is, it is a pattern of the entire area “bright”.
[0044]
On the other hand, the camera 4 captures an image of the grid pattern of the measured object 3 onto which the grid pattern of the n-th stage is projected by the CCD 42 via the lens 41, and stores the captured image in a memory built in the camera 4 (step S65). ). Then, the image acquisition unit 51 of the image processing device 5 reads the captured image of the lattice pattern from the camera 4 and stores the image in the work memory area 58 and the lattice pattern image storage unit 57 of the image processing device 5.
[0045]
Then, the light / dark reversal judgment unit 53 performs a light / dark judgment process (step S67). This light / dark determination processing will be described with reference to FIG. First, the phase angle calculation unit 54 determines whether or not it is the first stage (step S81). If the current stage is the first stage, an image having a predetermined illuminance value or less is detected, and “shadow” is registered in, for example, the table of FIG. 15 (step S109). Then, the processing returns to the original processing.
[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 number determination unit 541 specifies one line to be processed (step S83), and specifies one pixel to be processed among the lines (step S85). ), The illuminance value of the pixel is read out from the grid pattern image storage unit 57, for example. Then, the fringe wave number determination unit 541 determines whether the read illuminance value is equal to or greater than the first threshold (step S87). If the illuminance value is equal to or larger than the first threshold value, the pixel is determined to be “bright”, and “0” is registered in, for example, the table of FIG. 15 (step S89). Then, control goes to a step S103. If the illuminance value is not equal to or greater than the first threshold value, it is determined whether the illuminance value is equal to or less than the second threshold value (step S91). If the illuminance value is equal to or smaller than the second threshold, the pixel is determined to be “dark”, and “1” is registered in, for example, the table of FIG. 15 (step S93). Then, control goes to a step S103.
[0048]
If it is determined that the illuminance value is equal to or smaller than the second threshold value, the light / dark reversal determination unit 53 calculates (illuminance value of the previous stage−illuminance value of the current stage) for the same pixel, and stores it in the work memory area 58. It is stored (step S95). Then, the fringe wave number determination unit 541 determines whether the absolute value of the calculation result is equal to or greater than the third threshold (Step S97). If the absolute value of the calculation result is equal to or greater than the third threshold, if the value of the calculation result is positive, it is known that the illuminance value of the previous stage is larger, that is, it has been inverted from light to dark. Is registered, and if the value of the calculation result is negative, it is known that the illuminance value of the previous stage is smaller, that is, it has been inverted from dark to bright, so “0” is registered (step S99). The reason why the contrast is determined by referring to the image of the previous stage is as follows. That is, as shown in FIGS. 12A to 12D, when dividing according to a binary tree, the boundary between light and dark in the current stage is often clearly dark or light in the previous stage. For example, the first light-dark boundary from the left in the fourth stage is clearly a bright stripe in the third stage. Therefore, even if the brightness of the pixel is ambiguous in the current stage, if the brightness is clear or dark in the previous stage, the difference between the illuminance values is expected to be equal to or more than the third threshold value if the brightness is switched. You. In this way, light or dark is determined with reference to the previous stage. Even if the previous stage is referred to, for example, at the second boundary in FIG. 12D, since the previous stage is also a light-dark boundary, in some cases, even if the difference is calculated, it may remain unclear. . That is, when it is determined that the calculation result is less than the third threshold value, data representing “ambiguous pixel” is registered in the table of FIG. 14 (step S101). Step S99 may be executed for a further earlier stage. This is because there may be pixels that are clearly “bright” and more clearly “dark” in the stage two or more previous.
[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 number determination unit 541 determines, for the ambiguous pixel, A stripe section is set based on the stripe section length of the current stage and the illuminance value of each pixel of the line currently being processed, and it is determined whether the vague pixel belongs to a bright stripe or a dark stripe. Alternatively, “1” is registered (step S105). Then, it is determined whether or not all lines have been processed (step S107). If an unprocessed line exists, the process returns to step S83. On the other hand, when processing has been performed for all lines, the processing returns to the original processing.
[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 position 1 / of the fringe wave section, and the pixel having the minimum illuminance value indicates the fringe wave section. Is shown, the phase angle can be calculated based on the position in the fringe wave section.
[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 data storage unit 59. Also, if the fringe wave number and the fringe internal phase angle can be obtained, the overall phase can be calculated for each pixel by 2π × the fringe wave number + the fringe internal phase angle. The altitude of the measured object 3 from the reference plane 2 can be calculated. This data is stored in the measurement data storage unit 59, for example.
[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 projection control unit 56 instructs the liquid crystal projector 1 to project the grid pattern of the nth stage, and the liquid crystal panel 12 of the liquid crystal projector 1 configures the grid of the nth stage according to the instruction, and (Step S113). In the first stage, a grating as shown in FIG. That is, it is a pattern of the entire area “bright”. In the second stage, a grating as shown in FIG. Hereinafter, FIG. 12 (c), FIG. 12 (d). . . It becomes.
[0056]
On the other hand, the camera 4 captures an image of the grid pattern of the measured object 3 on which the grid pattern of the n-th stage is projected by the CCD 42 via the lens 41, and stores the captured image in a memory built in the camera 4 (FIG. 16). : Step S115). Then, the image acquisition unit 51 of the image processing device 5 reads the captured image of the lattice pattern from the camera 4 and stores the image in the lattice pattern image storage unit 57 of the image processing device 5. Then, it is determined whether the current projection and imaging are for the final stage (step S117). If it is not the final stage, n is incremented by 1 (step S118), and the process returns to step S113. In the case of the final stage, the light-dark reversal judgment unit 53 and the phase angle calculation unit 54 execute a light-dark judgment process (step S119). The light / dark determination processing will be described with reference to FIG.
[0057]
The phase angle calculation unit 54 specifies one line to be processed (step S131), and specifies one pixel to be processed belonging to the line (step S133). Then, the light-dark inversion determination unit 53 calculates a difference between the illuminance value of the pixel in the first stage and the illuminance value of the pixel in the final stage, and stores the difference in, for example, the work memory area 58 (step S135). Then, the fringe wave number determination unit 541 of the phase angle calculation unit 54 determines whether the absolute value of the difference is equal to or larger than the first threshold (step S137). If the absolute value of the difference is equal to or greater than the first threshold value, the first stage is in the entire area “bright”, so that inversion, that is, inversion from “bright” to “dark” has occurred. "1" is registered in the table shown in FIG. 18A, and "inversion" is registered in the table shown in FIG. 18B, for example (step S139). Then, control goes to a step S147.
[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 number determination unit 541 of the phase angle calculation unit 54 determines whether the absolute value of the difference calculated in step S135 is equal to or smaller than the second threshold (step S141). If the absolute value of the difference is equal to or smaller than the second threshold value, the first stage is in the entire area “bright”, and is determined to be non-inverted, that is, to remain “bright”, for example, as shown in FIG. "0" is registered in the table, for example, "non-inverted" is registered in the table shown in FIG. 18B (step S143). Then, control goes to a step S147.
[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 reversal determination unit 53 and the phase angle calculation unit 54 perform a comparison process between the image of the final stage serving as a reference and the image of each stage (step S121). This comparison process will be described with reference to FIG.
[0065]
First, the stage number n is set to n = 2 (step S161). Then, the light-dark reversal determination unit 53 calculates the absolute value of the difference between the illuminance values of the image of the n-th stage and the image of the final stage, and stores the absolute value in, for example, the work memory area 58 (step S163). Then, the phase angle calculation unit 54 specifies one line to be processed (step S165), and further specifies one pixel to be processed (step S167). Then, the fringe wave number determination unit 541 determines whether the absolute value of the difference between the illuminance values of the pixel is equal to or greater than a first predetermined value (step S169). When the absolute value of the difference between the illuminance values of the pixel is equal to or larger than the first predetermined value, it is determined that the stripe is inverted, and for example, the determination result (in the table of FIG. If it is “bright (0)” in the final stage, “dark (1)” or vice versa is registered, and for example, data representing “reversal” is registered in the table of FIG. 18B (step S171). Then, control goes to a step S185.
[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 number determination unit 541 determines that the absolute value of the difference between the illuminance values of the pixel is the second value. Is determined to be less than or equal to a predetermined value (step S173). When the absolute value of the difference between the illuminance values of the pixel is equal to or smaller than the second predetermined value, the stripe is determined to be non-inverted, and for example, the determination result ( In the final stage, “bright (0)” is registered as “bright (0)”, and “dark (1)” is registered as “dark (1)”. The data representing "inversion" is registered (step S175). Then, control goes to a step S185.
[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 inversion determination unit 53 outputs the illuminance value of the (n-1) th stage. Then, the difference between the illuminance value and the illuminance value of the n-th stage is calculated and stored in the work memory area 58, for example (step S177). Then, the fringe wave number determination unit 541 determines whether the absolute value of the calculation result is equal to or greater than the third threshold (step S179). The reason why the data of the previous stage is referred to in this way is as described in step S95. If the absolute value of the calculation result is equal to or larger than the third threshold value, a determination result opposite to the determination result in the (n-1) th stage is registered in, for example, the table of FIG. An inversion state opposite to the (n-1) stage is registered (step S181). If the absolute value of the calculation result in step S177 is equal to or larger than the third threshold value, it means that it has been inverted in comparison with the (n-1) th stage, and the "brightness" “(0)” is registered as “dark (1)”, and “dark (1)” is registered as “bright (0)”. Further, if it is determined in the (n-1) th stage that it is "inverted", it means that it is further inverted. Therefore, if it is determined that it is "non-inverted", it is inverted from that state. Register “Reverse”.
[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 number determination unit 541 determines that “non-inverted” pixels are shadows in all the stages in the table of FIG. "Shadow" (step S123). In the example of FIG. 18A, the first pixel is determined to be a shadow.
[0072]
Then, the fringe wave number determination unit 541 determines the fringe wave number from the code sequence from the second stage to the final stage shown in FIG. 18A, and registers it in the table of FIG. 18A (step S125). ). For example, if a code sequence "00000" is obtained for a pixel, the pixel belongs to the stripe with stripe number "0". Therefore, the fringe wave number is “0”. Further, if a code sequence “00001” is obtained, the pixel belongs to the stripe having the stripe number “1”. Therefore, the fringe wave number is “0”. Further, if a code sequence “00010” is obtained, the pixel belongs to the stripe with stripe number “2”. Therefore, the fringe wave number is “1”. By performing such processing, the fringe wave number is determined.
[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 position 1 / of the fringe wave section, and the pixel having the minimum illuminance value indicates the fringe wave section. Is shown, the phase angle can be calculated based on the position in the fringe wave section.
[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 data storage unit 59. Also, if the fringe wave number and the fringe internal phase angle can be obtained, the overall phase can be calculated for each pixel by 2π × the fringe wave number + the fringe internal phase angle. The altitude of the measured object 3 from the reference plane 2 can be calculated. This data is stored in the measurement data storage unit 59, for example.
[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 liquid crystal projector 1, and another projector may be used. In some cases, the actual program modules do not correspond to the functional units of the image processing apparatus 5. Further, the photographing control unit 56 may be realized by a device different from the image processing device 5 in some cases. Further, the liquid crystal projector 1 and the camera 4 may be configured to have some functions of the image processing device 5.
[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 claim 1, further comprising:
[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 claim 2, further comprising:
[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 claim 1, wherein:
[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 claim 4, further comprising:
[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 claim 1, comprising:
[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 claim 1, further comprising:
[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 LCD projector 2 Reference plane 3 Object to be measured
4 Camera 5 Image processing device
11 Projection unit 12 Liquid crystal panel 13 Lens
41 lens 42 CCD
51 Image acquisition unit
53 Light / dark reversal judgment section 54 Phase angle calculation section
541 fringe wave number judgment unit 55 altitude calculation unit
56 Projection control unit 57 Grid pattern image storage unit
58 Work memory area 59 Measurement data storage

Claims (10)

明と暗の縞から構成される第1の格子パターンを被計測物体に投影した場合における、前記被計測物体についての第1の画像を取得する第1画像取得ステップと、
前記第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.
前記第1又は第2の画像における所定の画素について、当該画素の縞波番号から特定される縞波区間内の位置に基づき縞内部位相角を計算するステップと、
をさらに含む請求項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の格子パターンに対応する第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.
前記第2画像取得ステップが、
撮影ステージ番号n(nは1以上の整数)に基づき最大2本の明と暗の縞を含む格子パターンを被計測物体に投影した場合における、前記被計測物体についての各前記撮影ステージの画像を取得するステップ
を含む請求項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の画像に基づき、明の縞に関連する画素については第1のコードを暗の縞に関連する画素については第2のコードを割り当てるステップと、
前記第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:
撮影ステージ番号n(nは1以上の整数)に基づき最大2本の明と暗の縞を含む格子パターンを被計測物体に投影した場合における、前記被計測物体についての各前記撮影ステージの画像を取得するステップと、
各前記撮影ステージにおける画像の所定の画素について、明又は暗の縞のいずれに属するか判断する判断ステップと、
前記所定の画素について、第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の格子パターンとを被計測物体に投影する手段と、
前記第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の格子パターンを被計測物体に投影した場合における、前記被計測物体についての第1の画像を取得する第1画像取得ステップと、
前記第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.
撮影ステージ番号n(nは1以上の整数)に基づき最大2本の明と暗の縞を含む格子パターンを被計測物体に投影させる手段と、
前記被計測物体についての各前記撮影ステージの画像を取得する手段と、
各前記撮影ステージにおける画像の所定の画素について、明又は暗の縞のいずれに属するか判断する手段と、
前記所定の画素について、所定の前記撮影ステージについての明暗シーケンス又は明と暗とに対応付けられたコードによるコード・シーケンスを特定する手段と、
を有する画像処理装置。
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:
JP2003116607A 2003-04-22 2003-04-22 Image processing method in lattice pattern projective method, image processor and measurement device Pending JP2004325096A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (20)

* Cited by examiner, † Cited by third party
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