visionhdl.BilateralFilter
Perform 2-D filtering of a pixel stream
Description
The visionhdl.BilateralFilter
object filters images while preserving
edges. Some applications of bilateral filtering are denoising while preserving edges,
separating texture from illumination, and cartooning to enhance edges. The filter replaces
each pixel at the center of a neighborhood by an average that is calculated using spatial and
intensity Gaussian filters. The object determines the filter coefficients from:
Spatial location in the neighborhood (similar to a Gaussian blur filter)
Intensity difference from the neighborhood center value
The object provides two standard deviation parameters for independent control of the spatial and intensity coefficients.
To perform bilateral filtering of a pixel stream:
Create the
visionhdl.BilateralFilter
object and set its properties.Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?
Creation
Description
filt2d = visionhdl.BilateralFilter(
returns a bilateral filter System object™. Set properties using name-value pairs. Enclose each property name in single
quotes. Name
,Value
)
For example:
filt2d = visionhdl.BilateralFilter('CoefficientsDataType','Custom',... 'CustomCoefficientsDataType',numerictype(0,18,17))
Properties
Usage
Description
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 and 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
description of the interface, see Streaming Pixel Interface.
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj
, use
this syntax:
release(obj)