Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::io::PointCloudImageExtractor< PointT > Class Template Referenceabstract

Base Image Extractor class for organized point clouds. More...

#include <pcl/io/point_cloud_image_extractors.h>

+ Inheritance diagram for pcl::io::PointCloudImageExtractor< PointT >:

Public Types

using PointCloud = pcl::PointCloud< PointT >
 
using Ptr = shared_ptr< PointCloudImageExtractor< PointT > >
 
using ConstPtr = shared_ptr< const PointCloudImageExtractor< PointT > >
 

Public Member Functions

 PointCloudImageExtractor ()=default
 Constructor. More...
 
virtual ~PointCloudImageExtractor ()=default
 Destructor. More...
 
bool extract (const PointCloud &cloud, pcl::PCLImage &image) const
 Obtain the image from the given cloud. More...
 
void setPaintNaNsWithBlack (bool flag)
 Set a flag that controls if image pixels corresponding to NaN (infinite) points should be painted black. More...
 

Protected Member Functions

virtual bool extractImpl (const PointCloud &cloud, pcl::PCLImage &image) const =0
 Implementation of the extract() function, has to be implemented in deriving classes. More...
 

Protected Attributes

bool paint_nans_with_black_ {false}
 A flag that controls if image pixels corresponding to NaN (infinite) points should be painted black. More...
 

Detailed Description

template<typename PointT>
class pcl::io::PointCloudImageExtractor< PointT >

Base Image Extractor class for organized point clouds.

This is an abstract class that declares an interface for image extraction from organized point clouds. The family of its subclasses provide functionality to extract images from particular fields.

The following piece of code demonstrates typical usage of a PointCloudImageExtractor subclass. Here the data are extracted from the "label" field and are saved as a PNG image file.

// Source point cloud (needs to be filled with data of course)
// Target image
// Create PointCloudImageExtractor subclass that can handle "label" field
// Set it up if not happy with the defaults
// Try to extract an image
bool success = pcie.extract(cloud, image);
// Save to file if succeeded
if (success)
pcl::io::saveImage ("filename.png", image);
PointCloud represents the base class in PCL for storing collections of 3D points.
Definition: point_cloud.h:173
Image Extractor which uses the data present in the "label" field to produce either monochrome or RGB ...
void setColorMode(const ColorMode color_mode)
Set color mapping mode.
bool extract(const PointCloud &cloud, pcl::PCLImage &image) const
Obtain the image from the given cloud.
Author
Sergey Alexandrov

Definition at line 78 of file point_cloud_image_extractors.h.

Member Typedef Documentation

◆ ConstPtr

template<typename PointT >
using pcl::io::PointCloudImageExtractor< PointT >::ConstPtr = shared_ptr<const PointCloudImageExtractor<PointT> >

Definition at line 84 of file point_cloud_image_extractors.h.

◆ PointCloud

Definition at line 81 of file point_cloud_image_extractors.h.

◆ Ptr

template<typename PointT >
using pcl::io::PointCloudImageExtractor< PointT >::Ptr = shared_ptr<PointCloudImageExtractor<PointT> >

Definition at line 83 of file point_cloud_image_extractors.h.

Constructor & Destructor Documentation

◆ PointCloudImageExtractor()

template<typename PointT >
pcl::io::PointCloudImageExtractor< PointT >::PointCloudImageExtractor ( )
default

Constructor.

◆ ~PointCloudImageExtractor()

template<typename PointT >
virtual pcl::io::PointCloudImageExtractor< PointT >::~PointCloudImageExtractor ( )
virtualdefault

Destructor.

Member Function Documentation

◆ extract()

template<typename PointT >
bool pcl::io::PointCloudImageExtractor< PointT >::extract ( const PointCloud cloud,
pcl::PCLImage image 
) const

Obtain the image from the given cloud.

Parameters
[in]cloudorganized point cloud to extract image from
[out]imagethe output image
Returns
true if the operation was successful, false otherwise

Definition at line 51 of file point_cloud_image_extractors.hpp.

References pcl::PCLImage::data, pcl::PCLImage::encoding, pcl::PointCloud< PointT >::height, pcl::isFinite(), pcl::PointCloud< PointT >::isOrganized(), pcl::PointCloud< PointT >::size(), and pcl::PointCloud< PointT >::width.

◆ extractImpl()

template<typename PointT >
virtual bool pcl::io::PointCloudImageExtractor< PointT >::extractImpl ( const PointCloud cloud,
pcl::PCLImage image 
) const
protectedpure virtual

◆ setPaintNaNsWithBlack()

template<typename PointT >
void pcl::io::PointCloudImageExtractor< PointT >::setPaintNaNsWithBlack ( bool  flag)
inline

Set a flag that controls if image pixels corresponding to NaN (infinite) points should be painted black.

Definition at line 104 of file point_cloud_image_extractors.h.

References pcl::io::PointCloudImageExtractor< PointT >::paint_nans_with_black_.

Member Data Documentation

◆ paint_nans_with_black_

template<typename PointT >
bool pcl::io::PointCloudImageExtractor< PointT >::paint_nans_with_black_ {false}
protected

A flag that controls if image pixels corresponding to NaN (infinite) points should be painted black.

Definition at line 119 of file point_cloud_image_extractors.h.

Referenced by pcl::io::PointCloudImageExtractor< PointT >::setPaintNaNsWithBlack().


The documentation for this class was generated from the following files: