Main Content

Deep Learning for Image Processing

Perform image processing tasks, such as removing image noise and performing image-to-image translation, using deep neural networks (requires Deep Learning Toolbox™)

Deep learning uses neural networks to learn useful representations of features directly from data. For example, you can use a pretrained neural network to identify and remove artifacts like noise from images.

A noisy image is passed to a trained denoising network, which returns a denoised image.


expand all

augmentedImageDatastoreTransform batches to augment image data
blockedImageDatastoreDatastore for use with blocks from blockedImage objects (Since R2021a)
denoisingImageDatastoreDenoising image datastore
imageDatastoreDatastore for image data
randomPatchExtractionDatastoreDatastore for extracting random 2-D or 3-D random patches from images or pixel label images
transformTransform datastore
combineCombine data from multiple datastores
jitterColorHSVRandomly alter color of pixels (Since R2019b)
randomWindow2dRandomly select rectangular region in image (Since R2021a)
randomCropWindow3dCreate randomized cuboidal cropping window (Since R2019b)
centerCropWindow2dCreate rectangular center cropping window (Since R2019b)
centerCropWindow3dCreate cuboidal center cropping window (Since R2019b)
RectangleSpatial extents of 2-D rectangular region (Since R2019b)
CuboidSpatial extents of 3-D cuboidal region (Since R2019b)
randomAffine2dCreate randomized 2-D affine transformation (Since R2019b)
randomAffine3dCreate randomized 3-D affine transformation (Since R2019b)
affineOutputViewCreate output view for warping images (Since R2019b)
imeraseRemove image pixels within rectangular region of interest (Since R2021a)
resize2dLayer2-D resize layer (Since R2020b)
resize3dLayer3-D resize layer (Since R2020b)
dlresizeResize spatial dimensions of dlarray object (Since R2020b)
DepthToSpace2DLayerDepth to space layer (Since R2021a)
SpaceToDepthLayerSpace to depth layer (Since R2020b)
depthToSpaceRearrange dlarray data from depth dimension into spatial blocks (Since R2021a)
spaceToDepthRearrange spatial blocks of dlarray data along depth dimension (Since R2021a)
encoderDecoderNetworkCreate encoder-decoder network (Since R2021a)
blockedNetworkCreate network with repeating block structure (Since R2021a)
pretrainedEncoderNetworkCreate encoder network from pretrained network (Since R2021a)
cycleGANGeneratorCreate CycleGAN generator network for image-to-image translation (Since R2021a)
patchGANDiscriminatorCreate PatchGAN discriminator network (Since R2021a)
pix2pixHDGlobalGeneratorCreate pix2pixHD global generator network (Since R2021a)
addPix2PixHDLocalEnhancerAdd local enhancer network to pix2pixHD generator network (Since R2021a)
unitGeneratorCreate unsupervised image-to-image translation (UNIT) generator network (Since R2021a)
unitPredictPerform inference using unsupervised image-to-image translation (UNIT) network (Since R2021a)
denoiseImageDenoise image using deep neural network
denoisingNetworkGet image denoising network
dnCNNLayersGet denoising convolutional neural network layers


Preprocess Image Data for Deep Learning

Create Neural Networks for Image Processing Applications

Deep Learning in MATLAB

  • Deep Learning in MATLAB (Deep Learning Toolbox)
    Discover deep learning capabilities in MATLAB using convolutional neural networks for classification and regression, including pretrained networks and transfer learning, and training on GPUs, CPUs, clusters, and clouds.
  • Semantic Segmentation Using Deep Learning (Computer Vision Toolbox)
    This example shows how to segment an image using a semantic segmentation network.