座標から三次元再構築するには

15 ビュー (過去 30 日間)
雄大
雄大 2022 年 11 月 8 日
現在、txtファイルとしてn行4列のファイルがあります。
1列目からx、y、zの座標になっており、4列目は2値化した輝度値になります。
このファイルを読み込んで、3次元的に図形を確認したいです。最終的には、3点を抽出してその3点を通るような断面を確認したいです。
その一歩として、まずはMATLABで形を確認したいです。
どうか知恵をお貸しいただけないでしょうか。よろしくお願いします。

採用された回答

交感神経優位なあかべぇ
交感神経優位なあかべぇ 2022 年 11 月 8 日
編集済み: 交感神経優位なあかべぇ 2022 年 11 月 8 日
まず、Logのコピー.txtのデータ読み取りと、3次元の図形での確認方法の例を示します。
すみませんが、4列目の2値化した輝度値というのがよく分からなかったので、とりあえず4列目はグレースケール化して表示しました。
logData = readmatrix('Logのコピー.txt');
cData = repmat(logData(:,4) ./ 255, 1, 3); % 255:白 0:黒
s = scatter3(logData(:,1), logData(:,2), logData(:,3), 'CData', cData, 'Marker', '.', 'MarkerEdgeColor', 'flat');
次に3点を通る断面の確認ですが、少々実装が面倒でしたので、参考までに簡略化して、x座標が200の面の断面を表示(x座標が200未満点群を非表示)する例を示します。
isOver200X = logData(:,1) >= 200;
s.MarkerFaceAlpha = 'flat';
s.AlphaData = double(isOver200X);% X座標が200未満の点群を透明化
  4 件のコメント
Atsushi Ueno
Atsushi Ueno 2022 年 11 月 10 日
> 色付けしない場合には”scatter3...”の行を変更すれば良いのでしょうか ⇒ はいそうです。
@交感神経優位なあかべぇさんの下記コードは、2値化した輝度値(元の範囲は0-255と思われる)を正規化し、同じデータを3列並べRGB成分(でのグレースケール色)として色指定しています。
cData = repmat(logData(:,4) ./ 255, 1, 3); % 255:白 0:黒
3列ではなく1列だと、カラーマップを参照します。カラーマップを"gray"に変更すれば1列の成分で色指定することができます。
colormap(gca,"gray")
交感神経優位なあかべぇ
交感神経優位なあかべぇ 2022 年 11 月 11 日
> この断面を任意に決定することはどうしても難しいでしょうか。
App Designerなどを使用して、任意の断面を選択して出力できるアプリなどを作成してみてはいかがでしょうか?

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLIDAR および点群の処理 についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!