grow | R Documentation |
Grow/shrink a pixel set through morphological dilation/erosion. The default is to use square or rectangular structuring elements, but an arbitrary structuring element can be given as input. A structuring element is a pattern to be moved over the image: for example a 3x3 square. In "shrink" mode, a element of the pixset is retained only if and only the structuring element fits entirely within the pixset. In "grow" mode, the structuring element acts like a neighbourhood: all pixels that are in the original pixset *or* in the neighbourhood defined by the structuring element belong the new pixset.
grow(px, x, y = x, z = x, boundary = TRUE) shrink(px, x, y = x, z = x, boundary = TRUE)
px |
a pixset |
x |
either an integer value, or an image/pixel set. |
y |
width of the rectangular structuring element (if x is an integer value) |
z |
depth of the rectangular structuring element (if x is an integer value) |
boundary |
are pixels beyond the boundary considered to have value TRUE or FALSE (default TRUE) |
shrink
: shrink pixset using erosion
#A pixel set: a <- grayscale(boats) > .8 plot(a) #Grow by a 8x8 square grow(a,8) %>% plot #Grow by a 8x2 rectangle grow(a,8,2) %>% plot #Custom structuring element el <- matrix(1,2,2) %>% as.cimg all.equal(grow(a,el),grow(a,2)) #Circular structuring element px.circle(5) %>% grow(a,.) %>% plot #Sometimes boundary conditions matter im <- imfill(10,10) px <- px.all(im) shrink(px,3,bound=TRUE) %>% plot(main="Boundary conditions: TRUE") shrink(px,3,bound=FALSE) %>% plot(main="Boundary conditions: FALSE")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.