Base class of all stream related images. More...
#include <cvb/driver/stream_image.hpp>
Inherits Image.
Inherited by BufferImage, MultiPartImage, and RingBufferImage.
Public Member Functions | |
virtual double | RawTimestamp () const noexcept |
Gets the raw timestamp as reported by the driver. More... | |
Public Member Functions inherited from Image | |
Image (Size2D< int > size, int numPlanes=1, DataType dataType=DataType::Int8BppUnsigned()) | |
Constructs an uninitialized image with the given parameters. More... | |
Image (int width, int height, int numPlanes=1, DataType dataType=DataType::Int8BppUnsigned()) | |
Constructs an uninitialized image with the given parameters. More... | |
Image (const String &fileName) | |
Loads an image with the given file name. More... | |
void * | Handle () const noexcept |
Classic API image handle. More... | |
int | PlanesCount () const noexcept |
Get the number of planes for this image. More... | |
bool | PlaneDataTypesIdentical () const noexcept |
Check if all planes have the same data type. More... | |
ImagePlane | Plane (int plane) const |
Indexed access to the individual plane information. More... | |
std::vector< ImagePlane > | Planes () const noexcept |
Access all planes for this image. More... | |
std::vector< double > | GetPixel (Point2D< int > position) const |
Gets the pixel values for all planes at a give position. More... | |
int | Height () const noexcept |
Height of the image in pixels. More... | |
int | Width () const noexcept |
Width of the image in pixels. More... | |
Cvb::ColorModel | ColorModel () const noexcept |
Color model realized by this image. More... | |
void | Save (const String &fileName) const |
Write the current content of the image into a file. More... | |
std::unique_ptr< Image > | Map (Rect< int > rect) const |
Creates a mapped image of the region of this image. More... | |
std::unique_ptr< Image > | Map (Rect< int > sourceRect, Size2D< int > targetSize) const |
Creates a mapped image of the region of that image scaled to the size. More... | |
std::unique_ptr< Image > | Clone () const |
Creates a new image object, that is a copy of the current instance. More... | |
void | Copy (Image &targetImage, Rect< int > sourceRect, Point2D< int > targetPosition) const |
Copies the image data from the source rectangle of this image to the target position inside the target image. More... | |
void | Copy (Image &targetImage) const |
Copies the image data from this image to the target image. More... | |
Size2D< int > | Size () const noexcept |
Size of the image in pixels. More... | |
Rect< int > | Bounds () const noexcept |
Bounding rectangle of the image in pixels. More... | |
void | RaisePixelContentChanged () const |
Inform clients listening to the pixel content changed event, that the image data has been completely updated (full area). More... | |
void | RaisePixelContentChanged (Rect< int > rect) const |
Inform clients listening to the pixel content changed event, that the image data has been updated in the given rectangle. More... | |
EventCookie | RegisterEventPixelContentChanged (std::function< void(const Image &, Rect< int >)> handler) |
Register a listener to the pixel content changed event. More... | |
void | UnregisterEventPixelContentChanged (EventCookie eventCookie) noexcept |
Manually unregister a listener from the pixel content changed event. More... | |
Point2D< double > | ImageToPixelCoordinates (Point2D< double > point) const noexcept |
Convert a point from image to pixel coordinates. More... | |
Area2D | ImageToPixelCoordinates (Area2D area) const noexcept |
Convert an Area2D from image to pixel coordinates. More... | |
Point2D< double > | PixelToImageCoordinates (Point2D< double > point) const noexcept |
Convert a point from pixel to image coordinates. More... | |
Area2D | PixelToImageCoordinates (Area2D area) const noexcept |
Convert an Area2D from pixel to image coordinates. More... | |
AffineMatrix2D | CoordinateSystem () const noexcept |
Get the coordinate system of the image. More... | |
void | SetCoordinateSystem (AffineMatrix2D affineMatrix) noexcept |
Set the coordinate system of the image. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from Image | |
static std::unique_ptr< Image > | Load (const String &fileName) |
Loads an image with the given file name. More... | |
static std::unique_ptr< Image > | Create (Size2D< int > size, int numPlanes=1, DataType dataType=DataType::Int8BppUnsigned()) |
Creates an uninitialized image with the given parameters. More... | |
static std::unique_ptr< Image > | Create (int width, int height, int numPlanes=1, DataType dataType=DataType::Int8BppUnsigned()) |
Creates an uninitialized image with the given parameters. More... | |
template<class RANGE > | |
static TypedRange< std::unique_ptr< Image >, ImagePtr, RANGE >::type | FromImages (MappingOption mapping, const RANGE &images) |
Create an image that is the result of concatenating a series of input images. More... | |
template<class... IMAGES> | |
static VarArgRange< std::unique_ptr< Image >, constImage &, IMAGES... >::type | FromImages (MappingOption mapping, const IMAGES &... images) |
Create an image that is the result of concatenating a series of input images. More... | |
template<class RANGE > | |
static TypedRange< std::unique_ptr< Image >, ImagePlane, RANGE >::type | FromPlanes (MappingOption mapping, const RANGE &planes) |
Create an image that is the result of concatenating a series of input planes. More... | |
template<class... PLANES> | |
static VarArgRange< std::unique_ptr< Image >, ImagePlane &&, PLANES... >::type | FromPlanes (MappingOption mapping, PLANES &&... planes) |
Create an image that is the result of concatenating a series of input planes. More... | |
static std::unique_ptr< Image > | FromHandle (HandleGuard< Image > &&guard) |
Creates an image from a classic API handle. More... | |
template<class T , class... ARGS> | |
static std::unique_ptr< T > | FromHandle (HandleGuard< Image > &&guard, ARGS &&... args) |
Creates an image from a classic API handle (typed). More... | |
Related Functions inherited from Image | |
std::unique_ptr< Image > | AffineTransform (const Image &image, AffineMatrix2D affineMatrix, Area2D area) |
Creates an affine transformation (homogeneous matrix transformation) of an area of the given image. More... | |
std::unique_ptr< Image > | AffineTransform (const Image &image, AffineMatrix2D affineMatrix) |
Creates an affine transformation (homogeneous matrix transformation) of the whole image. More... | |
std::unique_ptr< Image > | LinearTransform (const Image &image, Matrix2D matrix) |
Creates a linear transformation (matrix transformation). More... | |
std::unique_ptr< Image > | MapTo8Bit (const Image &image, PlaneNormalization planeNormalization=PlaneNormalization::Identical) |
Take an input image and scale the pixel values to fit into the 8 bit value range. More... | |
std::unique_ptr< Image > | NormalizeMinMax (const Image &image, double targetMin, double targetMax) |
Normalize an input image using min/max normalization (the gray values of the image will be stretched or compressed to fit the input target minimum and maximum values). More... | |
std::unique_ptr< Image > | NormalizeMeanVariance (const Image &image, double targetMean, double targetVariance) |
Normalize an input image using mean/variance normalization (the gray values of the image will be stretched modified to generate a histogram as close as possible to the input target mean and variance values). More... | |
std::unique_ptr< Image > | PolarTransform (const Image &image, Point2D< double > center, double innerRadius, double outerRadius, Angle startAngle, Angle totalAngle) |
Create a polar transformation (i.e. unwrap a ring structure from inside source image into a rectangular image). More... | |
std::unique_ptr< Image > | PolarTransform (const Image &image, Point2D< double > center, double innerRadius, double outerRadius) |
Create a polar transformation (i.e. unwrap a ring structure from inside source image into a rectangular image). More... | |
std::unique_ptr< Image > | InversePolarTransform (const Image &image, Angle startAngle, double innerRadius) |
void | InversePolarTransformToDst (const Image &imageSrc, Point2D< double > center, Angle startAngle, double innerRadius, Image &imageDst) |
Create an inverse polar transformed image (i.e. transform an unwrapped image back into a ring structure). More... | |
Base class of all stream related images.
A stream related image is returned from a grab synchronization method like Stream::Wait(). These kinds of images normally use an underlying ring buffer or a queue to reuse memory and increase performance. This then implies, that the validity of this image's data is limited according to the used acquisition engine / strategy.
By default, you expect images of this type to be valid from creation until the next synchronization / acquisition start.
|
inlinevirtualnoexcept |
Gets the raw timestamp as reported by the driver.
Does | not throw any exception. |
This value's unit depends on the driver used.
Reimplemented in RingBufferImage.