理解好圖像的點云拼接,需要從相機(jī)的模型說起。理解相機(jī)的成像原理之后,便可更為深刻的理解圖像的點云如何拼接在一起。
首先說下相機(jī)的概念與原理。
相機(jī)概念與原理
相機(jī)的作用:將三維世界中的坐標(biāo)點(單位為米)映射到二維圖像平面(單位為像素)。
通常我們見到的相機(jī)都是針孔相機(jī),但是不是簡單的 針孔,還有透鏡的畸變存在,所以在做圖像處理時要進(jìn)行畸變校正。
由于畸變的存在,我們在使用相機(jī)之前都要進(jìn)行相機(jī)標(biāo)定。
目的就是求出內(nèi)參對于簡單的應(yīng)用求出徑向畸變和切向畸變就夠了。
所謂的外參就是相機(jī)的位姿。
有了外參、內(nèi)參、圖像、深度信息 便可以把圖像中的點,轉(zhuǎn)到世界坐標(biāo)系下,并帶有RGB的顏色。就形成了所謂的點云。
相關(guān)的公式也很好理解 ,就是通過相似三角形的原理。
注意其中fx 、fy、 cx 、cy也就是相機(jī)的內(nèi)參了。在相機(jī)出廠時會給出。
理解了相機(jī)的概念與原理,來編輯代碼實現(xiàn)下。
Code實現(xiàn)
全部代碼
先放上全部代碼,再進(jìn)行分段講解
代碼講解
讀取對應(yīng)路徑下的彩色圖像、深度圖像、相機(jī)的位姿。
上面說了,有了這三個量再加上相機(jī)內(nèi)參,就可以得到點云。
//相機(jī)內(nèi)參
傳說中的相機(jī)內(nèi)參
//定義點云使用的格式
聲明pcl的格式創(chuàng)建一個點云,然后開始for循環(huán)處理每一張圖片和對應(yīng)的深度圖片與相機(jī)位姿。
得到要處理的彩色圖像深度圖像對應(yīng)的pose,然后for循環(huán)處理每一個像素。
得到深度信息
通過:
這個公式得到相機(jī)坐標(biāo)系下的 x,y,z
相機(jī)坐標(biāo)系下的點通過坐標(biāo)變換轉(zhuǎn)到世界坐標(biāo)系下。
賦值點云的坐標(biāo)與顏色。
保存成點云文件。
責(zé)任編輯:lq6
-
圖像
+關(guān)注
關(guān)注
2文章
1078瀏覽量
40355 -
拼接
+關(guān)注
關(guān)注
0文章
13瀏覽量
12650
原文標(biāo)題:圖像的點云拼接-原理講解與代碼實現(xiàn)
文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論