Skip to content

Group CImageProcessor

Modules > CImageProcessor

The functions in this section provide access to information and functionality of image processor. This includes image processor creation, deletion, image conversion, image decompression and image post processing methods. More...

Public Functions

Type Name
spinImageProcessorApplyGamma (spinImageProcessor hImageProcessor, spinImage hSrcImage, spinImage hDestImage, float gamma, bool8_t applyGammaInverse)
spinImageProcessorConvert (spinImageProcessor hImageProcessor, spinImage hSrcImage, spinImage hDestImage, spinPixelFormatEnums destFormat)
spinImageProcessorConvertImageList (spinImageProcessor hImageProcessor, spinImageList hSrcImageList, spinImage hDestImage, spinPixelFormatEnums destFormat)
spinImageProcessorCreate (spinImageProcessor * phImageProcessor)
spinImageProcessorDestroy (spinImageProcessor hImageProcessor)
spinImageProcessorGetColorProcessing (spinImageProcessor hImageProcessor, spinColorProcessingAlgorithm * pColorAlgorithm)
spinImageProcessorGetNumDecompressionThreads (spinImageProcessor hImageProcessor, unsigned int * pNumThreads)
spinImageProcessorSetColorProcessing (spinImageProcessor hImageProcessor, spinColorProcessingAlgorithm colorAlgorithm)
spinImageProcessorSetNumDecompressionThreads (spinImageProcessor hImageProcessor, unsigned int numThreads)

Detailed Description

All supported input image pixel formats can be converted to supported output image pixel formats. If the input pixel format is a compressed format, the decompression will occur before converting to the output pixel format.

List of supported input image pixel formats:

  • PixelFormat_Mono8
  • PixelFormat_Mono16
  • PixelFormat_BayerGR8
  • PixelFormat_BayerRG8
  • PixelFormat_BayerGB8
  • PixelFormat_BayerBG8
  • PixelFormat_BayerGR16
  • PixelFormat_BayerRG16
  • PixelFormat_BayerGB16
  • PixelFormat_BayerBG16
  • PixelFormat_Mono12Packed
  • PixelFormat_BayerGR12Packed
  • PixelFormat_BayerRG12Packed
  • PixelFormat_BayerGB12Packed
  • PixelFormat_BayerBG12Packed
  • PixelFormat_YUV411Packed
  • PixelFormat_YUV422Packed
  • PixelFormat_YUV444Packed
  • PixelFormat_Mono12p
  • PixelFormat_BayerGR12p
  • PixelFormat_BayerRG12p
  • PixelFormat_BayerGB12p
  • PixelFormat_BayerBG12p
  • PixelFormat_YCbCr8
  • PixelFormat_YCbCr422_8
  • PixelFormat_YCbCr411_8
  • PixelFormat_BGR8
  • PixelFormat_BGRa8
  • PixelFormat_Mono10Packed
  • PixelFormat_BayerGR10Packed
  • PixelFormat_BayerRG10Packed
  • PixelFormat_BayerGB10Packed
  • PixelFormat_BayerBG10Packed
  • PixelFormat_Mono10p
  • PixelFormat_BayerGR10p
  • PixelFormat_BayerRG10p
  • PixelFormat_BayerGB10p
  • PixelFormat_BayerBG10p
  • PixelFormat_Mono10
  • PixelFormat_Mono12
  • PixelFormat_Mono14
  • PixelFormat_BayerBG10
  • PixelFormat_BayerBG12
  • PixelFormat_BayerGB10
  • PixelFormat_BayerGB12
  • PixelFormat_BayerGR10
  • PixelFormat_BayerGR12
  • PixelFormat_BayerRG10
  • PixelFormat_BayerRG12
  • PixelFormat_RGBa8
  • PixelFormat_RGB8
  • PixelFormat_RGB12
  • PixelFormat_BGR16
  • PixelFormat_R12
  • PixelFormat_G12
  • PixelFormat_B12
  • PixelFormat_YUV8_UYV
  • PixelFormat_YUV411_8_UYYVYY
  • PixelFormat_YUV422_8
  • PixelFormat_Polarized8
  • PixelFormat_Polarized10p
  • PixelFormat_Polarized12p
  • PixelFormat_Polarized16
  • PixelFormat_BayerRGPolarized8
  • PixelFormat_BayerRGPolarized10p
  • PixelFormat_BayerRGPolarized12p
  • PixelFormat_BayerRGPolarized16
  • PixelFormat_LLCMono8
  • PixelFormat_LLCBayerRG8
  • PixelFormat_JPEGMono8
  • PixelFormat_JPEGColor8
  • PixelFormat_Raw16
  • PixelFormat_Raw8
  • PixelFormat_R12_Jpeg
  • PixelFormat_GR12_Jpeg
  • PixelFormat_GB12_Jpeg
  • PixelFormat_B12_Jpeg

List of supported output image pixel formats

  • PixelFormat_Mono8
  • PixelFormat_Mono16
  • PixelFormat_BayerBG8
  • PixelFormat_BayerGB8
  • PixelFormat_BayerRG8
  • PixelFormat_BayerGR8
  • PixelFormat_BayerBG16
  • PixelFormat_BayerGB16
  • PixelFormat_BayerRG16
  • PixelFormat_BayerGR16
  • PixelFormat_BGR8
  • PixelFormat_BGRa8
  • PixelFormat_RGB8
  • PixelFormat_RGBa8
  • PixelFormat_BGR16
  • PixelFormat_RGB16
  • PixelFormat_R12
  • PixelFormat_G12
  • PixelFormat_B12

Public Functions Documentation

function spinImageProcessorApplyGamma

