雙目立體視覺:五(點雲)

上一章已經寫完了如何表達我們得到的三維座標
這裏
爲了能更好地表達三維數據,我們應用了

點雲

淺顯地理解爲:點+雲
有一個x,y,z三座標的點,而點上不再單純是點了,點有了自己的屬性,可以加入顏色,也就是說點包含了RGB。

ptCloud = pointCloud(xyzPoints)
ptCloud = pointCloud(xyzPoints,Name,Value)

Name:'Color',[0 0 255]——點雲全是藍色

'Color',image——點雲是圖像的顏色

當點雲信息獲取後,需要創建點雲的顯示窗口

player3D = pcplayer([-5, 5], [-5, 5], [0, 8], 'VerticalAxis', 'y', ...
    'VerticalAxisDir', 'down');

player = pcplayer(xlimits,ylimits,zlimits,Name,Value)
xlimits,ylimits,zlimits均爲座標軸的限制,在限制範圍外不被顯示。由於之前的操作已經除了100,從釐米變成了米,因此此處的參數都是米。
‘MarkerSize’,6——點雲點的尺寸(直徑)
‘VerticalAxis’,‘y’——設置垂直軸,這裏設置爲y軸,爲了符合雙目的座標系。
‘VerticalAxisDir’, ‘down’——設置正方向向下,也就是y軸垂直於水平面
view(player3D, ptCloud)——顯示點雲

圖像點提取

imagePoints1 = detectMinEigenFeatures(rgb2gray(I1), 'MinQuality', 0.1);

上面程序的算法:Shi和Tomasi開發的最小特徵值算法來尋找特徵點
Shi, J., and C. Tomasi, “Good Features to Track,” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, June 1994, pp. 593–600.
其中第一項:rgb2gray(I1)——待找特徵點的灰度圖像。
第二項:‘MinQuality’, 0.1——限制角的最低接收質量,範圍[0,1],值越大越能去掉一些錯誤的角點,但是有效的角點的數量會明顯減少。(一般的matlab中,多是(‘name’,值)這樣的很常見,前面名稱,後面跟值)
其他可選項:’ FilterSize’——範圍[3,inf],高斯濾波器維度,平滑圖像的梯度,
‘ROI’——感興趣區域進行角點檢測[100,100,300,200],其中[100,100]表示區域左上角座標,300寬度,200高度

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章