xyz座標のある点群​データのDSM画像が​作りたいです。解像度​は10㎝程度のものが​作りたいのですが、グ​リッドごとに高さを与​える処理がわかりませ​ん。2000*180​0のグリットシートを​作ろうとしています。

조회 수: 3 (최근 30일)
tetunari sogabe
tetunari sogabe 2017년 1월 13일
답변: Tohru Kikawada 2017년 1월 15일
if true
% code
clear;
xsize=200
ysize=180
Xsize = xsize*10;
Ysize = ysize*10;
line = [1:Xsize];
code = [1:Ysize];
[X,Y] = meshgrid(line,code);
[X1,X2] = ndgrid(line,code);
figure()
[X1_ndgrid,X2_ndgrid] = ndgrid(1:Xsize,1:Ysize);
Z = zeros(Xsize,Ysize);
mesh(X1_ndgrid,X2_ndgrid,Z,'EdgeColor','black')
axis equal;
% Set the axis labeling and title
h1 = gca;
h1.XTick = [1:Xsize];
h1.YTick = [1:Ysize];
xlabel('ndgrid Output')
end

채택된 답변

Tohru Kikawada
Tohru Kikawada 2017년 1월 15일
X,Y,Z座標で構成された3次元の点群データを2Dのメッシュデータにマッピングしたいという内容とお見受けしました。
まずは点群を表面データに変換が必要ですが、 delaunay 関数を使って三角形分割する方法があるかなと思います。
三角形分割されたデータを可視化して、Z軸方向から除くとDSM画像のように可視化することができます。
また、File Exchangeの pointcloud2image がご要望に近そうにも思えます。
ご参考になれば幸いです。
%%3次元点群読込み
load seamount
%%点群の可視化
figure;
scatter3(x,y,z);
%%Z軸方向にDelaunay 三角形分割する例
tri = delaunay(x,y);
figure;
h = trisurf(tri,x,y,z);
h.LineStyle = 'none';
h.FaceColor = 'interp';
xlabel('x');ylabel('y');
view(0,90);
grid off;
colorbar;
点群データの可視化:
三角形分割し、Z軸方向に視点をセット:

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Spatial Search에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by