点群の高さデータによ​って、グリットシート​の1マスごとに色を付​ける方法がわかりませ​ん。2000*180​0のグリッドシートと​XYZ座標のある点群​データがあります。(​色を付ける際に、一マ​スに二点以上存在する​場合一番高い点を対象​としたいです。色の配​分は適当でかまいませ​ん。)添付した画像の​グリットシートは20​0*180です。

16 次查看(过去 30 天)
clear;
load('sample.mat')
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')
axis([1 200 1 180]);
hold on
pcshow(sample)
az=0
el=90
view(az,el);
end
  4 个评论
tetunari sogabe
tetunari sogabe 2017-1-18
编辑:tetunari sogabe 2017-1-18
返事ありがとうございます。 投稿したサンプルコードですが、1マスを10㎝と設定した。2000*1800のグリットシートを作成しただけです。このほかにxy座標をグリットシートと合わせてある点群データがあります。 このグリットシートのxy平面に点群データを入れ、残りのz座標(高さ)の値を使い、xy平面の1マスごとの色を付ける作業がしたいです。色を付ける際、1マスに二点以上存在する場合一番高い点を対象としたいです。色の配分は適当でかまいません。
Jiro Doke
Jiro Doke 2017-1-19
前のコメントにもありますが、別の質問に回答があるようです。

请先登录,再进行评论。

采纳的回答

Tohru Kikawada
Tohru Kikawada 2017-1-20
下記の点を配慮して質問をいただけるとよりよい回答が得られる可能性があります。
  • 表題は簡潔かつ困っていることを明確に記載すること (例:点群をグリッドに当てはめる方法)
  • 具体的な内容は本文に書くこと(タイトルが長すぎると概要の理解を困難にします)
  • コメントで質問された内容についてYes or Noで簡潔かつ的確に回答すること(より的確な情報を提供し回答を促進します)
今後ご質問される場合には こちら を参照の上、ご投稿をお願いいたします。
別件の回答と同じなのか、違うのかはっきりしませんが、質問内容から推測した処理を下記に示します。
for ループを使わずに簡潔に書く方法もあると思います。
%%3次元点群データの生成
xyz = randn(1000,3);
x = xyz(:,1);
y = xyz(:,2);
z = abs(xyz(:,3)); % 分かりやすくするためにZ軸は正にする
%%点群の可視化
figure;
scatter3(x,y,z);
%%DSM画像生成
Xsize = 50;
Ysize = 50;
line = linspace(min(x(:)),max(x(:)),Xsize);
code = linspace(min(y(:)),max(y(:)),Ysize);
[X,Y] = meshgrid(line,code);
Z = zeros(Xsize,Ysize);
for k = 1:numel(line)-1
for l = 1:numel(code)-1
% ある範囲に入っている点群のインデックスを取り出す
index = line(k) <= x & x < line(k+1) & ...
code(l) <= y & y < code(l+1);
if ~all(index==0)
% 点群の中でZ軸の値が一番大きいものを代入する
Z(k,l) = max(z(index));
end
end
end
figure, imagesc(line,code,Z);
colorbar;
元の点群データ:
グリッド内の高さ(Z軸)の最大値をマッピングした画像:
  1 个评论
tetunari sogabe
tetunari sogabe 2017-1-20
回答、ありがとうございます。非常に参考になりました。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Introduction to Installation and Licensing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by