只需要一個廉價的投影儀和webcam(網絡相機),就能打造一個屬於自己的三維掃描儀,這便是結構光三維掃描儀,它利用結構光把不同光照模式投影在物體的表面,進而得到精確的物體形狀。整個過程包括投影一個已知的光照模式,通常是條紋或者帶狀的光,到物體的表面,這些光照模式在遇到物體輪廓邊緣的時候就會發生形變,相機就可以在不同的角度撲捉這些形變。

一 投影。

結構光掃描儀(維基百科全翻譯版)_結構光定位精度可以達到多少_三維重建

結構光的概念實質上是通過特別設計的光照模式把場景點亮,如圖所示通常的光照模式有很多種。

結構光掃描儀(維基百科全翻譯版)_結構光定位精度可以達到多少_三維重建_02

而我們關注的是二進制編碼和格雷碼。

結構光掃描儀(維基百科全翻譯版)_結構光定位精度可以達到多少_三維重建_03

結構光掃描儀(維基百科全翻譯版)_結構光定位精度可以達到多少_三維重建_04

二進制編碼和格雷碼的相互轉換。

二 工作原理。
投影的結構光遇到物體表面發生形變,而這些形變之中包含了物體的形狀的深度信息。通過分析條紋的形變,我們使用一種叫做triangulation的算法重建一個高精度的物體三維模型。triangulation通過比較條紋投影到相機所拍攝的圖片上像素的位置和角度,就可以計算出物體的頂點信息,

三 處理相機拍攝的圖片
因為相機拍攝的圖片是一個序列,需要對圖片進行處理,為後續的三維重建做準備。對於每一個相機,必須對每一張圖片中任意給定的像素確定其是否被投影儀照亮。如果該像素在任何圖片中被點亮,則該像素的編碼值就比較高,反之則比較小。這裏有一個正整數的值用於確定給定像素屬於那一個投影行。

結構光掃描儀(維基百科全翻譯版)_結構光定位精度可以達到多少_編碼值_05

四 三維重建
相機和投影儀之間的對應關係可以用來重建三維點陣結構。投影儀的像素和相機的圖片像素可以通過一種叫做ray-ray triangulation的算法進行計算,以確定模型的頂點位置。

結構光掃描儀(維基百科全翻譯版)_結構光定位精度可以達到多少_編碼值_06