Spec-Zone.ru › PointCloudLibrary

NARF (Normal Aligned Radial Features) — тип дескриптора признаков точек для 3D-данных. Подробнее...

#include <pcl/features/narf.h>

Классы

struct FeaturePointRepresentation
tr>

Открытые функции-члены

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
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.

Автор
Bastian Steder

Определение в строке 65 файла narf.h.

Описание конструктора и деструктора

Narf() [1/2]

pcl::Narf::Narf ( )

Конструктор.

Narf() [2/2]

pcl::Narf::Narf ( const Narf & other )

Конструктор копирования.

~Narf()

pcl::Narf::~Narf ( )

Деструктор.

Описание функций-членов

copyToNarf36()

void pcl::Narf::copyToNarf36 ( Narf36 & narf36 ) const
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()

void pcl::Narf::deepCopy ( const Narf & other )
protected

Создаёт глубокую копию объекта other.

extractDescriptor()

bool pcl::Narf::extractDescriptor ( int descriptor_size )

Создаёт дескриптор на основе уже заданных остальных членов.

extractForEveryRangeImagePointAndAddToList()

static void pcl::Narf::extractForEveryRangeImagePointAndAddToList ( const RangeImage & range_image,
int descriptor_size,
float support_size,
bool rotation_invariant,
std::vector< Narf * > & feature_list
)
static

Извлекает NARF для каждой точки изображения дальности.

extractForInterestPoints()

static void pcl::Narf::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

Получает список признаков для заданных особых точек.

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 void pcl::Narf::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

Извлекает признаки в заданной особой точке и добавляет их в список.

extractFromRangeImageAndAddToList() [2/2]

static void pcl::Narf::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

Аналогично описанному выше.

extractFromRangeImageWithBestRotation()

bool pcl::Narf::extractFromRangeImageWithBestRotation ( const RangeImage & range_image,
const Eigen::Vector3f & interest_point,
int descriptor_size,
float support_size
)

Аналогично описанному выше, но используется версия с инвариантностью к вращению, выбирающая наилучшее извлечённое вращение вокруг нормали.

Используйте extractFromRangeImageAndAddToList, если нужно, чтобы система возвращала несколько признаков с различными углами поворота.

freeSurfacePatch()

void pcl::Narf::freeSurfacePatch ( )
inline

Метод для удаления фрагмента поверхности и освобождения памяти.

Определение в строке 226 файла narf.h.

getBlurredSurfacePatch()

float* pcl::Narf::getBlurredSurfacePatch ( int new_pixel_size,
int blur_radius
) const
protected

Возвращает фрагмент поверхности с применённым размытием.

getDescriptor() [1/2]

float* pcl::Narf::getDescriptor ( )
inline

Метод доступа к дескриптору.

Определение в строке 181 файла narf.h.

getDescriptor() [2/2]

const float* pcl::Narf::getDescriptor ( ) const
inline

Метод доступа (const) к дескриптору.

Определение в строке 178 файла narf.h.

Используется в pcl::Narf::FeaturePointRepresentation::copyToFloatArray().

getDescriptorDistance()

float pcl::Narf::getDescriptorDistance ( const Narf & other ) const
inline

Вычисляет расстояние между дескрипторами. Значение находится в диапазоне [0,1]: 0 означает идентичность, а 1 — что значение каждой ячейки превышает максимальное расстояние.

Определение в строке 46 файла narf.hpp.

Ссылки: descriptor_, descriptor_size_ и pcl::L1_Norm().

getDescriptorSize() [1/2]

int& pcl::Narf::getDescriptorSize ( )
inline

Метод доступа к длине дескриптора.

Определение в строке 187 файла narf.h.

getDescriptorSize() [2/2]

const int& pcl::Narf::getDescriptorSize ( ) const
inline

Метод доступа (const) к длине дескриптора.

Определение в строке 184 файла narf.h.

getHeaderKeyword()

static const std::string pcl::Narf::getHeaderKeyword ( )
inlinestaticprotected

Определение в строке 272 файла narf.h.

getNoOfBeamPoints()

int pcl::Narf::getNoOfBeamPoints ( ) const
inline

Сколько точек на каждом луче градиентной звезды используется для вычисления дескриптора?

Определение в строке 151 файла narf.h.

Ссылки: pcl_lrint.

getPosition() [1/2]

Eigen::Vector3f& pcl::Narf::getPosition ( )
inline

Метод доступа к позиции.

Определение в строке 193 файла narf.h.

getPosition() [2/2]

const Eigen::Vector3f& pcl::Narf::getPosition ( ) const
inline

Геттер (const) для позиции.

Определение в строке 190 файла narf.h.

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]

float* pcl::Narf::getSurfacePatch ( )
inline

