NARF (Normal Aligned Radial Features) — тип дескриптора признаков точек для 3D-данных. Подробнее...
#include <pcl/features/narf.h>
Классы | |
| struct | FeaturePointRepresentation |
Открытые функции-члены | |
| Narf () | |
| Конструктор. Подробнее... |
|
| Narf (const Narf &other) | |
| Конструктор копирования. Подробнее... |
|
| ~Narf () | |
| Деструктор. Подробнее... |
|
| const Narf & | operator= (const Narf &other) |
| Оператор присваивания. Подробнее... |
|
| bool | extractFromRangeImage (const RangeImage &range_image, const Eigen::Affine3f &pose, int descriptor_size, float support_size, int surface_patch_world_size=NARF_DEFAULT_SURFACE_PATCH_PIXEL_SIZE) |
| Метод извлечения признака NARF для заданной 3D-точки с использованием изображения дальности. Подробнее... |
|
| bool | extractFromRangeImage (const RangeImage &range_image, float x, float y, int descriptor_size, float support_size) |
| То же, что и выше, но преобразование определяется по поверхности на изображении дальности. Подробнее... |
|
| bool | extractFromRangeImage (const RangeImage &range_image, const InterestPoint &interest_point, int descriptor_size, float support_size) |
| То же, что и выше. Подробнее... |
|
| bool | extractFromRangeImage (const RangeImage &range_image, const Eigen::Vector3f &interest_point, int descriptor_size, float support_size) |
| То же, что и выше. Подробнее... |
|
| bool | extractFromRangeImageWithBestRotation (const RangeImage &range_image, const Eigen::Vector3f &interest_point, int descriptor_size, float support_size) |
| То же, что и выше, но используется версия, инвариантная к вращению: выбирается наилучшее извлечённое вращение вокруг нормали. Подробнее... |
|
| void | getRotations (std::vector< float > &rotations, std::vector< float > &strengths) const |
| void | getRotatedVersions (const RangeImage &range_image, const std::vector< float > &rotations, std::vector< Narf * > &features) const | tr>
| float | getDescriptorDistance (const Narf &other) const |
| Вычислить расстояние между дескрипторами. Значение находится в диапазоне [0,1]: 0 означает идентичность, а 1 — что расстояние для каждой ячейки превышает максимальное. Подробнее... |
|
| int | getNoOfBeamPoints () const |
| Сколько точек на каждом луче градиентной звезды используется для вычисления дескриптора? Подробнее... |
|
| void | copyToNarf36 (Narf36 &narf36) const |
| Скопировать дескриптор и позу в структуру точки Narf36. Подробнее... |
|
| void | saveBinary (const std::string &filename) const |
| Записать в файл. Подробнее... |
|
| void | saveBinary (std::ostream &file) const |
| Записать в выходной поток. Подробнее... |
|
| void | loadBinary (const std::string &filename) |
| Прочитать из файла. Подробнее... |
|
| void | loadBinary (std::istream &file) |
| Прочитать из входного потока. Подробнее... |
|
| bool | extractDescriptor (int descriptor_size) |
| Создать дескриптор на основе уже заданных остальных членов. Подробнее... |
|
| const float * | getDescriptor () const |
| Метод получения дескриптора (const). Подробнее... |
|
| float * | getDescriptor () |
| Метод получения дескриптора. Подробнее... |
|
| const int & | getDescriptorSize () const |
| Метод получения длины дескриптора (const). Подробнее... |
|
| int & | getDescriptorSize () |
| Метод получения длины дескриптора. Подробнее... |
|
| const Eigen::Vector3f & | getPosition () const |
| Метод получения положения (const). Подробнее... |
|
| Eigen::Vector3f & | getPosition () |
| Метод получения положения. Подробнее... |
|
| const Eigen::Affine3f & | getTransformation () const |
| Метод получения позы с 6 степенями свободы (const). Подробнее... |
|
| Eigen::Affine3f & | getTransformation () |
| Метод получения позы с 6 степенями свободы. Подробнее... |
|
| const int & | getSurfacePatchPixelSize () const |
| Метод получения размера участка поверхности в пикселях (только для одного измерения, const). Подробнее... |
|
| int & | getSurfacePatchPixelSize () |
| Метод получения размера участка поверхности в пикселях (только для одного измерения). Подробнее... |
|
| const float & | getSurfacePatchWorldSize () const |
| Метод получения размера участка поверхности в мировых координатах (const). Подробнее... |
|
| float & | getSurfacePatchWorldSize () |
| Метод получения размера участка поверхности в мировых координатах. Подробнее... |
|
| const float & | getSurfacePatchRotation () const |
| Метод получения угла поворота участка поверхности (const). Подробнее... |
|
| float & | getSurfacePatchRotation () |
| Метод получения угла поворота участка поверхности. Подробнее... |
|
| const float * | getSurfacePatch () const |
| Метод получения участка поверхности (const). Подробнее... |
|
| float * | getSurfacePatch () |
| Метод получения участка поверхности. Подробнее... |
|
| void | freeSurfacePatch () |
| Метод удаления участка поверхности и освобождения памяти. Подробнее... |
|
| void | setDescriptor (float *descriptor) |
| Метод задания дескриптора. Подробнее... |
|
| void | setSurfacePatch (float *surface_patch) |
| Метод задания участка поверхности. Подробнее... |
|
Открытые статические функции-члены | |
| static void | extractFromRangeImageAndAddToList (const RangeImage &range_image, const Eigen::Vector3f &interest_point, int descriptor_size, float support_size, bool rotation_invariant, std::vector< Narf * > &feature_list) |
| Извлечь признаки в заданной точке интереса и добавить их в список. Подробнее... |
|
| static void | extractFromRangeImageAndAddToList (const RangeImage &range_image, float image_x, float image_y, int descriptor_size, float support_size, bool rotation_invariant, std::vector< Narf * > &feature_list) |
| То же, что и выше. Подробнее... |
|
| static void | extractForInterestPoints (const RangeImage &range_image, const PointCloud< InterestPoint > &interest_points, int descriptor_size, float support_size, bool rotation_invariant, std::vector< Narf * > &feature_list) |
| Получить список признаков для заданных точек интереса. Подробнее... |
|
| static void | extractForEveryRangeImagePointAndAddToList (const RangeImage &range_image, int descriptor_size, float support_size, bool rotation_invariant, std::vector< Narf * > &feature_list) |
| Извлечь NARF для каждой точки изображения дальности. Подробнее... |
|
Открытые статические атрибуты | |
| static int | max_no_of_threads |
| Максимальное число потоков OpenMP, которые можно использовать в этом классе. Подробнее... |
|
Защищённые функции-члены | |
| void | reset () |
| Сбросить все члены к значениям по умолчанию и освободить выделенную память. Подробнее... |
|
| void | deepCopy (const Narf &other) |
| Создать глубокую копию объекта other. Подробнее... |
|
| float * | getBlurredSurfacePatch (int new_pixel_size, int blur_radius) const |
| Получить участок поверхности с размытием. Подробнее... |
|
| void | saveHeader (std::ostream &file) const |
| Записать заголовок в выходной поток. Подробнее... |
|
| int | loadHeader (std::istream &file) const |
| Прочитать заголовок из входного потока. Подробнее... |
|
Статические защищённые функции-члены | |
| static const std::string | getHeaderKeyword () |
Защищённые атрибуты | |
| Eigen::Vector3f | position_ |
| Eigen::Affine3f | transformation_ |
| float * | surface_patch_ {nullptr} |
| int | surface_patch_pixel_size_ {0} |
| float | surface_patch_world_size_ {0.0f} |
| float | surface_patch_rotation_ {0.0f} |
| float * | descriptor_ {nullptr} |
| int | descriptor_size_ {0} |
Статические защищённые атрибуты | |
| static const int | VERSION = 1 |
Подробное описание
NARF (нормально ориентированные радиальные признаки) — тип дескриптора признаков точек для трёхмерных данных.
Обратитесь к pcl/features/narf_descriptor.h, если вам нужен класс, производный от Feature библиотеки pcl. См. B. Steder, R. B. Rusu, K. Konolige и W. Burgard, «Извлечение признаков точек на трёхмерных сканах дальности с учётом границ объектов», в материалах Международной конференции IEEE по робототехнике и автоматизации (ICRA), 2011.
Описание конструктора и деструктора
Narf() [1/2]
| pcl::Narf::Narf | ( | ) |
Конструктор.
Narf() [2/2]
| pcl::Narf::Narf | ( | const Narf & | other | ) |
Конструктор копирования.
~Narf()
| pcl::Narf::~Narf | ( | ) |
Деструктор.
Описание функций-членов
copyToNarf36()
| inline |
Копирует дескриптор и позу в структуру точки Narf36.
Определение в строке 54 файла narf.hpp.
Ссылки: pcl::Narf36::descriptor, descriptor_, descriptor_size_, pcl::getTranslationAndEulerAngles(), pcl::Narf36::pitch, pcl::Narf36::roll, transformation_, pcl::Narf36::x, pcl::Narf36::y, pcl::Narf36::yaw и pcl::Narf36::z.
deepCopy()
| protected |
Создаёт глубокую копию объекта other.
extractDescriptor()
| bool pcl::Narf::extractDescriptor | ( | int | descriptor_size | ) |
Создаёт дескриптор на основе уже заданных остальных членов.
extractForEveryRangeImagePointAndAddToList()
| static |
Извлекает NARF для каждой точки изображения дальности.
extractForInterestPoints()
| static |
Получает список признаков для заданных особых точек.
extractFromRangeImage() [1/4]
| bool pcl::Narf::extractFromRangeImage | ( | const RangeImage & | range_image, |
| const Eigen::Affine3f & | pose, | ||
| int | descriptor_size, | ||
| float | support_size, | ||
| int |
surface_patch_world_size = NARF_DEFAULT_SURFACE_PATCH_PIXEL_SIZE | ||
| ) |
Метод извлечения признака NARF из заданной трёхмерной точки с использованием изображения дальности.
Параметр pose задаёт систему координат признака и преобразует точку из мировой системы в систему признака. Это означает, что особая точка, в которой извлекается признак, получается обратным преобразованием pose для точки (0,0,0). descriptor_size_ задаёт размер дескриптора, support_size — размер области поддержки признака, то есть размер области, которую он охватывает в мировых координатах.
extractFromRangeImage() [2/4]
| bool pcl::Narf::extractFromRangeImage | ( | const RangeImage & | range_image, |
| const Eigen::Vector3f & | interest_point, | ||
| int | descriptor_size, | ||
| float | support_size | ||
| ) |
Аналогично описанному выше.
extractFromRangeImage() [3/4]
| bool pcl::Narf::extractFromRangeImage | ( | const RangeImage & | range_image, |
| const InterestPoint & | interest_point, | ||
| int | descriptor_size, | ||
| float | support_size | ||
| ) |
Аналогично описанному выше.
extractFromRangeImage() [4/4]
| bool pcl::Narf::extractFromRangeImage | ( | const RangeImage & | range_image, |
| float | x, | ||
| float | y, | ||
| int | descriptor_size, | ||
| float | support_size | ||
| ) |
Аналогично описанному выше, но преобразование определяется по поверхности на изображении дальности.
extractFromRangeImageAndAddToList() [1/2]
| static |
Извлекает признаки в заданной особой точке и добавляет их в список.
extractFromRangeImageAndAddToList() [2/2]
| static |
Аналогично описанному выше.
extractFromRangeImageWithBestRotation()
| bool pcl::Narf::extractFromRangeImageWithBestRotation | ( | const RangeImage & | range_image, |
| const Eigen::Vector3f & | interest_point, | ||
| int | descriptor_size, | ||
| float | support_size | ||
| ) |
Аналогично описанному выше, но используется версия с инвариантностью к вращению, выбирающая наилучшее извлечённое вращение вокруг нормали.
Используйте extractFromRangeImageAndAddToList, если нужно, чтобы система возвращала несколько признаков с различными углами поворота.
freeSurfacePatch()
| inline |
getBlurredSurfacePatch()
| protected |
Возвращает фрагмент поверхности с применённым размытием.
getDescriptor() [1/2]
| inline |
getDescriptor() [2/2]
| inline |
Метод доступа (const) к дескриптору.
Определение в строке 178 файла narf.h.
Используется в pcl::Narf::FeaturePointRepresentation::copyToFloatArray().
getDescriptorDistance()
| inline |
Вычисляет расстояние между дескрипторами. Значение находится в диапазоне [0,1]: 0 означает идентичность, а 1 — что значение каждой ячейки превышает максимальное расстояние.
Определение в строке 46 файла narf.hpp.
Ссылки: descriptor_, descriptor_size_ и pcl::L1_Norm().
getDescriptorSize() [1/2]
| inline |
getDescriptorSize() [2/2]
| inline |
getHeaderKeyword()
| inlinestaticprotected |
getNoOfBeamPoints()
| inline |
getPosition() [1/2]
| inline |
getPosition() [2/2]
| inline |
getRotatedVersions()
| void pcl::Narf::getRotatedVersions | ( | const RangeImage & | range_image, |
| const std::vector< float > & | rotations, | ||
| std::vector< Narf * > & | features | ||
| ) | const |
getRotations()
| void pcl::Narf::getRotations | ( | std::vector< float > & | rotations, |
| std::vector< float > & | strengths | ||
| ) | const |
getSurfacePatch() [1/2]
| inline |
getSurfacePatch() [2/2]
| inline |
getSurfacePatchPixelSize() [1/2]
| inline |
getSurfacePatchPixelSize() [2/2]
| inline |
getSurfacePatchRotation() [1/2]
| inline |
getSurfacePatchRotation() [2/2]
| inline |
getSurfacePatchWorldSize() [1/2]
| inline |
getSurfacePatchWorldSize() [2/2]
| inline |
getTransformation() [1/2]
| inline |
getTransformation() [2/2]
| inline |
loadBinary() [1/2]
| void pcl::Narf::loadBinary | ( | const std::string & | filename | ) |
Читает из файла.
loadBinary() [2/2]
| void pcl::Narf::loadBinary | ( | std::istream & | file | ) |
Читает из входного потока.
loadHeader()
| protected |
Читает заголовок из входного потока.
operator=()
reset()
| protected |
Сбрасывает все члены к значениям по умолчанию и освобождает выделенную память.
saveBinary() [1/2]
| void pcl::Narf::saveBinary | ( | const std::string & | filename | ) | const |
Записывает в файл.
saveBinary() [2/2]
| void pcl::Narf::saveBinary | ( | std::ostream & | file | ) | const |
Записывает в выходной поток.
saveHeader()
|
Записывает заголовок в выходной поток.
setDescriptor()
| inline |
setSurfacePatch()
| inline |
Описание данных-членов
descriptor_
| protected |
Определение в строке 284 файла narf.h.
Используется в функциях copyToNarf36() и getDescriptorDistance().
descriptor_size_
| protected |
Определение в строке 285 файла narf.h.
Используется в функциях copyToNarf36() и getDescriptorDistance().
max_no_of_threads
| static |
position_
surface_patch_
surface_patch_pixel_size_
surface_patch_rotation_
surface_patch_world_size_
transformation_
| protected |
Определение в строке 279 файла narf.h.
Используется в функции copyToNarf36().
VERSION
Документация для этого класса создана на основе следующих файлов:
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_narf.html