Code covered by the BSD License  

Highlights from
Gradients with Gaussian smoothing


5.0 | 1 rating Rate this file 61 Downloads (last 30 days) File Size: 21 KB File ID: #34089

Gradients with Gaussian smoothing



06 Dec 2011 (Updated )

Grey-level gradients are estimated using Gaussian smoothing followed by symmetric differencing.

| Watch this File

File Information

These functions carry out gradient estimation using Gaussian smoothing and symmetric differencing. They can be used to support, for example, the Canny edge detector, and may form the initial stage of many image and data processing operations.
The gradient functions accept different kinds of data:

  gradients_x: a vector

  gradients_xy: a 2-D array, typically an image. The two components of the gradient are returned.

  gradients_xyt: two 2-D arrays, each typically an image. Spatial and temporal gradients are returned.

  gradients_n: an N-D array. The gradient along each axis is returned.

The supporting smoothing functions carry out Gaussian smoothing, taking as inputs:

  gsmooth: a vector

  gsmooth2: a 2-D array

  gsmoothn: an N-D array

The functions offer anisotropic smoothing if required. (That is, a different smoothing constant for each axis.)

Particular care is taken of how elements close to the array boundaries are treated. By default, the output arrays are smaller than the input arrays so that only valid values need be computed. However, an option allows the outputs to be the same size as the inputs; values close to the boundaries are then computed by extrapolation of the image using reflection or tiling.

The convenience function exindex simplifies the code for extrapolation.


This file inspired Affine Optic Flow.

Required Products Image Processing Toolbox
MATLAB release MATLAB 7.13 (R2011b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (1)
01 Apr 2014 Akshay Gore  
07 Dec 2011

Updated to include user-friendly same size option and change to the argument order.

09 Dec 2011

Fixed bug that caused an error when the default region was used.

10 Feb 2014

Extended to cover N-D and 1-D data.

20 Mar 2014

Nearest-neighbour differencing added as an option. Some changes to argument sequences - region and wrapping now given as name-value parameters.

Contact us