Function

vImageHistogramSpecification_Planar8

Performs a histogram specification operation on a Planar8 source image.

Declaration

vImage_Error vImageHistogramSpecification_Planar8(const vImage_Buffer *src, const vImage_Buffer *dest, const vImagePixelCount *desired_histogram, vImage_Flags flags);

Parameters

src

A pointer to a vImage buffer structure that contains the source image.

dest

A pointer to a vImage buffer data structure. You are responsible for filling out the height, width, and rowBytes fields of this structure, and for allocating a data buffer of the appropriate size. On return, the data buffer pointed to by this structure contains the destination image data. When you no longer need the data buffer, you must deallocate the memory.

desiredHistogram

A pointer the desired histogram for the transformed image. The histogram should be an array with 256 elements.

flags

The options to use. Set the kvImageDoNotTile flag if you plan to perform your own tiling or use multithreading.

Set the kvImageLeaveAlphaUnchanged flag to copy the alpha channel to the destination image unchanged.

Return Value

kvImageNoError; otherwise, one of the error codes described in Data Types and Constants.

Discussion

The specification operation alters the image histogram so that it more closely resembles a given histogram. The histogram specification operation is done separately for each of the four channels—alpha, red, green, and blue. However, the size and range values are the same for each of the four histograms, and for each of the four desired histograms.

The source and destination buffers must have the same height and the same width.

See Also

Specifying a Histogram

vImageHistogramSpecification_ARGBFFFF

Performs a histogram specification operation on an ARGBFFFF source image.

vImageHistogramSpecification_ARGB8888

Performs a histogram specification operation on an ARGB8888 source image.

vImageHistogramSpecification_PlanarF

Performs a histogram specification operation on a PlanarF source image.