3次元点群から外れ値を除去

17 ビュー (過去 30 日間)
Yu
Yu 2021 年 10 月 4 日
コメント済み: Yu 2021 年 10 月 6 日
こんにちは。地理座標系(緯度[deg]、経度[deg]、高さ[m])のデータから、scatter3で3次元図にしたデータがあります。
以下写真のように、赤丸で囲まれた外れ値を除去したいのですが、なにか良い方法はありますでしょうか?
以下の記事を見たのですが、地理座標系には対応していないようでした。
https://jp.mathworks.com/help/vision/ref/pcdenoise.html
よろしくお願いいたします。

採用された回答

Hernia Baby
Hernia Baby 2021 年 10 月 5 日
編集済み: Hernia Baby 2021 年 10 月 5 日
外れ値がわかるのでしたらindexを活用するのはいかがでしょうか?
figure
[X,Y,Z] = sphere(16);
x = [0.5*X(:); 0.75*X(:); X(:)];
y = [0.5*Y(:); 0.75*Y(:); Y(:)];
z = [0.5*Z(:); 0.75*Z(:); Z(:)];
scatter3(x,y,z,'k.')
hold on
ここでx,y,zが正のものだけを取り出します
そして赤色で囲みます
idx = x > 0 & y >0 & z>0;
x1 = x(idx);
y1 = y(idx);
z1 = z(idx);
scatter3(x,y,z,'r')
赤色を外れ値として扱う場合、その部分を削除します
該当部分を青で囲みます
x2 = x; y2 = y; z2 = z;
x2(idx) = [];
y2(idx) = [];
z2(idx) = [];
scatter3(x2,y2,z2,'b')
xlim([-1 1])
  3 件のコメント
Yu
Yu 2021 年 10 月 6 日
なるほど、このようなやり方があるのですね。
とても参考になりました!ありがとうございました。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Find more on Matrix Indexing in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!