floodFill {EBImage} | R Documentation |
Functions to fill regions in images and matrices/arrays and fill holes in indexed objects.
## S4 method for signature 'array': floodFill(x, pt, col, tolerance=1e-3, ...) ## S4 method for signature 'IndexedImage': fillHull(x, ...)
x |
An array -like object (e.g. Image )
to be filled. For fillHull this must be an instance of IndexedImage . |
pt |
An integer of 2 values for x-y coordinates of the point where
fill starts. |
col |
A value for the fill color, supposedly in the same storage mode as
x . If x is an image col will be converted to the
corresponding storage mode using the channel function, and thus
can be a character value specifying the color in X11 mode. |
tolerance |
Color tolerance used during the fill. |
... |
Reserved. |
If no color is specified, the color under the coordinates of pt
is used
(this only has sense if tolerance is not zero). The flood fill is implemented
using the fast scan line algorithm. It is assumed that floodFill
is
run either on matrices of single-framed images. If the latter is not the case,
only the first frame will be modified!
fillHull
files holes in objects of IndexedImage
's.
A copy of x
with the fill applied.
Gregoire Pau, Oleg Sklyar; 2007
if (interactive()) { data(imageWithHoles) display(x, main="Original image") display(floodFill(x,c(5,5),tolerance=0.2)) display(floodFill(x,c(40,40),tolerance=0.2)) mask = x mask[mask>0.3]=1 mask[mask<=0.3]=0 y = floodFill(mask,c(40,40),2) class(y) = "IndexedImage" display(y, main="Indexed mask with holes") y = fillHull(y) display(y, main="Indexed mask without holes") rgb = channel(normalize(y), "rgb") rgb = floodFill(rgb, c(1,1), "red") rgb = floodFill(rgb, c(50,50), "blue") rgb = floodFill(rgb, c(150,150), "green") display(rgb) }