subtracting two asymmetric 3D point clouds

7 views (last 30 days)
Snehalatha
Snehalatha on 20 Jul 2015
Edited: Snehalatha on 22 Jul 2015
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 Comments
Image Analyst
Image Analyst on 21 Jul 2015
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 on 21 Jul 2015
Edited: Snehalatha on 21 Jul 2015
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.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!