Back to Aurora Vision Library website

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

CheckPresence_EdgeAmount


Header: AVL.h
Namespace: avl
Module: FoundationPro

Verifies object presence by analysing the amount of edges in the specified region.

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

Syntax

C++
C#
 
void avl::CheckPresence_EdgeAmount
(
	const avl::Image& inImage,
	const avl::ShapeRegion& inRoi,
	atl::Optional<const avl::CoordinateSystem2D&> inRoiAlignment,
	avl::GradientMaskOperator::Type inEdgeOperator,
	avl::MagnitudeMeasure::Type inEdgeMeasure,
	const int inEdgeScale,
	int inMinStrength,
	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
)

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 inEdgeOperator GradientMaskOperator::Type Selected gradient operator
Input value inEdgeMeasure MagnitudeMeasure::Type Sum Selected method of gradient magnitude computation
Input value inEdgeScale const int 1 - 16 1 Scales the resulting gradient magnitudes
Input value inMinStrength int 0 - 255 15 Lowest acceptable edge magnitude
Input value inMinAmount float 0.0 - 1.0 0.2f 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 from 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)

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 and checks if their number comparing to the area of the whole ROI fits the range (inMinAmount, inMaxAmount). The pixel is considered a foreground pixel if and only if its gradient magnitude is at least inMinStrength.

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 inMinStrength to a value that results in good edges visible on the outForeground output.
  • 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_EdgeAmount performed on sample images with inMinAmount = 0.2. In the left image the object is present, while in the right image it is not. Green pixels are foreground pixels.

Errors

List of possible exceptions:

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

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.