1. 程式人生 > >一種基於OpenCV的三維重建實現方案

一種基於OpenCV的三維重建實現方案

摘 要 本文以計算機視覺三維重建技術為研究物件,分析了開放計算機視覺函式庫OpenCV中的三維重建模型,通過六個步驟,特別是攝像機標定和立體匹配中極線約束方法的使用,給出了基於OpenCV的三維重建演算法。該演算法充分發揮了OpenCV的函式庫功能,提高了計算的精度效率,具有良好的跨平臺移植性,可以滿足各種計算機視覺系統的需要。 關鍵詞 計算機視覺;三維重建;OpenCV;攝像機標定;極線約束 

1 引言

三維重建技術是計算機視覺、人工智慧、虛擬現實等前沿領域的熱點和難點,也是人類在基礎研究和應用研究中面臨的重大挑戰之一。基於影象的三維重建是影象處理的一個重要研究分支,作為當今熱門的虛擬現實和科學視覺化的基礎,它被廣泛應用於檢測和觀察中。一個完整的三維重建系統通常可分為影象獲取、攝像機標定、特徵點提取、立體匹配、深度確定和後處理等6大部分[1] [3]
。其中精確標定攝像機內外引數和立體匹配是三維重建中最重要也是最困難的問題。 開放原始碼的計算機視覺類庫OpenCV(Open Source Computer Vision Library)由英特爾公司位於俄羅斯的研究實驗室所開發,它是一套可免費獲得的由一些C函式和C 類所組成的庫,用來實現一些常用的影象處理及計算機視覺演算法[2]。OpenCV與英特爾公司所開發的另一影象處理庫IPL(Image Processing Library)相容, IPL用於實現對數字影象的一些低階處理,而OpenCV則主要用於對影象進行一些高階處理,比如說特徵檢測與跟蹤、運動分析、目標分割與識別以及3D重建等。由於OpenCV的原始碼是完全開放的,而且原始碼的編寫簡潔而又高效,特別是其中大部分的函式都已經過彙編最優化,以使之能高效而充分地利用英特爾系列處理晶片的設計體系,對於Pentium MMX, Pentium, Pentium Ⅲ及Pentium Ⅳ這些處理器而言,OpenCV的程式碼執行效率是非常高的,所以近年來在國外的影象處理相關領域中被廣泛地使用,成為一種流行的影象處理軟體。OpenCV中的攝像機標定模組為使用者提供了良好的介面,同時支援Windows、Linux 平臺,有效地提高了開發效率,並且執行速度快,具有良好的跨平臺移植性,因此可以很好地應用於工程實際當中。

2 三維重建的基本原理

2.1 影象獲取

立體影象的獲取是立體視覺的基礎,影象獲取的方式很多,主要取決於應用的場合和目的,還要考慮視點差異、光照條件、攝像機效能以及景物特點等因素的影響,以利於立體計算。