- Файл file_io.h
- перенести это в pcl::console
- Пространство имён openni_wrapper
- Удалить все спецификации исключений: они бесполезны и вскоре будут объявлены устаревшими
- Элемент pcl::assignNormalWeights (const PointCloud< NormalT > &cloud, index_t index, const Indices &k_indices, const std::vector< float > &k_sqr_distances)
- В настоящее время эта функция присваивает всем весам значение 1
- Элемент pcl::createMapping (const std::vector< pcl::PCLPointField > &msg_fields, MsgFieldMap &field_map)
- Можно создать патологический случай, когда в структуре есть поле, а в сериализованных данных — дополнение
- Элемент pcl::cuda::SampleConsensusModel< Storage >::setRadiusLimits (float min_radius, float max_radius)
- изменить так, чтобы задавались ограничения для всей модели
- Элемент pcl::EuclideanClusterExtraction< PointT >::getSearchMethod () const
- исправить для обобщённого дерева поиска
- Класс pcl::FarthestPointSampling< PointT >
- добавить поддержку экспорта/импорта метрики расстояния
- Класс pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >
- Добавить документацию
- Класс pcl::geometry::MeshIO< MeshT >
-
- Записывает только топологию (не данные сетки).
- Поддерживается только ASCII.
- Не учитывает свойства сетки (например, является ли она многообразием)
- Элемент pcl::gpu::EuclideanClusterExtraction< PointT >::getSearchMethod ()
- исправить для обобщённого дерева поиска
- Элемент pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::extract (std::vector< PointIndices > &clusters)
- что делать, если входные данные не являются облаком PointXYZ?
- Элемент pcl::gpu::EuclideanLabeledClusterExtraction< PointT >::getSearchMethod ()
- исправить для обобщённого дерева поиска
- Элемент pcl::gpu::extractEuclideanClusters (const typename pcl::PointCloud< PointT >::Ptr &host_cloud_, const pcl::gpu::Octree::Ptr &tree, float tolerance, std::vector< PointIndices > &clusters, unsigned int min_pts_per_cluster, unsigned int max_pts_per_cluster)
- : сделать это значение переменным и задаваемым с помощью метода
- Класс pcl::gpu::people::Blob2
- : в конечном итоге очистить это, возможно, поместив дочерние элементы в отдельную структуру
- Элемент pcl::gpu::people::buildRelations (std::vector< std::vector< Blob2, Eigen::aligned_allocator< pcl::gpu::people::Blob2 > > > &sorted, PersonAttribs::Ptr person_attribs)
-
Эта функция также задаёт кинематическую цепь; следует реализовать это с помощью XML или LUT
проверить, нельзя ли сделать реализацию эффективнее (возможно, использовать итератор вместе с sortBlobs?)
- Элемент pcl::gpu::people::buildRelations (std::vector< std::vector< Blob2, Eigen::aligned_allocator< pcl::gpu::people::Blob2 > > > &sorted)
-
Эта функция также задаёт кинематическую цепь; следует реализовать это с помощью XML или LUT
проверить, нельзя ли сделать реализацию эффективнее (возможно, использовать итератор вместе с sortBlobs?)
- Элемент pcl::gpu::people::evaluateBlobs (Blob2 &parent, Blob2 &child, int child_nr)
- что, если child — это второе звено, а не первое (например, предплечье вместо локтя для руки)?
- Элемент pcl::gpu::people::evaluateBlobs (Blob2 &parent, Blob2 &child, int child_nr, PersonAttribs::Ptr person_attribs)
- что, если child — это второе звено, а не первое (например, предплечье вместо локтя для руки)?
- Элемент pcl::gpu::people::evaluateBlobVector (std::vector< std::vector< Blob2, Eigen::aligned_allocator< Blob2 > > > &sorted, unsigned int parent_label, int child_label, int child_number, PersonAttribs::Ptr person_attribs)
- когда появится хорошая функция оценки, пересмотреть best_value
- Элемент pcl::gpu::people::evaluateBlobVector (std::vector< std::vector< Blob2, Eigen::aligned_allocator< Blob2 > > > &sorted, unsigned int parent_label, int child_label, int child_number)
- когда появится хорошая функция оценки, пересмотреть best_value
- Элемент pcl::gpu::people::label_skeleton::smoothLabelImage (cv::Mat &lmap_in, cv::Mat &dmap, cv::Mat &lmap_out)
-
сделать размер патча параметром
сделать расстояние по z параметром
добавить гауссову функцию вклада для глубины и голосования
- Элемент pcl::gpu::people::label_skeleton::sortIndicesToBlob2 (const pcl::PointCloud< pcl::PointXYZ > &cloud_in, unsigned int sizeThres, std::vector< std::vector< Blob2, Eigen::aligned_allocator< Blob2 > > > &sorted, std::vector< std::vector< pcl::PointIndices > > &indices)
-
снова реализовать вычисление собственных значений
нужен ли нам по-прежнему sizeThres?
- Элемент pcl::gpu::people::LUT_max_part_size []
- читать это из XML-файла
- Элемент pcl::gpu::people::part_t
- реализовать метки с 25 по 29
- Элемент pcl::gpu::SeededHueSegmentation::getSearchMethod ()
- исправить для обобщённого дерева поиска
- Элемент pcl::gpu::SeededHueSegmentation::segment (PointIndices &indices_in, PointIndices &indices_out)
- что делать, если входные данные не являются облаком PointXYZ?
- Элемент pcl::IndicesAllocator
- Удалить в C++20
- Элемент pcl::is_invocable_v
- : удалить в C++17
- Элемент pcl::IterativeClosestPoint< PointSource, PointTarget, Scalar >::IterativeClosestPoint (const IterativeClosestPoint &)=delete
- : удалить удалённые конструкторы и операции присваивания после устранения проблемы
- Элемент pcl::PointXYZRGBAtoXYZHSV (const PointXYZRGBA &in, PointXYZHSV &out)
- добавить параметр A, но как?
- Класс pcl::registration::CorrespondenceRejectorFeatures
- объяснить это подробнее.
- Элемент pcl::remove_cvref_t
- : удалить в C++17
- Элемент pcl::SampleConsensusModel< PointT >::setRadiusLimits (const double &min_radius, const double &max_radius)
- изменить так, чтобы задавались ограничения для всей модели
- Элемент pcl::SampleConsensusModelSphere< PointT >::projectPoints (const Indices &inliers, const Eigen::VectorXf &model_coefficients, PointCloud &projected_points, bool copy_data_fields=true) const override
- реализовать это.
- Элемент pcl::search::OrganizedNeighbor< PointT >::nearestKSearch (const PointT &p_q, int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const override
- эту функциональность ещё нужно реализовать
- Элемент pcl::seededHueSegmentation (const PointCloud< PointXYZRGB > &cloud, const search::Search< PointXYZRGBL >::Ptr &tree, float tolerance, PointIndices &indices_in, PointIndices &indices_out, float delta_hue=0.0)
- Элемент pcl::seededHueSegmentation (const PointCloud< PointXYZRGB > &cloud, const search::Search< PointXYZRGB >::Ptr &tree, float tolerance, PointIndices &indices_in, PointIndices &indices_out, float delta_hue=0.0)
- Элемент pcl::SurfaceNormalModality< PointInT >::computeAndQuantizeSurfaceNormals2 ()
-
Возможно, также нужна модель камеры или хотя бы фокусные расстояния? Заменить distance_threshold маской?
Магическое число 1150 — это фокусное расстояние? Это что-то вроде f в режиме SXGA, но в VGA оно ближе к 530.
- Элемент pcl::toPCLPointCloud2 (const pcl::PointCloud< PointT > &cloud, pcl::PCLPointCloud2 &msg, bool padding)
- msg.is_bigendian = ?;
- Элемент pcl::visualization::PointCloudColorHandlerHSVField< PointT >::getColor () const override
- сделать это с помощью point_types_conversion из common; сначала добавить шаблон!
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/todo.html