Abstract base class of all PCL geometric image transformations.
More...
#include <GeometricTransformation.h>
|
template<class P > |
static void | ApplyGammaExponentCorrection (typename P::sample *samples, size_type length, double gamma, AbstractImage::ThreadData &threadData, int maxProcessors=PCL_MAX_PROCESSORS) |
|
template<class P > |
static void | ApplyInverseGammaExponentCorrection (typename P::sample *samples, size_type length, double gamma, AbstractImage::ThreadData &threadData, int maxProcessors=PCL_MAX_PROCESSORS) |
|
template<class P > |
static void | ApplyInverseSRGBGammaCorrection (typename P::sample *samples, size_type length, AbstractImage::ThreadData &threadData, int maxProcessors=PCL_MAX_PROCESSORS) |
|
template<class P > |
static void | ApplySRGBGammaCorrection (typename P::sample *samples, size_type length, AbstractImage::ThreadData &threadData, int maxProcessors=PCL_MAX_PROCESSORS) |
|
GeometricTransformation represents a geometrical transformation that can be applied to any image type defined in PCL.
- See also
- InterpolatingGeometricTransformation, ImageTransformation
Definition at line 77 of file GeometricTransformation.h.
◆ GeometricTransformation() [1/3]
pcl::GeometricTransformation::GeometricTransformation |
( |
| ) |
|
|
default |
Constructs a GeometricTransformation object.
◆ GeometricTransformation() [2/3]
◆ GeometricTransformation() [3/3]
◆ ~GeometricTransformation()
pcl::GeometricTransformation::~GeometricTransformation |
( |
| ) |
|
|
inlineoverride |
◆ ApplyGammaExponentCorrection()
template<class P >
static void pcl::GeometricTransformation::ApplyGammaExponentCorrection |
( |
typename P::sample * |
samples, |
|
|
size_type |
length, |
|
|
double |
gamma, |
|
|
AbstractImage::ThreadData & |
threadData, |
|
|
int |
maxProcessors = PCL_MAX_PROCESSORS |
|
) |
| |
|
inlinestatic |
Applies a gamma correction function to a block of pixel sample values.
- Parameters
-
[in,out] | samples | Pointer to the start of a contiguous block of pixel sample values. On input, these values must be expressed in a nonlinear color space with the specified gamma exponent. On output, these values will be expressed in a linear color space. |
| length | Number of pixel sample values to process. |
| gamma | The gamma exponent of the nonlinear color space. A value gamma > 0 must be specified. |
| threadData | Reference to an AbstractImage::ThreadData object for thread control and monitoring. |
| maxProcessors | Maximum number of parallel threads to use. The default value does not impose a practical limit. |
Definition at line 232 of file GeometricTransformation.h.
◆ ApplyInverseGammaExponentCorrection()
template<class P >
static void pcl::GeometricTransformation::ApplyInverseGammaExponentCorrection |
( |
typename P::sample * |
samples, |
|
|
size_type |
length, |
|
|
double |
gamma, |
|
|
AbstractImage::ThreadData & |
threadData, |
|
|
int |
maxProcessors = PCL_MAX_PROCESSORS |
|
) |
| |
|
inlinestatic |
Applies an inverse gamma correction function to a block of pixel sample values.
- Parameters
-
[in,out] | samples | Pointer to the start of a contiguous block of pixel sample values. On input, these values must be expressed in a linear color space. On output, these values will be expressed in a nonlinear color space with the specified gamma exponent. |
| length | Number of pixel sample values to process. |
| gamma | The gamma exponent of the nonlinear color space. A value gamma > 0 must be specified. |
| threadData | Reference to an AbstractImage::ThreadData object for thread control and monitoring. |
| maxProcessors | Maximum number of parallel threads to use. The default value does not impose a practical limit. |
Definition at line 271 of file GeometricTransformation.h.
◆ ApplyInverseSRGBGammaCorrection()
template<class P >
static void pcl::GeometricTransformation::ApplyInverseSRGBGammaCorrection |
( |
typename P::sample * |
samples, |
|
|
size_type |
length, |
|
|
AbstractImage::ThreadData & |
threadData, |
|
|
int |
maxProcessors = PCL_MAX_PROCESSORS |
|
) |
| |
|
inlinestatic |
Applies an inverse sRGB gamma correction function to a block of pixel sample values.
- Parameters
-
[in,out] | samples | Pointer to the start of a contiguous block of pixel sample values. On input, these values must be expressed in a linear color space. On output, these values will be expressed in the sRGB color space. |
| length | Number of pixel sample values to process. |
| threadData | Reference to an AbstractImage::ThreadData object for thread control and monitoring. |
| maxProcessors | Maximum number of parallel threads to use. The default value does not impose a practical limit. |
Definition at line 339 of file GeometricTransformation.h.
◆ ApplySRGBGammaCorrection()
template<class P >
static void pcl::GeometricTransformation::ApplySRGBGammaCorrection |
( |
typename P::sample * |
samples, |
|
|
size_type |
length, |
|
|
AbstractImage::ThreadData & |
threadData, |
|
|
int |
maxProcessors = PCL_MAX_PROCESSORS |
|
) |
| |
|
inlinestatic |
Applies an sRGB gamma correction function to a block of pixel sample values.
- Parameters
-
[in,out] | samples | Pointer to the start of a contiguous block of pixel sample values. On input, these values must be expressed in the sRGB color space. On output, these values will be expressed in a linear color space. |
| length | Number of pixel sample values to process. |
| threadData | Reference to an AbstractImage::ThreadData object for thread control and monitoring. |
| maxProcessors | Maximum number of parallel threads to use. The default value does not impose a practical limit. |
Definition at line 306 of file GeometricTransformation.h.
◆ GetNewSizes()
virtual void pcl::GeometricTransformation::GetNewSizes |
( |
int & |
width, |
|
|
int & |
height |
|
) |
| const |
|
pure virtual |
Predicts transformed image dimensions.
- Parameters
-
[in,out] | width | Reference to a variable whose value is a horizontal dimension in pixels (width). On output, it will receive the predicted horizontal dimension after the transformation. |
[in,out] | height | Reference to a variable whose value is a vertical dimension in pixels (height). On output, it will receive the predicted vertical dimension after the transformation. |
- Note
- This is a pure virtual member function that must be reimplemented in every derived class.
Implemented in pcl::Translation, pcl::Rotation, pcl::Resample, pcl::IntegerResample, pcl::Crop, pcl::AstrometricReprojection, pcl::PolarTransformBase, pcl::VerticalMirror, pcl::HorizontalMirror, pcl::Rotate90CCW, pcl::Rotate90CW, and pcl::Rotate180.
◆ operator=() [1/2]
◆ operator=() [2/2]
Move assignment operator. Returns a reference to this object.
The documentation for this class was generated from the following file: