前言
本文通過(guò)迭代法解PNP問(wèn)題,得到相機(jī)坐標(biāo)系關(guān)于世界坐標(biāo)系的旋轉(zhuǎn)矩陣R與平移矩陣T后,根據(jù)之前的文章《根據(jù)相機(jī)旋轉(zhuǎn)矩陣求解三個(gè)軸的旋轉(zhuǎn)角》獲得相機(jī)坐標(biāo)系的三軸旋轉(zhuǎn)角,實(shí)現(xiàn)了對(duì)相機(jī)位姿的估計(jì)。知道相機(jī)在哪后,我們就可以通過(guò)兩張照片,計(jì)算出照片中某個(gè)點(diǎn)的高度,實(shí)現(xiàn)對(duì)環(huán)境的測(cè)量。
先看演示視頻:
原理簡(jiǎn)介
相機(jī)位姿估計(jì)就是通過(guò)幾個(gè)已知坐標(biāo)的特征點(diǎn),以及他們?cè)谙鄼C(jī)照片中的成像,求解出相機(jī)位于坐標(biāo)系內(nèi)的坐標(biāo)與旋轉(zhuǎn)角度,其核心問(wèn)題就在于對(duì)PNP問(wèn)題的求解,這部分本文不再啰嗦,參見(jiàn)本人之前的博客文章《相機(jī)位姿估計(jì)0:基本原理之如何解PNP問(wèn)題》。本文中對(duì)pnp問(wèn)題的求解直接調(diào)用了OpenCV的庫(kù)函數(shù)"solvePnP",其函數(shù)原型為:
bool solvePnP(InputArray objectPoints, InputArray imagePoints, InputArray cameraMatrix, InputArray distCoeffs, OutputArray rvec, OutputArray tvec, bool useExtrinsicGuess=false, int flags=ITERATIVE )
第一個(gè)輸入objectPoints為特征點(diǎn)的世界坐標(biāo),坐標(biāo)值需為float型,不能為double型,可以輸入mat類型,也可以直接輸入vector<point3f> 。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26
![學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)](http://m.roadsoft.com.cn/attached/image/templet/e87d53eb-cf7a-4689-887a-1cd260f416a5.jpg)