matlab練習程式(點雲下取樣)

2022-06-08 20:48:18 字數 1385 閱讀 8154

點雲處理有時因為資料量太大,我們需要對其進行下取樣。

這裡的方法是先將點雲填入固定大小的三維網格中,然後每個網格中選乙個點生成新的點雲。

新點雲即為下取樣後的點雲。

這裡使用斯坦福兔子作為測試點雲。

原始點雲:

取樣後點雲:

matlab**如下:

clear all;

close all;

clc;

pc = pcread('

rabbit.pcd');

pcshow(pc);

pc_point =pc.location;

xlimit =pc.xlimits;

ylimit =pc.ylimits;

zlimit =pc.zlimits;

cellsize = 0.005; %定義網格大小

%設定網格數量

w = floor((xlimit(2) - xlimit(1))/cellsize)+1

;h = floor((ylimit(2) - ylimit(1))/cellsize)+1

;d = floor((zlimit(2) - zlimit(1))/cellsize)+1

;%向網格裡填數

voxel =cell(w,h,d);

for i =1

:length(pc_point)

i = floor((pc_point(i,1)-xlimit(1))/cellsize)+1

; j = floor((pc_point(i,2)-ylimit(1))/cellsize)+1

; k = floor((pc_point(i,3)-zlimit(1))/cellsize)+1

; voxel =[voxel;pc_point(i,:)];

end%以網格中第乙個點對原點雲進行下取樣

pointre =;

for i=1

:w

for j=1

:h

for k=1

:d

if isempty(voxel)==0

pointre=[pointre;voxel(1

,:)];

endend

endend

pcre =pointcloud(pointre);

figure;

pcshow(pcre);

PCL中GoxelGrid對點雲下取樣

使用體素化網格方法實現下取樣,即減少點的數量,減少點雲資料,並同時儲存點雲的形狀特徵,在提高配準,曲面重建,形狀識別等演算法速度中非常實用,pcl是實現的voxelgrid類通過輸入的點雲資料建立乙個三維體素柵格,容納後每個體素內用體素中所有點的重心來近似顯示體素中其他點,這樣該體素內所有點都用乙個...

點雲深度學習中的新下取樣方法

2020年9月9日 週三 天氣晴 不悲嘆過去,不荒廢現在,不懼怕未來 2.adaptive sampling cvpr2020 3.總結 參考文獻 目前關於點雲的深度學習方法,大多數都是encoder decoder的結構。encoder部分對點雲進行下取樣,通過 卷積 計算點雲的高階特徵,然後通過...

利用matlab點雲工具處理點雲

本文主要分享利用matlab點雲工具的相關模組來處理點雲,並通過點雲輪廓對點雲體積進行簡單的估計測量。主要的操作流程圖 2具體流程 假設有乙個名為pointcloud.ply的點雲檔案。ply格式簡介 pc pcread path pointcloud.ply 讀入點雲檔案 pcshow pc 顯示...