资源简介

matlab实现的点云精简算法,亲测可用

资源截图

代码片段和文件信息

function P = suojian(FileName)
A=read(FileName);
xmin = min(A(:1));
ymin = min(A(:2));
zmin = min(A(:3));
m = size(A1);
zuida = max(A);
zuixiao = min(A);
kuandu = zuida - zuixiao;
dmax = max(kuandu);        %点云包围盒最大边长        
n = 7;              %点云八叉树剖分层数
d0 = dmax/(2^n);    %点云精简的指定点距
for t=1:m
     i=ceil((A(t1)-xmin)/d0);   %取整
     j=ceil((A(t2)-ymin)/d0);
     k=ceil((A(t3)-zmin)/d0);
    Q = char();
    for t1=1:n
        q=bitget(it1)+bitget(jt1)*2+bitget(kt1)*(2^2);   %取二进制的某一位
        Q(n-t1+1) = num2str(q);
    end
    Q=str2double(Q);
    A(t4)=Q;
    xo = (i-1)*d0+d0/2+xmin;
    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1306  2016-04-08 10:23  suojian.m

----------- ---------  ---------- -----  ----

                 1306                    1


评论

共有 条评论

相关资源