imager: Image Processing Library Based on 'CImg'

Fast image processing for images in up to 4 dimensions (two spatial dimensions, one time/depth dimension, one colour dimension). Provides most traditional image processing tools (filtering, morphology, transformations, etc.) as well as various functions for easily analysing image data using R. The package wraps CImg, <>, a simple, modern C++ library for image processing.

Install the latest version of this package by entering the following in R:
AuthorSimon Barthelme [aut, cre]
Date of publication2017-04-24 12:21:01 UTC
MaintainerSimon Barthelme <>

View on CRAN

Man pages

add.colour: Add colour channels to a grayscale image or pixel set

as.cimg: Convert to cimg object

as.cimg.array: Turn an numeric array into a cimg object Create an image from a data.frame

as.cimg.function: Create an image by sampling a function

as.cimg.raster: Convert a raster object to a cimg object Convert a pixel image to a data.frame Convert image list to data.frame Methods to convert pixsets to various objects

as.imlist: Convert various objects to image lists

as.pixset: Methods to convert various objects to pixsets

as.raster.cimg: Convert a cimg object to a raster object for plotting

at: Return or set pixel value at coordinates

autocrop: Autocrop image region

bbox: Compute the bounding box of a pixset

blur_anisotropic: Blur image anisotropically, in an edge-preserving way.

boats: Photograph of sailing boats from Kodak set

boundary: Find the boundary of a shape in a pixel set

boxblur: Blur image with a box filter (square window)

boxblur_xy: Blur image with a box filter.

bucketfill: Bucket fill

cannyEdges: Canny edge detector

capture.plot: Capture the current R plot device as a cimg image

center.stencil: Center stencil at a location

channels: Split a colour image into a list of separate channels

ci: Concatenation for image lists

cimg: Create a cimg object

cimg2im: Convert cimg to spatstat im object

cimg.dimensions: Image dimensions

cimg.extract: Various shortcuts for extracting colour channels, frames, etc

cimg.use.openmp: Control CImg's parallelisation

