Back to Aurora Vision Library website

You are here: Start » Function Reference » Computer Vision » Image Analysis » CheckPresence_PixelAmount

CheckPresence_PixelAmount


Header: AVL.h
Namespace: avl
Module: FoundationPro

Verifies object presence by analysing the amount of pixels that meet the specified criteria.

Applications: Quick and easy presence verification, e.g. for missing caps, screws, labels.

Syntax

C++
C#
 
void avl::CheckPresence_PixelAmount
(
	const avl::Image& inImage,
	const avl::ShapeRegion& inRoi,
	atl::Optional<const avl::CoordinateSystem2D&> inRoiAlignment,
	avl::HSxColorModel::Type inColorModel,
	int inBeginHue,
	int inEndHue,
	int inMinSaturation,
	atl::Optional<int> inMaxSaturation,
	atl::Optional<float> inMinBrightness,
	atl::Optional<float> inMaxBrightness,
	float inMinAmount,
	float inMaxAmount,
	bool& outIsPresent,
	atl::Optional<float&> outAmount = atl::NIL,
	atl::Optional<avl::Region&> outForeground = atl::NIL,
	atl::Optional<avl::ShapeRegion&> outAlignedRoi = atl::NIL,
	avl::Image& diagHsxImage
)

Parameters

Name Type Range Default Description
Input value inImage const Image& Input image
Input value inRoi const ShapeRegion& Location at which object presence is being checked
Input value inRoiAlignment Optional<const CoordinateSystem2D&> NIL Adjusts the region of interest to the position of the inspected object
Input value inColorModel HSxColorModel::Type Selected color model
Input value inBeginHue int 0 - 255 0 Begin of the range of acceptable hue
Input value inEndHue int 0 - 255 255 End of the range of acceptable hue
Input value inMinSaturation int 0 - 255 128 Lowest acceptable saturation
Input value inMaxSaturation Optional<int> 0 - 255 NIL Highest acceptable saturation
Input value inMinBrightness Optional<float> 0.0 - 128.0f Lowest acceptable brightness
Input value inMaxBrightness Optional<float> 0.0 - NIL Highest acceptable brightness
Input value inMinAmount float 0.0 - 1.0 0.5f Lowest acceptable fraction of pixels meeting the criteria
Input value inMaxAmount float 0.0 - 1.0 1.0f Highest acceptable fraction of pixels meeting the criteria
Output value outIsPresent bool& Flag indicating whether the object is present or not
Output value outAmount Optional<float&> NIL Fraction of pixels meeting the criteria
Output value outForeground Optional<Region&> NIL Region of pixels meeting the criteria
Output value outAlignedRoi Optional<ShapeRegion&> NIL Input ROI after transformation (in the image coordinates)
Diagnostic input diagHsxImage Image& Image represented in chosen color model

Requirements

For input inImage only pixel formats are supported: 3⨯uint8, 1⨯uint8, 1⨯int8, 1⨯uint16, 1⨯int16, 1⨯int32, 1⨯real.

Read more about pixel formats in Image documentation.

Optional Outputs

The computation of following outputs can be switched off by passing value atl::NIL to these parameters: outAmount, outForeground, outAlignedRoi.

Read more about Optional Outputs.

Description

The filter extracts foreground pixels by means of image thresholding and checks if their number comparing to the area of the whole ROI fits the range (inMinAmount, inMaxAmount). If the input image has 3 channels, the ThresholdToRegion_HSx filter is used for thresholding, and if the image has 1 channel (i.e. it is monochromatic), the simple ThresholdToRegion filter is performed. In the latter case only inMinBrightness and inMaxBrightness parameters matter.

Hints

  • If the object location is variable, Pass an appropriate local coordinate system to inRoiAlignment.
  • Define inRoi to specify the image location at which the object presence will be checked.
  • Set inBeginHue and inEndHue to values appropriate for correct objects.
  • Limit the ranges of inMinSaturationinMaxSaturation and inMinBrightnessinMaxBrightness.
  • Verify that the outForeground output represents pixels belonging to correct objects.
  • Investigate the values that appear on the outAmount output, then set inMinAmount and inMaxAmount to values appropriate for correct objects.
  • When creating data previews, use outAlignedRoi and NOT inRoi as only the former will be properly aligned to the object location.

Examples

CheckPresence_PixelAmount performed on sample image with inMinAmount = 0.7. The defects are present in red circles.

Errors

List of possible exceptions:

Error type Description
DomainError Incorrect inMaxBrightness value in CheckPresence_PixelAmount.
DomainError Incorrect inMinBrightness value in CheckPresence_PixelAmount.
DomainError Region exceeds an input image in CheckPresence_PixelAmount.
DomainError Not supported inImage pixel format in CheckPresence_PixelAmount. Supported formats: 3xUInt8, 1xUInt8, 1xInt8, 1xUInt16, 1xInt16, 1xInt32, 1xReal.

See Also

  • ThresholdToRegion_HSx – Creates a region containing image pixels which belongs to specified region in HSV, HSL or HSI space.
  • ThresholdToRegion – Creates a region containing image pixels with values within the specified range.