Back to Adaptive Vision Library website

You are here: Start » Function Reference » All Functions » Image Drawing » DrawBoxes_TwoColors

DrawBoxes_TwoColors


This is Filter Equivalent. This function may be present in generated code, but should not be used in hand-written code.

Header: AVL.h
Namespace: avs
Module: FoundationLite

Draws boxes on an image with two colors, depending on the status of each box.

Applications: Usually: green or red for pass/fail status.

Syntax

void avs::DrawBoxes_TwoColors
(
	const avl::Image& inImage,
	atl::Conditional<const atl::Array<atl::Conditional<avl::Box>>&> inBoxes,
	const avl::Pixel& inColorIfTrue,
	const avl::Pixel& inColorIfFalse,
	atl::Conditional<const atl::Array<atl::Conditional<bool>>&> inConditions,
	const float inOpacity,
	const bool inForceRgb,
	avl::Image& outImage
)

Parameters

Name Type Range Default Description
inImage const Image& Input image
inBoxes Conditional<const Array<Conditional<Box>>&> { }
inColorIfTrue const Pixel& Pixel ( X: 0.0f Y: 200.0f Z: 0.0f W: 0.0f )
inColorIfFalse const Pixel& Pixel ( X: 200.0f Y: 0.0f Z: 0.0f W: 0.0f )
inConditions Conditional<const Array<Conditional<bool>>&> { }
inOpacity const float 0.0 - 1.0 1.0f
inForceRgb const bool True Filter will convert monochromatic image to RGB if needed
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.

Description

The operation draws an array of boxes on the inImage using common drawing parameters for all of them. Boxes may exceed the image dimensions - those will be drawn partially or not at all, but the filter execution will succeed. Note that drawing is conducted in a pixel-precise way as the Box type is pixel-precise.

Hints

  • If you want to draw on an empty background, use EmptyImage function before.
  • Define inBoxes. This will be the primitives to be drawn.
  • Define inConditions with the boolean values indicating the class (usually: OK/NOK) for each input primitive.
  • Set the inColorIfTrue and inColorIfFalse inputs to define the two colors used for drawing.
  • Set inForceRgb to True, if you want to get a 3-channel output regardless of what is on the input.

Examples

Example usage of the DrawBoxes_TwoColors on an empty image.

Errors

List of possible exceptions:

Error type Description
DomainError The sizes of inBoxes and inConditions do not match in DrawBoxes_TwoColors.

See Also