Не ожидается при преобразовании файла .ply в файл .pcd

#c #point-cloud-library

#c #точка-облако-библиотека

Вопрос:

Я конвертирую файл .ply в файл .pcd. Заголовок моего файла .ply следующий:

 ply
format binary_little_endian 1.0
element vertex 63194
property float x
property float y
property float z
property uchar blue
property uchar green
property uchar red
property uchar alpha
end_header
 

Выходные данные следующие:

 VERSION 0.7VERSION 0.7
FIELDS x y z rgba
SIZE 4 4 4 4
TYPE F F F U
COUNT 1 1 1 1
WIDTH 63194
HEIGHT 1
VIEWPOINT 0 0 0 1 0 0 0
POINTS 63194
DATA ascii
-7734.2715 8366.3252 -2.1842694 0
-7734.5063 8366.3125 -1.9932992 0
-7733.0181 8366.3887 -2.20522 0
-7733.2417 8366.376 -2.0148311 0
-7731.7578 8366.4414 -2.2282174 0
 

Я обнаружил, что все значения agba равны 0, однако я не могу найти код, который определяет значение rgba.
Итак, мой вопрос в том, как я могу получить правильный rgba?
Вот мой тестовый код

 bool loadCloud (const std::string amp;filename, pcl::PCLPointCloud2 amp;cloud)
{
  pcl::PLYReader reader;
  if (reader.read (filename, cloud) < 0)
    return (false);
  return (true);
}

void saveCloud (const std::string amp;filename, const pcl::PCLPointCloud2 amp;cloud, bool format)
{
  pcl::PCDWriter writer;
  writer.write (filename, cloud, Eigen::Vector4f::Zero (), Eigen::Quaternionf::Identity (), format);
}

int main (int argc, char** argv)
{

  pcl::PCLPointCloud2 cloud;
  if (!loadCloud ("input.ply", cloud))
    return (-1);

  saveCloud ("output.pcd", cloud, false);

  return (0);
}

 

Комментарии:

1. Пожалуйста, не размещайте здесь ссылки на код. Вместо этого включите его в свой вопрос.