connectedComponents
computes the connected components
(i.e. areas of contiguous non-zero pixels) of a binary image.
connectedComponents(
image,
connectivity = 8,
algorithm = "grana",
table = TRUE,
target = "new"
)
An an 8-bit (8U) single-channel Image
object.
The connetivity neighborhood to decide whether 2 pixels are contiguous. This parameter can take two values:
4: the neighborhood of a pixel are the four pixels located above (north), below (south), to the left (west) and right (east) of the pixel.
8 (the default): the neighborhood of a pixel includes the four 4-neighbors and the four pixels along the diagonal directions (northeast, northwest, southeast, and southwest).
A character string specifying the connected components labeling algorithm to use. This parameter can take two values:
"grana" (the default): Block-based connected-component labeling for 8-way connectivity, scan array union find labeling for 4-way connectivity.
"wu": Scan array union find labeling for both 8-way and 4-way connectivity.
A boolean indicatinng whether the coordinates of the pixels of each component should be returned.
The location where the results should be stored. It can take 2 values:
A list with 1 to 3 items:
n: the number of connected components in the image. It is always returned.
table: if table=TRUE
, a matrix with 3 columns representing
the identity of the connected components (id), and the x-y coordinates of
the pixels they are composed of.
labels: if target="new"
a 32S single-channel image in which
each pixel of each connected component is represented by the identity
number of the component, and the background pixels by zero.
# NOT RUN {
dots <- image(system.file("sample_img/dots.jpg", package = "Rvision"))
dots_gray <- changeColorSpace(dots, "GRAY")
dots_bin <- dots_gray < 200
cc <- connectedComponents(dots_bin)
# }
Run the code above in your browser using DataLab