210 uint8_t* outputImageBuffer,
size_t outputImageBufferSize)
const;
232 const peak::ipl::PixelFormat& outputPixelFormat,
const size_t width,
const size_t height,
const size_t imageCount)
248 if (other.m_backendHandle)
253 m_backendHandle = other.m_backendHandle;
265 if (other.m_backendHandle)
272 m_backendHandle = other.m_backendHandle;
279 *
this = std::move(other);
287 m_backendHandle = other.m_backendHandle;
288 other.m_backendHandle =
nullptr;
296 const size_t imageCount)
300 static_cast<PEAK_IPL_PIXEL_FORMAT>(inputPixelFormat.
PixelFormatName()),
301 static_cast<PEAK_IPL_PIXEL_FORMAT>(outputPixelFormat.
PixelFormatName()), width, height, imageCount);
311 m_backendHandle, reinterpret_cast<PEAK_IPL_CONVERSION_MODE*>(&conversionMode));
314 return conversionMode;
321 m_backendHandle, static_cast<PEAK_IPL_CONVERSION_MODE>(conversionMode));
331 m_backendHandle, static_cast<PEAK_IPL_PIXEL_FORMAT>(inputPixelFormat.
PixelFormatName()),
nullptr, &size);
333 std::vector<PixelFormatName> supportedOutputPixelFormats(size);
336 static_cast<PEAK_IPL_PIXEL_FORMAT>(inputPixelFormat.
PixelFormatName()),
337 reinterpret_cast<PEAK_IPL_PIXEL_FORMAT*>(supportedOutputPixelFormats.data()), &size);
340 return supportedOutputPixelFormats;
348 ImageBackendAccessor::BackendHandle(inputImage),
349 static_cast<PEAK_IPL_PIXEL_FORMAT>(outputPixelFormat.
PixelFormatName()), &outputImageHandle);
352 return ImageBackendAccessor::CreateImage(outputImageHandle);
356 uint8_t* outputImageBuffer,
size_t outputImageBufferSize)
const 361 ImageBackendAccessor::BackendHandle(inputImage),
362 static_cast<PEAK_IPL_PIXEL_FORMAT>(outputPixelFormat.
PixelFormatName()), outputImageBuffer,
363 outputImageBufferSize, &outputImageHandle);
366 return ImageBackendAccessor::CreateImage(outputImageHandle);
#define PEAK_IPL_NO_DISCARD
Definition: peak_ipl_backend.h:26
#define PEAK_IPL_C_ABI_PREFIX
Definition: peak_ipl_dll_defines.h:16
ImageConverter()
Constructor for a new ImageConverter instance.
Definition: peak_ipl_image_converter.hpp:226
PEAK_IPL_C_API PEAK_IPL_ImageConverter_ConvertToBuffer(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, uint8_t *outputImageBuffer, size_t outputImageBufferSize, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Creates a new image containing the data of the input image converted to the given pixel format...
PEAK_IPL_C_API PEAK_IPL_ImageConverter_Convert(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Creates a new image containing the data of the input image converted to the given pixel format...
The "peak::ipl" namespace contains the whole image processing library.
Definition: peak_ipl_binning.hpp:22
void ExecuteAndMapReturnCodes(const CallableType &callableObject)
Definition: peak_ipl_exception.hpp:182
Stores the pixel format, width and height of an image and the pointer to the image buffer...
Definition: peak_ipl_image.hpp:39
void SetConversionMode(peak::ipl::ConversionMode conversionMode)
Set conversion mode.
Definition: peak_ipl_image_converter.hpp:317
ConversionMode
Enum holding the possible conversion modes.
Definition: peak_ipl_simple_types.hpp:28
struct PEAK_IPL_IMAGE_CONVERTER * PEAK_IPL_IMAGE_CONVERTER_HANDLE
Definition: peak_ipl_backend.h:322
struct PEAK_IPL_IMAGE * PEAK_IPL_IMAGE_HANDLE
Definition: peak_ipl_backend.h:354
PEAK_IPL_NO_DISCARD Image Convert(const Image &inputImage, const peak::ipl::PixelFormat &outputPixelFormat) const
Converts the input image converted to the given pixel format.
Definition: peak_ipl_image_converter.hpp:343
PEAK_IPL_C_API PEAK_IPL_ImageConverter_Construct(PEAK_IPL_IMAGE_CONVERTER_HANDLE *imageConverterHandle)
Creates an image converter.
PEAK_IPL_C_API PEAK_IPL_ImageConverter_GetConversionMode(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_CONVERSION_MODE *conversionMode)
Queries the given image converter's current conversion mode.
void PreAllocateConversion(const peak::ipl::PixelFormat &inputPixelFormat, const peak::ipl::PixelFormat &outputPixelFormat, size_t width, size_t height, size_t imageCount=5)
Pre-allocate buffer pools needed for the specified conversion.
Definition: peak_ipl_image_converter.hpp:294
PEAK_IPL_NO_DISCARD peak::ipl::ConversionMode ConversionMode() const
Returns the current conversion mode.
Definition: peak_ipl_image_converter.hpp:305
PEAK_IPL_C_API PEAK_IPL_ImageConverter_Destruct(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle)
Destroys the image converter associated with the given handle.
PEAK_IPL_C_API PEAK_IPL_ImageConverter_Acquire(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle)
Increase the reference count of an image converter.
PEAK_IPL_C_API PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_PIXEL_FORMAT inputPixelFormat, PEAK_IPL_PIXEL_FORMAT *outputPixelFormats, size_t *outputPixelFormatsSize)
Queries the supported output pixel formats for a given input pixel format.
ImageConverter & operator=(const ImageConverter &other)
Copy assigment for ImageConverter instance.
Definition: peak_ipl_image_converter.hpp:256
Converts images from one PixelFormat to another.
Definition: peak_ipl_image_converter.hpp:46
PEAK_IPL_C_API PEAK_IPL_ImageConverter_SetConversionMode(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_CONVERSION_MODE conversionMode)
Sets the given image converter's conversion mode.
PEAK_IPL_C_API PEAK_IPL_ImageConverter_PreAllocateConversion(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_PIXEL_FORMAT inputPixelFormat, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, size_t width, size_t height, size_t imageCount)
Pre-allocates internal buffer pools for the specified conversion.
PEAK_IPL_NO_DISCARD std::vector< peak::ipl::PixelFormatName > SupportedOutputPixelFormatNames(const peak::ipl::PixelFormat &inputPixelFormat) const
Returns the supported output pixel formats for a given input pixel format.
Definition: peak_ipl_image_converter.hpp:325
~ImageConverter()
Destructor for the ImageConverter instance.
Definition: peak_ipl_image_converter.hpp:238