pcd file written generated from matlab not being read by pcl
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
I generated a pcd file from matlab by doing pcwrite(cloud,'file.pcd'). However, when I am trying to read this file in PCL using pcl::io::loadPCDFile('file.pcd', cloud), the following error comes:
Failed to find match for field 'x'.
Failed to find match for field 'y'.
Failed to find match for field 'z'.
Has anyone encountered similar problem? Is there a work around?
0 comentarios
Respuestas (2)
Zohn Fang
el 12 de Mayo de 2018
Hi, I face the same problem. By default, MATLAB generates double-precision floating-numbers in the PCD file, whereas PCL can only process the PCD file of single-precision. Therefore, you can choose to result in single-precision PCD files by MATLAB or let the PCD file reader of PCL support the double-precision. I think the former is easier, and I chose it. Concretely, I use the "single()" command to change the matrix "ptCloud.Location" from double-precision to single-precision, and "pcwrite" the PCD file. In this case, the PCD file is saved as single-precision automatically, which is confirmed by a line in the PCD file--"SIZE 4 4 4". In this way, the single-precision PCD file can be read by PCL. BTW, My English is not well. If the description is not clear, please reply me. I hope this can help you.
1 comentario
Yu-Hsiang Lai
el 21 de Oct. de 2022
Thank you for the solution. Finally found how to solve this problem.
Jeno Boka
el 6 de Nov. de 2018
Editada: Jeno Boka
el 6 de Nov. de 2018
Note: ptCloud is a point cloud, read with MATLAB.
% create a Point Cloud, which is of single type
ptCloudSingle = pointCloud(single(ptCloud.Location),...
'Color',ptCloud.Color,...
'Normal',ptCloud.Normal,...
'Intensity',ptCloud.Intensity);
After pcwrite the written file can be parsed by PCL.
Based on Zohn Fang's answer
0 comentarios
Ver también
Categorías
Más información sobre Point Cloud Processing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!