subtracting two asymmetric 3D point clouds

3 ビュー (過去 30 日間)
Snehalatha
Snehalatha 2015 年 7 月 20 日
編集済み: Snehalatha 2015 年 7 月 22 日
I have 3D point cloud and I want to subtract one from other. But these point cloud locations are assymetric. I want to subtract the z- coordinate of the corresponding points from both the point clouds. When I mean corresponding points I mean the XYpoints which match each other on the point cloud. The variables are attached below. I want to subtract beforeDelam.Location from alignedafterdelam.Location but i get the error that matrix is unsymmetric. How can I proceed? I thought that I can create meshes of these two point clouds and subtract it from each other. But is there any other easier way. Looking forward to your help.
  2 件のコメント
Image Analyst
Image Analyst 2015 年 7 月 21 日
What XYPoints? And what Z coordinates? After reading in the mat file we just get 3 sets of 1-D arrays of 6 elements each.
s=load('pc var.mat')
beforeDelam: [6x1 uint32]
afterDelam: [6x1 uint32]
tform: [1x1 affine3d]
alignedafterDelam: [6x1 uint32]
rmserror: 0.304021418094635
I can do the subtraction
output = double(s.beforeDelam) - double(s.afterDelam)
and get an output
output =
0
0
0
0
-1
0
with no error at all. Please clarify.
Snehalatha
Snehalatha 2015 年 7 月 21 日
編集済み: Snehalatha 2015 年 7 月 21 日
Hi Image analyst, if you go inside the point cloud variable you'll notice the property column. There you find something called location which is array i want to subtract. beforeDelam has dimensions 203851x3 and alighnedafterDelam has 203675x3. I want to subtract the 3rd column of alignedafterDelam.Location(:,:,1) from 3rd column of beforeDelam.Location(:,:,1). I have attached thescreenshot of the error i received.

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

回答 (0 件)

カテゴリ

Help Center および File ExchangePoint Cloud Processing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by