subtracting two asymmetric 3D point clouds

3 次查看(过去 30 天)
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 CenterFile Exchange 中查找有关 Point Cloud Processing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by