Spec-Zone.ru › PointCloudLibrary

NARF (Нормаль Выровненные Радиальные Признаки) — тип описателя точечных признаков для 3D данных. Подробнее...

#include <pcl/features/narf.h>

Классы

struct ПредставлениеТочкиПризнака

Публичные функции-члены

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)
Создать дескриптор из уже установленных других членов. More...
const float * getDescriptor () const
Геттер (const) для дескриптора. More...
float * getDescriptor ()
Геттер для дескриптора. More...
const int & getDescriptorSize () const
Геттер (const) для длины дескриптора. More...
int & getDescriptorSize ()
Геттер для длины дескриптора. More...
const Eigen::Vector3f & getPosition () const
Геттер (const) для позиции. More...
Eigen::Vector3f & getPosition ()
Геттер для позиции. More...
const Eigen::Affine3f & getTransformation () const
Геттер (const) для 6DoF позы. More...
Eigen::Affine3f & getTransformation ()
Геттер для 6DoF позы. More...
const int & getSurfacePatchPixelSize () const
Геттер (const) для размера пикселя участка поверхности (только одно измерение). More...
int & getSurfacePatchPixelSize ()
Геттер для размера пикселя участка поверхности (только одно измерение). More...
const float & getSurfacePatchWorldSize () const
Геттер (const) для размера участка поверхности в мировых координатах. More...
float & getSurfacePatchWorldSize ()
Геттер для размера участка поверхности в мировых координатах. More...
const float & getSurfacePatchRotation () const
Геттер (const) для угла поворота участка поверхности. More...
float & getSurfacePatchRotation ()
Геттер для угла поворота участка поверхности. More...
const float * getSurfacePatch () const
Геттер (const) для участка поверхности. More...
float * getSurfacePatch ()
Геттер для участка поверхности. More...
void freeSurfacePatch ()
Метод для удаления участка поверхности и освобождения памяти. More...
void setDescriptor (float *descriptor)
Сеттер для дескриптора. More...
void setSurfacePatch (float *surface_patch)
Сеттер для участка поверхности. More...

Статические публичные члены-функции

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_
int surface_patch_pixel_size_
float surface_patch_world_size_
float surface_patch_rotation_
float * descriptor_
int descriptor_size_

Статические защищённые атрибуты

static const int VERSION = 1

Подробное описание

NARF (Нормаль Aligned Radial Features) — это тип описателя точечных признаков для 3D данных.

Обратитесь к pcl/features/narf_descriptor.h, если вам нужен класс, производный от pcl признака. См. B. Steder, R. B. Rusu, K. Konolige и W. Burgard. Извлечение точечных признаков на 3D сканах дальности, учитывая границы объекта в Proc. IEEE Int. Conf. по робототехнике и автоматизации (ICRA). 2011.

Автор
Бастиан Штедер

Определение в строке 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 из определённой 3D точки с помощью изображения дальности.

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

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

Определение в строке 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
protected

Запись заголовка в поток вывода.

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_
protected

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

Используется в copyToNarf36() и getDescriptorDistance().

descriptor_size_

int pcl::Narf::descriptor_size_
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_
protected

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

surface_patch_pixel_size_

int pcl::Narf::surface_patch_pixel_size_
protected

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

surface_patch_rotation_

float pcl::Narf::surface_patch_rotation_
protected

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

surface_patch_world_size_

float pcl::Narf::surface_patch_world_size_
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