EdgeDetect[image]
finds edges in image and returns the result as a binary image.
EdgeDetect[image,r]
finds edges at the scale of the specified pixel range r.
EdgeDetect[image,r,t]
uses a threshold t for selecting image edges.
EdgeDetect
EdgeDetect[image]
finds edges in image and returns the result as a binary image.
EdgeDetect[image,r]
finds edges at the scale of the specified pixel range r.
EdgeDetect[image,r,t]
uses a threshold t for selecting image edges.
Details and Options
- Edges of an image are a set of points between image regions and are typically computed by linking high-gradient pixels. In practice, an edge can have an arbitrary shape.
- EdgeDetect uses gradient methods to find edges and works with arbitrary 2D and 3D images.
- EdgeDetect[image] is equivalent to EdgeDetect[image,2].
- The following range specifications r can be used:
-
r radius r in every dimension (default r=2) {rrow,rcol} in 2D, range rrow in height, rcol in width {rslice,rrow,rcol} in 3D, range rslice in height, rrow in depth, and rcol in width - EdgeDetect[image,r,t] uses hysteresis thresholding with a global threshold t. For additional forms of the threshold parameter, see the reference page for MorphologicalBinarize.
- The following options can be specified:
-
Method Automatic edge detection method Padding "Fixed" padding method - Possible settings for Method include:
-
"Canny" first-order directional Gaussian derivatives (default) "ShenCastan" first-order derivatives of exponentials "Sobel" binomial generalization of Sobel masks - By default, all straight and curved edges are returned. Selection of edges based on their straightness can be done by setting Method->{"method","StraightEdges"->s}. The default behavior is equivalent to "StraightEdges"->0. A setting "StraightEdges"->1 selects only the longest and strongest lines.
- "StraightEdges" is ignored when used with Image3D objects.
Examples
open all close allScope (4)
EdgeDetect[[image]]Specify the scale of edges to detect:
EdgeDetect[[image], 1]Specify larger scale to detect coarse features:
EdgeDetect[[image], 10]Edge selection using an explicit global threshold:
EdgeDetect[[image], 6, 0.1]i = [image];Image3D[#, ClipRange -> {{15, 30}, All, {15, 30}}]& /@ {i, EdgeDetect[i]}Options (2)
Method (2)
EdgeDetect[[image], 3, Method -> "ShenCastan"]By default, all edges are returned, regardless of their straightness:
i = [image];
EdgeDetect[i, 1, .2]Filter detected edges with their straightness:
EdgeDetect[i, 1, 0.2, Method -> {"Canny", "StraightEdges" -> 0.4}]Properties & Relations (1)
EdgeDetect might return edges that are thicker than one pixel:
e = EdgeDetect[[image]]Use Thinning to get single-pixel-wide edges:
Thinning[e]Related Links
-

An Elementary Introduction to the Wolfram Language
: Images
-

An Elementary Introduction to the Wolfram Language
: Strings and Text
-

An Elementary Introduction to the Wolfram Language
: Ways to Apply Functions
-

An Elementary Introduction to the Wolfram Language
: Applying Functions Repeatedly
-

An Elementary Introduction to the Wolfram Language
: Creating Websites and Apps
Text
Wolfram Research (2010), EdgeDetect, Wolfram Language function, https://reference.wolfram.com/language/ref/EdgeDetect.html (updated 2014).
CMS
Wolfram Language. 2010. "EdgeDetect." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/EdgeDetect.html.
APA
Wolfram Language. (2010). EdgeDetect. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/EdgeDetect.html
BibTeX
@misc{reference.wolfram_2026_edgedetect, author="Wolfram Research", title="{EdgeDetect}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/EdgeDetect.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_edgedetect, organization={Wolfram Research}, title={EdgeDetect}, year={2014}, url={https://reference.wolfram.com/language/ref/EdgeDetect.html}, note=[Accessed: 13-June-2026]}