Back to Aurora Vision Library website

You are here: Start » Function Reference » Image » Image Point Transforms » NegateImage


Header: AVL.h
Namespace: avl
Module: FoundationLite

Reverts the pixel value range (unsigned) or applies numeric negation (signed).


void avl::NegateImage
	const avl::Image& inImage,
	atl::Optional<const avl::Region&> inRoi,
	avl::Image& outImage


Name Type Default Description
Input value inImage const Image& Input image
Input value inRoi Optional<const Region&> NIL Range of pixels to be processed
Output value outImage Image& Output image

In-place Processing

This function supports in-place data processing - you can pass the same reference to inImage and outImage

Read more about In-place Computation.


The operation negates the pixel values of the inImage. Depending on the pixel type, the negation is defines as follows:

  • For the signed pixel types: \forall_{i,j} \text{\textbf{OutImage} }_{i,j} = -\text{\textbf{InImage} }_{i,j}
  • For the unsigned pixel types: \forall_{i,j} \text{\textbf{OutImage} }_{i,j} =  \text{\textbf{MaximalValue} } - \text{\textbf{InImage} }_{i,j} (which can be thought of as mirroring the pixel values around the center of the pixel values range)


The NegateImage performed on the sample image.

Hardware Acceleration

This operation is optimized for SSE2 technology for pixels of types: UINT8, SINT8, SINT16, REAL NEON: UINT8, SINT8, UINT16, SINT16, SINT32, REAL.

This operation supports automatic parallelization for multicore and multiprocessor systems.


List of possible exceptions:

Error type Description
DomainError Region exceeds an input image in NegateImage.