DetectEdges


Extracts a binary image of pixel-precise continuous edges.

Applications:Consistent detection of pixels that belong to contours of variable or unpredictable shape, e.g. screw thread outline or a custom piece of textile.

Syntax

C++
Python
 
def DetectEdges(
	inImage: Image,
	outEdgesImage: Image,
	/,
	*,
	inRoi: Region | None = None,
	inEdgeFilter: EdgeFilter = EdgeFilter.Canny,
	inStdDevX: float = 2.0,
	inStdDevY: float | None = None,
	inEdgeThreshold: float = 15.0,
	inEdgeHysteresis: float = 5.0,
	inMaxJoiningDistance: float = 0.0,
	inMinBlobArea: int = 1,
	diagGradientMagnitudeImage: Image | None = None
)
-> None

Parameters

Name Type Range Default Description
Input value inImage Image Image from which edges will be extracted
Input value inRoi Region | None None Region of the image from which edges will be extracted
Input value inEdgeFilter EdgeFilter EdgeFilter.Canny Type of edge filter used for computing gradients
Input value inStdDevX float 0.0 - 2.0 Amount of horizontal smoothing used by the edge filter
Input value inStdDevY float | None 0.0 - None Amount of vertical smoothing used by the edge filter (Auto = inStdDevX)
Input value inEdgeThreshold float 0.0 - 15.0 Sufficient edge strength; edges of that strength will always be detected
Input value inEdgeHysteresis float 0.0 - 5.0 Value by which the edge threshold is decreased for edge points neighboring with sufficiently strong edges
Input value inMaxJoiningDistance float 0.0 - 0.0 Maximal distance between edges that can be joined
Input value inMinBlobArea int 0 - 1 Minimal area of an edge blob
Output value outEdgesImage Image Image of found edges
Diagnostic input diagGradientMagnitudeImage Image | None None Visualization of the gradient magnitude

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.