imbilatfilt
Bilateral filtering of images with Gaussian kernels
Syntax
Description
specifies the amount of smoothing. When J
= imbilatfilt(I
,degreeOfSmoothing
)degreeOfSmoothing
is a
small value, imbilatfilt
smooths neighborhoods with small
variance (uniform areas) but does not smooth neighborhoods with large variance, such
as strong edges. When the value of degreeOfSmoothing
increases,
imbilatfilt
smooths both uniform areas and neighborhoods with
larger variance.
also specifies the standard deviation, J
= imbilatfilt(I
,degreeOfSmoothing
,spatialSigma
)spatialSigma
, of the
spatial Gaussian smoothing kernel. Larger values of
spatialSigma
increase the contribution of more distant
neighboring pixels, effectively increasing the neighborhood size.
uses name-value pairs to change the behavior of the bilateral filter.J
= imbilatfilt(___,Name,Value
)
Examples
Input Arguments
Output Arguments
Tips
The value of
degreeOfSmoothing
corresponds to the variance of the Range Gaussian kernel of the bilateral filter [1]. The Range Gaussian is applied on the Euclidean distance of a pixel value from the values of its neighbors.To smooth perceptually close colors of an RGB image, convert the image to the CIE L*a*b* space using
rgb2lab
before applying the bilateral filter. To view the results, convert the filtered image to RGB usinglab2rgb
.Increasing
spatialSigma
increasesNeighborhoodSize
, which increases the filter execution time. You can specify a smallerNeighborhoodSize
to trade accuracy for faster execution time.
References
[1] Tomasi, C., and R. Manduchi. "Bilateral Filtering for Gray and Color Images". Proceedings of the 1998 IEEE® International Conference on Computer Vision. Bombay, India. Jan 1998, pp. 836–846.
Extended Capabilities
Version History
Introduced in R2018aSee Also
imdiffusefilt
| imgaussfilt
| imguidedfilter
| imfilter
| nlfilter
| locallapfilt
| imnlmfilt