Learn R Programming

DRIP (version 2.3)

stepEdge: Step Edge Detector

Description

Detect step edges in an image.

Usage

stepEdge(image, bandwidth, thresh, degree = 1, blur = FALSE,
plot = FALSE)

Value

A matrix of zeros and ones. Ones represent the detected edge pixels and zeros represent the non-edge pixels.

Arguments

image

A square matrix, no missing value allowed.

bandwidth

A positive integer that specifies the number of pixels to use in the local smoothing.

thresh

The threshold value to use in the edge detection criterion. Must be a positive value.

degree

An integer equal to 0 for local constant kernel smoothing or 1 for local linear kernel smoothing. The default value is 1.

blur

If blur = TRUE, in addition to a conventional 2-D kernel function, a 1-D kernel is used in local smoothing to address the issue of blur. The default value is FALSE.

plot

If plot = TRUE, an image of the detected edges is plotted.

Author

Yicheng Kang

Details

At each pixel, the gradient is estimated by a local kernel smoothing procedure. Next, the local neighborhood is divided into two halves along the direction perpendicular to (\(\widehat{f}'_{x}\), \(\widehat{f}'_{y}\)). Then the one-sided local kernel estimates are obtained in the two half neighborhoods respectively. The pixel is flagged as a step edge pixel if \(|\widehat{f}_+ - \widehat{f}_-|>u\), where \(u\) is the specified threshold value.

References

Kang, Y. and Qiu, P. (2014) "Jump Detection in Blurred Regression Surfaces," Technometrics, 56(4), 539 -- 550, tools:::Rd_expr_doi("10.1080/00401706.2013.844732").

See Also

roofDiff, stepDiff, roofEdge

Examples

Run this code
data(sar) 
edges <- stepEdge(image = sar, bandwidth = 4, degree = 0,
thresh = 16)

Run the code above in your browser using DataLab