clean: Clean up and fill in pixel sets (morphological opening and...

common_pixsets: Various useful pixsets

contours: Return contours of image/pixset

convolve: Convolve image by filter.

coord.index: Coordinates from pixel index

correlate: Correlation of image by filter

crop.borders: Crop the outer margins of an image

deriche: Apply recursive Deriche filter.

diffusion_tensors: Compute field of diffusion tensors for edge-preserving...

displacement: Estimate displacement field between two images.

display: Display object using CImg library

display.cimg: Display image using CImg library

display.list: Display image list using CImg library

distance_transform: Compute Euclidean distance function to a specified value.

erode: Erode/dilate image by a structuring element.

extract_patches: Extract image patches and return a list

FFT: Compute the Discrete Fourier Transform of an image

flatten.alpha: Flatten alpha channel

frames: Split a video into separate frames

get_gradient: Compute image gradient.

get_hessian: Return image hessian.

get.locations: Return coordinates of subset of pixels

get.stencil: Return pixel values in a neighbourhood defined by a stencil

grab: Select image regions interactively

grapes-inr-grapes: Check that value is in a range

grayscale: Convert an RGB image to grayscale

grow: Grow/shrink a pixel set

haar: Compute Haar multiscale wavelet transform.

highlight: Highlight pixel set on image

idply: Split an image along axis, apply function, return a...

iiply: Split an image, apply function, recombine the results as an...

ilply: Split an image along axis, apply function, return a list

im2cimg: Convert an image in spatstat format to an image in cimg...

imager: imager: an R library for image processing, based on CImg

imager.colourspaces: Colour space conversions in imager

imager.combine: Combining images

imager.replace: Replace part of an image with another

imager.subset: Array subset operator for cimg objects

imappend: Combine a list of images into a single image

imcoord: Coordinates as images

imdirac: Generates a "dirac" image, i.e. with all values set to 0...

imdraw: Draw image on another image

imeval: Pixel-wise evaluation of a CImg expression

imfill: Create an image of custom size by filling in repeated values

imgradient: Compute image gradient

imhessian: Compute image hessian.

iminfo: Return information on image file

imlap: Compute image Laplacian

imlist: Image list

imnoise: Generate (Gaussian) white-noise image

implot: Plot objects on image using base graphics

imrep: Replicate images

imrotate: Rotate an image along the XY plane.

imsharpen: Sharpen image.

imshift: Shift image content.

imsplit: Split an image along a certain axis (producing a list)

im_split: Split an image along a certain axis (producing a list)

imsub: Select part of an image

imwarp: Image warping

index.coord: Linear index in internal vector from pixel coordinates

interp: Interpolate image values

is.cimg: Checks that an object is a cimg object

is.imlist: Check that an object is an imlist object

isoblur: Blur image isotropically.

is.pixset: Check that an object is a pixset object

label: Label connected components.

liply: Apply function to each element of a list, then combine the...

load.example: Load example image

load.image: Load image from file or URL Load a video using ffmpeg

magick: Convert a magick image to a cimg image or image list Make/save a video using ffmpeg

map_il: Type-stable map for use with the purrr package

medianblur: Blur image with the median filter. In a window of size n x n...

mirror: Mirror image content along specified axis

pad: Pad image with n pixels along specified axis

patchstat: Return image patch summary

patch_summary_cimg: Extract a numerical summary from image patches, using CImg's...

periodic.part: Compute the periodic part of an image, using the...

permute_axes: Permute image axes

pixel.grid: Return the pixel grid for an image

pixset: Pixel sets (pixsets)

play: Play a video

plot.cimg: Display an image using base graphics

plot.imlist: Plot an image list

px.flood: Select a region of homogeneous colour A pixset for NA values

RasterPackage: Convert a RasterLayer/RasterBrick to a cimg image/image list

renorm: Renormalise image

resize: Resize image to new dimensions. If pd[x,y,z,v]<0, it...

resize_uniform: Resize image uniformly

rm.alpha: Remove alpha channel and store as attribute

rotate_xy: Rotate image by an arbitrary angle, around a center point.

save.image: Save image

split_connected: Split pixset into connected components

squeeze: Remove empty dimensions from an array

stencil.cross: A cross-shaped stencil

threshold: Threshold grayscale image

vanvliet: Young-Van Vliet recursive Gaussian filter.

warp: Warp image

watershed: Compute watershed transform.

where: Return locations in pixel set


add Man page
add.color Man page
add.colour Man page
as.cimg Man page
as.cimg.array Man page
as.cimg.cimg Man page Man page
as.cimg.double Man page
as.cimg.function Man page
as.cimg.logical Man page
as.cimg.matrix Man page
as.cimg.numeric Man page
as.cimg.pixset Man page
as.cimg.raster Man page
as.cimg.RasterLayer Man page
as.cimg.vector Man page Man page Man page Man page
as.imlist Man page
as.imlist.cimg Man page
as.imlist.imlist Man page
as.imlist.list Man page
as.imlist.RasterStackBrick Man page
as.pixset Man page
as.pixset.cimg Man page
as.raster.cimg Man page
at Man page
at<- Man page
autocrop Man page
average Man page
B Man page
B<- Man page
bbox Man page
blur_anisotropic Man page
boats Man page
boundary Man page
boxblur Man page
boxblur_xy Man page
bucketfill Man page
cannyEdges Man page
capture.plot Man page
Cc Man page
center.stencil Man page
channel Man page
channel<- Man page
channels Man page
ci Man page
cimg Man page
cimg2im Man page
cimg.dimensions Man page
cimg.extract Man page
cimg.use.openmp Man page
clean Man page Man page<- Man page
common_pixsets Man page
contours Man page
convert_pixset Man page
convolve Man page
coord.index Man page
correlate Man page
crop.bbox Man page
crop.borders Man page
depth Man page
deriche Man page
diffusion_tensors Man page
dilate Man page
dilate_rect Man page
dilate_square Man page
displacement Man page
display Man page
display.cimg Man page
display.list Man page
distance_transform Man page
enorm Man page
equal Man page
erode Man page
erode_rect Man page
erode_square Man page
extract_patches Man page
extract_patches3D Man page
FFT Man page
fill Man page
flatten.alpha Man page
frame Man page
frame<- Man page
frames Man page
G Man page
G<- Man page
get_gradient Man page
get_hessian Man page
get.locations Man page
get.stencil Man page
grab Man page
grabLine Man page
grabPoint Man page
grabRect Man page
grayscale Man page
grow Man page
haar Man page
height Man page
highlight Man page
HSItoRGB Man page
HSLtoRGB Man page
HSVtoRGB Man page
idply Man page
iiply Man page
ilply Man page
im2cimg Man page
imager Man page
imager.colourspaces Man page
imager.combine Man page
imager-package Man page
imager.replace Man page
imager.subset Man page
imappend Man page
imcol Man page
imcoord Man page
imdirac Man page
imdraw Man page
imeval Man page
imfill Man page
imgradient Man page
imhessian Man page
iminfo Man page
imlap Man page
imlist Man page
imnoise Man page
implot Man page
imrep Man page
imresize Man page
imrotate Man page
imrow Man page
imsharpen Man page
imshift Man page
imsplit Man page
im_split Man page
imsub Man page
imwarp Man page
index.coord Man page
\%inr\% Man page
interp Man page
is.cimg Man page
is.imlist Man page
isoblur Man page
is.pixset Man page
label Man page
LabtoRGB Man page
LabtosRGB Man page
LabtoXYZ Man page
liply Man page
load.example Man page
load.image Man page Man page
magick Man page
magick2cimg Man page
magick2imlist Man page Man page
map_il Man page
mclosing Man page
mclosing_square Man page
medianblur Man page
mirror Man page
mopening Man page
mopening_square Man page
mult Man page
nPix Man page
pad Man page
parall Man page
parany Man page
parmax Man page
parmax.abs Man page
parmed Man page
parmin Man page
parmin.abs Man page
parorder Man page
parrank Man page
parsd Man page
parsort Man page
parvar Man page
patchstat Man page
patch_summary_cimg Man page
periodic.part Man page
permute_axes Man page
pixel.grid Man page
pixset Man page
play Man page
plot.cimg Man page
plot.imlist Man page
px.all Man page
px.borders Man page
px.bottom Man page Man page
px.diamond Man page
px.flood Man page
px.left Man page Man page
px.none Man page
px.right Man page
px.square Man page Man page
R Man page
R<- Man page
RasterPackage Man page
renorm Man page
resize Man page
resize_doubleXY Man page
resize_halfXY Man page
resize_tripleXY Man page
resize_uniform Man page
RGBtoHSI Man page
RGBtoHSL Man page
RGBtoHSV Man page
RGBtoLab Man page
RGBtosRGB Man page
RGBtoXYZ Man page
RGBtoYCbCr Man page
RGBtoYUV Man page
rm.alpha Man page
rotate_xy Man page
save.image Man page Man page
shrink Man page
spectrum Man page
split_connected Man page
squeeze Man page
sRGBtoLab Man page
sRGBtoRGB Man page
stencil.cross Man page
subim Man page
threshold Man page
vanvliet Man page
warp Man page
watershed Man page
where Man page
which.parmax Man page
which.parmin Man page
width Man page
wsum Man page
Xc Man page
XYZtoLab Man page
XYZtoRGB Man page
Yc Man page
YCbCrtoRGB Man page
YUVtoRGB Man page
Zc Man page


tests/testthat/test_cpp_api.R tests/testthat/test_reductions.R
R/basegraphics.R R/utils.R R/transformations.R R/stencils.R R/drawing.R R/loading.R R/canny.R R/interpolation.R R/inline.R R/interactive.R R/RcppExports.R R/splitcombine.R R/imgen.R R/coordinates.R R/pixset.R R/imglist.R R/cimg_class.R R/filtering.R R/datasets.R R/conversions.R
man/boats.Rd man/imdraw.Rd man/isoblur.Rd man/save.image.Rd man/imlist.Rd man/map_il.Rd man/ man/add.colour.Rd man/is.pixset.Rd man/periodic.part.Rd man/imdirac.Rd man/magick.Rd man/patchstat.Rd man/permute_axes.Rd man/imnoise.Rd man/ man/imager.subset.Rd man/ci.Rd man/threshold.Rd man/imrep.Rd man/resize_uniform.Rd man/channels.Rd man/patch_summary_cimg.Rd man/blur_anisotropic.Rd man/as.pixset.Rd man/ man/index.coord.Rd man/where.Rd man/erode.Rd man/bucketfill.Rd man/imappend.Rd man/plot.cimg.Rd man/FFT.Rd man/autocrop.Rd man/displacement.Rd man/cimg.use.openmp.Rd man/cimg.extract.Rd man/imlap.Rd man/medianblur.Rd man/center.stencil.Rd man/clean.Rd man/grab.Rd man/imfill.Rd man/squeeze.Rd man/display.cimg.Rd man/cimg2im.Rd man/vanvliet.Rd man/pad.Rd man/implot.Rd man/is.cimg.Rd man/iminfo.Rd man/imgradient.Rd man/rm.alpha.Rd man/display.list.Rd man/grow.Rd man/correlate.Rd man/cimg.Rd man/common_pixsets.Rd man/coord.index.Rd man/imeval.Rd man/mirror.Rd man/at.Rd man/flatten.alpha.Rd man/imrotate.Rd man/imhessian.Rd man/contours.Rd man/grayscale.Rd man/watershed.Rd man/display.Rd man/imager.Rd man/liply.Rd man/bbox.Rd man/as.cimg.array.Rd man/ man/get_gradient.Rd man/frames.Rd man/ man/capture.plot.Rd man/pixset.Rd man/convolve.Rd man/iiply.Rd man/get_hessian.Rd man/get.stencil.Rd man/extract_patches.Rd man/get.locations.Rd man/load.example.Rd man/play.Rd man/imager.combine.Rd man/label.Rd man/diffusion_tensors.Rd man/ man/grapes-inr-grapes.Rd man/highlight.Rd man/as.raster.cimg.Rd man/imsub.Rd man/boundary.Rd man/haar.Rd man/px.flood.Rd man/RasterPackage.Rd man/imcoord.Rd man/renorm.Rd man/boxblur.Rd man/boxblur_xy.Rd man/cimg.dimensions.Rd man/crop.borders.Rd man/imshift.Rd man/idply.Rd man/as.cimg.Rd man/resize.Rd man/plot.imlist.Rd man/rotate_xy.Rd man/ man/pixel.grid.Rd man/stencil.cross.Rd man/ilply.Rd man/im_split.Rd man/imwarp.Rd man/imsplit.Rd man/as.cimg.raster.Rd man/warp.Rd man/as.cimg.function.Rd man/imager.colourspaces.Rd man/interp.Rd man/split_connected.Rd man/im2cimg.Rd man/as.imlist.Rd man/imsharpen.Rd man/is.imlist.Rd man/deriche.Rd man/cannyEdges.Rd man/imager.replace.Rd man/load.image.Rd man/distance_transform.Rd
Spark Online Training by Edureka

Questions? Problems? Suggestions? or email at

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.