System object: visionhdl.EdgeDetector
Package: visionhdl
Detect edges at an image pixel
[edge,ctrlOut] = step(detect_edges,pixelIn,ctrlIn)
[G1,G2,ctrlOut] = step(detect_edges,pixelIn,ctrlIn)
[edge,ctrlOut] = step(detect_edges,pixelIn,ctrlIn,thresh)
Starting in R2016b, instead of using the step
method
to perform the operation defined by the System
object™, you can
call the object with arguments, as if it were a function. For example, y
= step(obj,x)
and y = obj(x)
perform
equivalent operations.
[edge,ctrlOut] = step(detect_edges,pixelIn,ctrlIn)
detects
edges in the neighborhood of pixelIn
by computing
the gradient in two orthogonal directions. The edge
output
argument is a binary value indicating whether the sum of the squares
of the gradients for the input pixel is above the threshold indicating
an edge.
[G1,G2,ctrlOut] = step(detect_edges,pixelIn,ctrlIn)
detects
edges in the neighborhood of pixelIn
by computing
the gradient in two orthogonal directions. Use this syntax when you
set GradientComponentOutputPorts
property to true
.
The G1
and G2
output arguments
are the gradients calculated in the two orthogonal directions. When
you set the Method
property to 'Sobel'
or 'Prewitt'
,
the first argument is the vertical gradient, and the second argument
is the horizontal gradient. When you set the Method
property
to 'Roberts'
, the first argument is the 45 degree
gradient, and the second argument is the 135 degree gradient.
[edge,ctrlOut] = step(detect_edges,pixelIn,ctrlIn,thresh)
detects
edges in the neighborhood of pixelIn
by computing
the gradient in two orthogonal directions. Use this syntax when you
set ThresholdSource
property to 'InputPort'
.
The edge
output argument is a binary value indicating
whether the sum of the squares of the gradients was above the threshold, thresh
,
squared.
You can use any combination of the optional port syntaxes.
This object uses a streaming pixel interface with a structure
for frame control signals. This interface enables the object to operate independently of image
size and format, and to connect with other Vision HDL
Toolbox™ objects. The object accepts and returns a scalar pixel value. The object accepts
and returns control signals as a structure containing five signals. The control signals indicate
the validity of each pixel and its location in the frame. To convert a pixel matrix into a pixel
stream and control signals, use the visionhdl.FrameToPixels
object. For a full
description of the interface, see Streaming Pixel Interface.
The System
object performs an initialization the first time
you call the step
method. This initialization locks
nontunable properties and input specifications, such as dimensions,
complexity, and data type of the input data. If you change a nontunable
property or an input specification, the object issues an error. To
change nontunable properties or inputs, first call the release
method
to unlock the object.