spinImageProcessorApplyGamma (
    spinImageProcessor hImageProcessor,
    spinImage hSrcImage,
    spinImage hDestImage,
    float gamma,
    bool8_t applyGammaInverse
) 

Applies gamma correction to the source image and stores the result in the destination image.

Parameters:

  • hImageProcessor The image processor context
  • hSrcImage The source image from which to apply gamma on.
  • hDestImage The destination image in which the gamma applied image data will be stored.
  • gamma Gamma value to apply. A value between 0.5 and 4 is acceptable. (Default assuming image-to-screen)
  • applyGammaInverse Converts a gamma corrected source image back to the original image using the inverse of the gamma value (used for applying screen-to-image gamma)

function spinImageProcessorConvert

spinImageProcessorConvert (
    spinImageProcessor hImageProcessor,
    spinImage hSrcImage,
    spinImage hDestImage,
    spinPixelFormatEnums destFormat
) 

Converts the source image buffer to the specified destination pixel format and stores the result in the destination image. The destination image needs to be configured to have the correct buffer size before calling this function. See spinImageReset() to setup the correct buffer size according to specified pixel format.

Note that compressed images are decompressed before any further color processing or conversion during this call. Decompression is multi-threaded and defaults to utilizing one less than the number of concurrent threads supported by the system. The default number of decompression threads can be set with spinImageProcessorSetNumDecompressionThreads().

See also: spinPixelFormatEnums

See also: spinImageReset

See also: spinImageProcessorSetNumDecompressionThreads

Parameters:

  • hImageProcessor The image processor context
  • srcImage The source image from which to convert the image from.
  • destImage The destination image in which the converted image data will be stored.
  • destFormat Output format of the converted image.

function spinImageProcessorConvertImageList

spinImageProcessorConvertImageList (
    spinImageProcessor hImageProcessor,
    spinImageList hSrcImageList,
    spinImage hDestImage,
    spinPixelFormatEnums destFormat
) 

Converts the source list of image buffers to the specified output pixel format and returns the result in a new image. The conversion could encompasses decompression, interleaving and conversion of image data depending on the source pixel format of images in the source image list. The destination image needs to be configured to have the correct buffer size before calling this function. See spinImageReset() to setup the correct buffer size according to specified pixel format.

Note that compressed images are decompressed before any further color processing, interleaving or conversion is performed. Decompression is multi-threaded and defaults to utilizing one less than the number of concurrent threads supported by the system. The default number of decompression threads can be set with SetNumDecompressionThreads().

Note not all the supported image pixel formats described in the class description are supported in this function.

List of supported image pixel formats for the source image list:

  • PixelFormat_R12
  • PixelFormat_GR12
  • PixelFormat_GB12
  • PixelFormat_B12
  • PixelFormat_R12_Jpeg
  • PixelFormat_GR12_Jpeg
  • PixelFormat_GB12_Jpeg
  • PixelFormat_B12_Jpeg

See also: spinPixelFormatEnums

See also: spinImageReset

See also: spinImageProcessorSetNumDecompressionThreads

Parameters:

  • hImageProcessor The image processor context
  • hSrcImageList List of images from which to convert the images from.
  • hDestImage The destination image in which the converted image data will be stored.
  • destFormat Output format of the converted image.

function spinImageProcessorCreate

spinImageProcessorCreate (
    spinImageProcessor * phImageProcessor
) 

Creates an image processor

See also: spinError

Parameters:

  • phImageProcessor The image processor handle pointer in which the image processor context is returned

Returns:

spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error


function spinImageProcessorDestroy

spinImageProcessorDestroy (
    spinImageProcessor hImageProcessor
) 

Destroys a image list

See also: spinError

Parameters:

  • hImageProcessor The image processor context to destroy

Returns:

spinError The error code; returns SPINNAKER_ERR_SUCCESS (or 0) for no error


function spinImageProcessorGetColorProcessing

spinImageProcessorGetColorProcessing (
    spinImageProcessor hImageProcessor,
    spinColorProcessingAlgorithm * pColorAlgorithm
) 

Gets the default color processing algorithm.

Parameters:

  • hImageProcessor The image processor context
  • pColorAlgorithm The color processing algorithm pointer in which the color processing algorithm is returned

See also: spinImageProcessorSetColorProcessing()


function spinImageProcessorGetNumDecompressionThreads

spinImageProcessorGetNumDecompressionThreads (
    spinImageProcessor hImageProcessor,
    unsigned int * pNumThreads
) 

Gets the number of threads used for image decompression during spinImageProcessorConvert().

Parameters:

  • hImageProcessor The image processor context
  • pNumThreads The unsigned integer pointer in which the number of parallel image decompression threads is returned

See also: spinImageProcessorSetNumDecompressionThreads()


function spinImageProcessorSetColorProcessing

spinImageProcessorSetColorProcessing (
    spinImageProcessor hImageProcessor,
    spinColorProcessingAlgorithm colorAlgorithm
) 

Sets the color processing algorithm used at the time of the spinImageProcessorConvert() call, therefore the most recent execution of this function will take precedence. The DEFAULT algorithm is deprecated and should not be used in the ImageProcessor class.

Parameters:

  • hImageProcessor The image processor context
  • colorAlgorithm The color processing algorithm to set.

See also: spinImageProcessorGetColorProcessing()


function spinImageProcessorSetNumDecompressionThreads

spinImageProcessorSetNumDecompressionThreads (
    spinImageProcessor hImageProcessor,
    unsigned int numThreads
) 

Sets the default number of threads used for image decompression during spinImageProcessorConvert(). The number of threads used is defaulted to be equal to one less than the number of concurrent threads supported by the system.

Parameters:

  • hImageProcessor The image processor context
  • numThreads Number of parallel image decompression threads set to run

See also: spinImageProcessorConvert()