Геттер для участка поверхности.

Определение в строке 223 файла narf.h.

getSurfacePatch() [2/2]

const float* pcl::Narf::getSurfacePatch ( ) const
inline

Геттер (const) для участка поверхности.

Определение в строке 220 файла narf.h.

getSurfacePatchPixelSize() [1/2]

int& pcl::Narf::getSurfacePatchPixelSize ( )
inline

Геттер для размера участка поверхности в пикселях (только одно измерение)

Определение в строке 205 файла narf.h.

getSurfacePatchPixelSize() [2/2]

const int& pcl::Narf::getSurfacePatchPixelSize ( ) const
inline

Геттер (const) для размера участка поверхности в пикселях (только одно измерение)

Определение в строке 202 файла narf.h.

getSurfacePatchRotation() [1/2]

float& pcl::Narf::getSurfacePatchRotation ( )
inline

Геттер для поворота участка поверхности.

Определение в строке 217 файла narf.h.

getSurfacePatchRotation() [2/2]

const float& pcl::Narf::getSurfacePatchRotation ( ) const
inline

Геттер (const) для поворота участка поверхности.

Определение в строке 214 файла narf.h.

getSurfacePatchWorldSize() [1/2]

float& pcl::Narf::getSurfacePatchWorldSize ( )
inline

Геттер для размера участка поверхности в мировых координатах.

Определение в строке 211 файла narf.h.

getSurfacePatchWorldSize() [2/2]

const float& pcl::Narf::getSurfacePatchWorldSize ( ) const
inline

Геттер (const) для размера участка поверхности в мировых координатах.

Определение в строке 208 файла narf.h.

getTransformation() [1/2]

Eigen::Affine3f& pcl::Narf::getTransformation ( )
inline

Геттер для позы с 6 степенями свободы.

Определение в строке 199 файла narf.h.

getTransformation() [2/2]

const Eigen::Affine3f& pcl::Narf::getTransformation ( ) const
inline

Геттер (const) для позы с 6 степенями свободы.

Определение в строке 196 файла narf.h.

loadBinary() [1/2]

void pcl::Narf::loadBinary ( const std::string & filename )

Читает из файла.

loadBinary() [2/2]

void pcl::Narf::loadBinary ( std::istream & file )

Читает из входного потока.

loadHeader()

int pcl::Narf::loadHeader ( std::istream & file ) const
protected

Читает заголовок из входного потока.

operator=()

const Narf& pcl::Narf::operator= ( const Narf & other )

Оператор присваивания.

reset()

void pcl::Narf::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()

void pcl::Narf::saveHeader ( std::ostream & file ) const

Записывает заголовок в выходной поток.

setDescriptor()

void pcl::Narf::setDescriptor ( float * descriptor )
inline

Сеттер для дескриптора.

Определение в строке 231 файла narf.h.

setSurfacePatch()

void pcl::Narf::setSurfacePatch ( float * surface_patch )
inline

Сеттер для участка поверхности.

Определение в строке 234 файла narf.h.

Описание данных-членов

descriptor_

float* pcl::Narf::descriptor_ {nullptr}
protected

Определение в строке 284 файла narf.h.

Используется в функциях copyToNarf36() и getDescriptorDistance().

descriptor_size_

int pcl::Narf::descriptor_size_ {0}
protected

Определение в строке 285 файла narf.h.

Используется в функциях copyToNarf36() и getDescriptorDistance().

max_no_of_threads

int pcl::Narf::max_no_of_threads
static

Максимальное количество потоков OpenMP, которые можно использовать в этом классе.

Определение в строке 82 файла narf.h.

position_

Eigen::Vector3f pcl::Narf::position_
protected

Определение в строке 278 файла narf.h.

surface_patch_

float* pcl::Narf::surface_patch_ {nullptr}
protected

Определение в строке 280 файла narf.h.

surface_patch_pixel_size_

int pcl::Narf::surface_patch_pixel_size_ {0}
protected

Определение в строке 281 файла narf.h.

surface_patch_rotation_

float pcl::Narf::surface_patch_rotation_ {0.0f}
protected

Определение в строке 283 файла narf.h.

surface_patch_world_size_

float pcl::Narf::surface_patch_world_size_ {0.0f}
protected

Определение в строке 282 файла narf.h.

transformation_

Eigen::Affine3f pcl::Narf::transformation_
protected

Определение в строке 279 файла narf.h.

Используется в функции copyToNarf36().

VERSION

const int pcl::Narf::VERSION = 1
staticprotected

Определение в строке 275 файла narf.h.


Документация для этого класса создана на основе следующих файлов:
  • pcl/features/narf.h
  • pcl/features/impl/narf.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_narf.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API