pcd file written generated from matlab not being read by pcl

4 ビュー (過去 30 日間)
Shantnu Kakkar
Shantnu Kakkar 2018 年 5 月 11 日
コメント済み: Yu-Hsiang Lai 2022 年 10 月 21 日
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?

回答 (2 件)

Zohn Fang
Zohn Fang 2018 年 5 月 12 日
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 件のコメント
Yu-Hsiang Lai
Yu-Hsiang Lai 2022 年 10 月 21 日
Thank you for the solution. Finally found how to solve this problem.

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


Jeno Boka
Jeno Boka 2018 年 11 月 6 日
編集済み: Jeno Boka 2018 年 11 月 6 日
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

カテゴリ

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