erode(x, kernel)
dilate(x, kernel)
opening(x, kernel)
closing(x, kernel)morph method exists.shapeKernel for functions to generate a suitable kernel.erode function uses the kernel as an eraser, centring it on each zero-valued pixel, which has the effect of eroding the extent of nonzero areas. Dilation has the opposite effect, extending the nonzero regions in the array. Opening is an erosion followed by a dilation, and closing is a dilation followed by an erosion, using the same kernel in both cases.If the kernel has only one unique nonzero value, it is described as ``flat''. For a flat kernel, the erosion is the minimum value of x within the nonzero region of kernel. For a nonflat kernel, this becomes minimum value of x - kernel. Dilation is the opposite operation, taking the maximum within the kernel.
morph for the function underlying all of these operations, kernels for kernel-generating functions, binarise for binarising an array, and gaussianSmooth for smoothing. The EBImage Bioconductor package also supplies functions to perform these operations, and may be slightly faster, but only works in two dimensions.x <- c(0,0,1,0,0,0,1,1,1,0,0)
k <- c(1,1,1)
erode(x,k)
dilate(x,k)Run the code above in your browser using DataLab