WOLFRAM
Products
Wolfram|One
Mathematica
Wolfram Notebook Assistant + LLM Kit
Wolfram|Alpha Notebook Edition
System Modeler
All Products
Consulting & Solutions
Wolfram Consulting
Industry Solutions
Solutions for Education
Learning & Support
Wolfram U Courses
Wolfram Language Resources
Wolfram Community
Support FAQs
Contact Support
Company
About Wolfram
Careers
Events
Educational Programs
All Sites and Resources
Wolfram|Alpha
Wolfram Cloud
Your Account
Your Account
User Portal
Search
Close
Enable JavaScript to interact with content and submit forms on Wolfram websites.
Learn how
Legacy Documentation
Digital Image Processing
(2000)
This is documentation for an obsolete product.
Current products and services
Function Index
WatershedTransform
WatershedTransform[
img
]
returns the watershed transform of the grayscale image
img
.
WatershedTransform[
img
,
markers
]
returns the marker-controlled watershed transform of the grayscale image
img
.
The watershed transform is an image segmentation technique that groups pixels around the local minima of the image and the boundaries of adjacent groupings are located on the ridges separating the minima.
The markers are specified as a list of positions in an
n
-dimensional array with the
n
-tuple {x
i,0
,
x
i,1
,...} denoting the position of the
i
th marker. For the typical case of 2D images, the markers are pairs of integers, the row and column position of each marker, respectively.
The option
ConnectivityNumber
may be used to change the default connectivity settings that depend on the depth of the array (see
NeighborOffsets
for more information). The default setting for 2D arrays is
ConnectivityNumber
→ 8.
WatershedTransform
is an implementation of the Vincent and Soille algorithm, extended to arrays of arbitrary depth.
Custom connectivity settings may be defined using a list of offsets.
The argument
img
may be an array or
ImageData
expression.
See also User's Guide
6.5
.
New in Version 2.
Example
This loads the package.
In[1]:=
This defines an example array.
In[2]:=
Out[2]//MatrixForm=
Here is the watershed transform of the example array.
In[3]:=
Out[3]//MatrixForm=
In[4]:=
Out[4]//MatrixForm=
Users may impose minima on the input array using markers. Here is an example of partitioning the example array into three regions.
In[5]:=
Out[5]//MatrixForm=