ChanVeseBinarize
ChanVeseBinarize[image]
finds a two-level segmentation of image by computing optimal contours around regions of consistent intensity in image.
ChanVeseBinarize[image,marker]
uses marker to create an initial contour.
ChanVeseBinarize[image,marker,{μ,ν,λ1,λ2}]
specify the Chan–Vese weights μ, ν, λ1, and λ2.
Details and Options


- ChanVeseBinarize implements an iterative active contour method to achieve a two-level segmentation of image.
- ChanVeseBinarize works with arbitrary 2D as well as 3D images.
- The target region marker can be any of the following:
-
markerimage a marker image {pos1,pos2,…} a list of positions fgcolor foreground color {{fgcolor,bgcolor}} foreground and background colors - Positions posi are assumed to be in the standard image coordinate system.
- ChanVeseBinarize uses the Euclidean distance between channel vectors to determine the similarity between pixels inside and outside of the contour.
- The Chan–Vese segmentation of an image domain
into the two segments
and
with contour
minimizes the following functional
of image
:
-
- The functional is parametrized by the length penalty
, the area penalty
, and level penalties
and
.
- The Chan–Vese algorithm partitions image such that the first segment
will differ as little as possible from constant
and the second segment
will deviate as little as possible from constant
. If constants
and
are not specified, one assumes c1=Mean[f] in
, and c2=Mean[f] in
.
- The contour
between the two resulting segments
and
will exhibit a short length for
, and for
the area of
will tend to be small or for
tend to be large.
- ChanVeseBinarize iteratively minimizes a functional that is a weighted sum of the contour length, the enclosed area, and the deviation between the image and the two-level segmentation.
- The maximum number of iteration steps is given by the MaxIterations option with default setting 100.

Examples
open allclose allScope (8)
Specify the foreground color to be used for an initial marker:
Specify both foreground and background colors for creating an initial marker:
Use foreground edges as the marker image:
Control the area of the segmented region:
Increase the smoothness of the segmented region:
Increase the length penalty when segmenting noisy images:
Increase the penalty for the segment to select background pixels:
Increase the penalty for the segment to improve the segmentation of a satellite image:
Options (1)
Text
Wolfram Research (2010), ChanVeseBinarize, Wolfram Language function, https://reference.wolfram.com/language/ref/ChanVeseBinarize.html (updated 2014).
CMS
Wolfram Language. 2010. "ChanVeseBinarize." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014. https://reference.wolfram.com/language/ref/ChanVeseBinarize.html.
APA
Wolfram Language. (2010). ChanVeseBinarize. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ChanVeseBinarize.html