morphology {EBImage}R Documentation

Perform morphological operations on images

Description

Functions to perform morphological operations on binary images.

Usage

  dilate(x, kern, iter)
  erode(x, kern, iter)
  opening(x, kern, iter)
  closing(x, kern, iter)

  makeBrush(size, shape=c('box', 'disc', 'diamond'), step=TRUE)

Arguments

x An Image object or an array. x is considered as a binary image, whose pixels of value 0 are considered as background ones and other pixels as foreground ones.
kern An Image object or an array, containing the structuring element. kern is considered as a binary image, whose pixels of value 0 are considered as background ones and other pixels as foreground ones.
size A numeric containing the size of the brush, in pixels.
shape A character vector indicating the shape of the brush. Can be box, disc or diamond. Default is box.
step a logical indicating if the brush is binary. Default is TRUE.
iter Deprecated argument.

Details

erode applies the mask positioning its centre over every background pixel (0), every pixel which is not covered by the mask is reset to foreground (1). In this way image features grow in size.

dilate applies the mask positioning its centre over every foreground pixel (!=0), every pixel which is not covered by the mask is reset to background (0). In this way image features seem shrink in size.

opening is an erosion followed by a dilation and closing is a dilation followed by an erosion.

makeBrush generates brushes of various sizes and shapes that can be used as structuring elements.

Value

dilate, erode, opening and closing return the transformed Image object or array, after the corresponding morphological operation.
makeBrush generates a 2D matrix containing the desired brush.

Author(s)

Oleg Sklyar, osklyar@ebi.ac.uk, 2006

Examples

      
    x = readImage(system.file("images", "shapes.png", package="EBImage"))
    if (interactive()) display(x)
    kern = makeBrush(5, shape='diamond')
    if (interactive()) display(kern, title='Structuring element')
    if (interactive()) display(erode(x, kern), title='Erosion of x')
    if (interactive()) display(dilate(x, kern), title='Dilatation of x')

    ## makeBrush 
    x = makeBrush(100, shape='diamond')
    if (interactive()) display(x, title="makeBrush(100, shape='diamond')")
    x = makeBrush(100, shape='disc', step=FALSE)
    if (interactive()) display(x, title="makeBrush(100, shape='disc', step=FALSE)")

[Package EBImage version 3.0.5 Index]