pcregistercpd - use tform manually

1 回表示 (過去 30 日間)
Diego Hens
Diego Hens 2020 年 12 月 17 日
回答済み: Diego Hens 2020 年 12 月 17 日
Hello,
I have a problem understanding how the tform (transformation matrix) from the function pcregistercpd works.
First of all, what I have and have done:
I have two point clouds, let's call them reference_pc and query_pc.
I use pcregistercpd to make an affine transformation to align reference_pc and query_pc. It works very nicely.
Now comes my problem:
I'd like to manually use the transformation matrix tform and align query_pc to reference_pc.
What is tform? This is the documentation for it. It's a 4x4 matrix, where (I'm assuming) the first rows are the rotation components and the fourth row is the translation component. So, for me to use it manually I'll have to make a matrix multiplication. Like this:
aligned_query_pc = reference_pc * tform
The problem with thtis is that my point clouds are just nx3 matrices. So I just put a zero column on the back of both point clouds' matrices.
This doesn't work. When I plot the point clouds, they are not aligned.
Can you help me understand this?
I have uploaded a workspace, in case you want to try it out.
You can use these lines to plot them:
figure
axis equal
scatter3(AAA_reference(:,1),AAA_reference(:,2),AAA_reference(:,3),10,'MarkerEdgeColor','k', 'MarkerFaceColor','g')
hold on
scatter3(AAA_query_zeros(:,1),AAA_query_zeros(:,2),AAA_query_zeros(:,3),10,'MarkerEdgeColor','k', 'MarkerFaceColor','m')
hold on
scatter3(aligned_query_pc(:,1),aligned_query_pc(:,2),aligned_query_pc(:,3),10,'MarkerEdgeColor','k', 'MarkerFaceColor','b')

採用された回答

Diego Hens
Diego Hens 2020 年 12 月 17 日
Well, my bad. It seems that it doesn't make sense to append the matrices with zeroes but with ones. I swear I tried it, but it did not work. I've tried it again showing it to a coworker and... it worked.

その他の回答 (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