NAME¶
i.zc - Zero-crossing "edge detection" raster function
for image processing.
KEYWORDS¶
imagery, edges
SYNOPSIS¶
i.zc
i.zc help
i.zc input=
string output=
string
[
width=
integer] [
threshold=
float]
[
orientations=
integer] [--
overwrite] [--
verbose]
[--
quiet]
Flags:¶
- --overwrite
-
Allow output files to overwrite existing files
- --verbose
-
Verbose module output
- --quiet
-
Quiet module output
Parameters:¶
- input=string
-
Name of input raster map
- output=string
-
Zero crossing raster map
- width=integer
-
x-y extent of the Gaussian filter
Default: 9
- threshold=float
-
Sensitivity of Gaussian filter
Default: 10
- orientations=integer
-
Number of azimuth directions categorized
Default: 1
DESCRIPTION¶
i.zc is an image processing program used for edge detection. The raster
map produced shows the location of "boundaries" on the input map.
Boundaries tend to be found in regions of changing cell values and tend to run
perpendicular to the direction of the slope. The algorithm used for edge
detection is one of the "zero-crossing" algorithms and is discussed
briefly below.
OPTIONS¶
Parameters:¶
- input_map=name
-
Name of input raster map layer.
- zc_map=name
-
Name of raster map layer to be used for zero-crossing values.
- width=value
-
This parameter determines the x-y extent of the Gaussian filter. The default
value is 9; higher and lower values can be tested by the user. Increasing
the width will result in finding "edges" representing more
gradual changes in cell values.
Default: 9
- threshold=value
-
This parameter determines the "sensitivity" of the Gaussian
filter. The default value is 10; higher and lower values can be tested by
the user. Increasing the threshold value will result in fewer edges being
found.
Default: 10
- orientations=value
-
This value is the number of azimuth directions the cells on the output
raster map layer are categorized into (similar to the aspect raster map
layer produced by the r.slope.aspect program). For example, a value
of 16 would result in detected edges being categorized into one of 16 bins
depending on the direction of the edge at that point.
Default: 1
The current region definition and mask settings are respected when reading the
input map.
NOTES¶
The procedure to find the "edges" in the image is as follows:
- 1
-
The Fourier transform of the image is taken,
- 2
-
The Fourier transform of the Laplacian of a two-dimensional Gaussian
function is used to filter the transformed image,
- 3
-
The result is run through an inverse Fourier transform,
- 4
-
The resulting image is traversed in search of places where the image
changes from positive to negative or from negative to positive,
- 5
-
Each cell in the map where the value crosses zero (with a change in value
greater than the threshold value) is marked as an edge and an orientation
is assigned to it. The resulting raster map layer is output.
SEE ALSO¶
i.fft,
i.ifft,
r.mapcalc,
r.mfilter,
r.slope.aspect
AUTHOR¶
David Satnik, GIS Laboratory, Central Washington University
Last changed: $Date: 2011-11-08 12:29:50 +0100 (Tue, 08 Nov 2011) $
Full index
© 2003-2014 GRASS Development Team