座標から三次元再構築するには
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
雄大
am 8 Nov. 2022
Kommentiert: 交感神経優位なあかべぇ
am 11 Nov. 2022
現在、txtファイルとしてn行4列のファイルがあります。
1列目からx、y、zの座標になっており、4列目は2値化した輝度値になります。
このファイルを読み込んで、3次元的に図形を確認したいです。最終的には、3点を抽出してその3点を通るような断面を確認したいです。
その一歩として、まずはMATLABで形を確認したいです。
どうか知恵をお貸しいただけないでしょうか。よろしくお願いします。
0 Kommentare
Akzeptierte Antwort
交感神経優位なあかべぇ
am 8 Nov. 2022
Bearbeitet: 交感神経優位なあかべぇ
am 8 Nov. 2022
まず、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 Kommentare
Atsushi Ueno
am 10 Nov. 2022
> 色付けしない場合には”scatter3...”の行を変更すれば良いのでしょうか ⇒ はいそうです。
@交感神経優位なあかべぇさんの下記コードは、2値化した輝度値(元の範囲は0-255と思われる)を正規化し、同じデータを3列並べRGB成分(でのグレースケール色)として色指定しています。
cData = repmat(logData(:,4) ./ 255, 1, 3); % 255:白 0:黒
3列ではなく1列だと、カラーマップを参照します。カラーマップを"gray"に変更すれば1列の成分で色指定することができます。
colormap(gca,"gray")
交感神経優位なあかべぇ
am 11 Nov. 2022
> この断面を任意に決定することはどうしても難しいでしょうか。
App Designerなどを使用して、任意の断面を選択して出力できるアプリなどを作成してみてはいかがでしょうか?
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu LIDAR および点群の処理 finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!