преобразование pcloudXYZ в pcloudXYZRGB с использованием pcl 1.6

Я новичок в PCL, а также в C++. Мне нужно преобразовать облако точек типа XYZ в облако точек типа XYZRGB и наоборот, используя PCL 1.6. Я попробовал "pcl::copyPointCloud(cloud, cloudRGB);" но VS2010 говорит: «ни один экземпляр перегруженной функции« pcl :: copyPointCloud »соответствует списку аргументов». Я не знаю, что именно это означает, так как я могу это решить? В документации я обнаружил, что функции нужны три переменные, но я не знать, что такое второй, и как его найти. Другие примеры не используют второй, но я не знаю, используют ли они PCL 1.6.

Большое спасибо за вашу помощь


person SPS    schedule 14.10.2013    source источник


Ответы (2)


чтобы преобразовать один тип данных в другой в pcl, вы можете использовать эту функцию:

  pcl::PointCloud<pcl::PointXYZ> input;
  pcl::PointCloud<pcl::PointXYZRGB> cloud;
  pcl::copyPointCloud(input,cloud);

Но здесь ввод данных должен быть в формате xyz+rgb, чем только это возможно. который читается как input=camera/registered_image/points

person Community    schedule 19.08.2016

Заполните данные rgb 0: D, вы не можете просто преобразовать две вещи, потому что у вас нет данных rgb.

Посмотрите здесь официальную документацию и пример

person alap    schedule 15.10.2013
comment
Хорошо, но когда я могу использовать функцию 'pcl::copyPointCloud(cloud, cloudRGB);'? Это только переход от облака точек RGB к простому облаку точек и потеря информации о цвете? большое спасибо за вашу поддержку - person SPS; 15.10.2013
comment
Я не думаю, что вы можете это сделать, потому что тип не тот. Попробуйте, если это сработает, вы просто потеряете цвет. - person alap; 15.10.2013
comment
Посмотрите здесь: возможное решение - person alap; 15.10.2013
comment
Я просто делаю эту модификацию, то есть использую звездочку, а VS2010 не обнаруживает ошибки. Теперь у меня есть другие ошибки в других частях кода, которые нужно решить, прежде чем я узнаю, что это работает. - person SPS; 15.10.2013