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
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
randomWindow2dRandomly select rectangular region in image
randomCropWindow3dCreate randomized cuboidal cropping window
centerCropWindow2dCreate rectangular center cropping window
centerCropWindow3dCreate cuboidal center cropping window
RectangleSpatial extents of 2-D rectangular region
CuboidSpatial extents of 3-D cuboidal region
randomAffine2dCreate randomized 2-D affine transformation
randomAffine3dCreate randomized 3-D affine transformation
affineOutputViewCreate output view for warping images
imeraseRemove image pixels within rectangular region of interest
resize2dLayer2-D resize layer
resize3dLayer3-D resize layer
dlresizeResize spatial dimensions of dlarray object
DepthToSpace2DLayerDepth to space layer
SpaceToDepthLayerSpace to depth layer
depthToSpaceRearrange dlarray data from depth dimension into spatial blocks
spaceToDepthRearrange spatial blocks of dlarray data along depth dimension
encoderDecoderNetworkCreate encoder-decoder network
blockedNetworkCreate network with repeating block structure
pretrainedEncoderNetworkCreate encoder network from pretrained network
cycleGANGeneratorCreate CycleGAN generator network for image-to-image translation
patchGANDiscriminatorCreate PatchGAN discriminator network
pix2pixHDGlobalGeneratorCreate pix2pixHD global generator network
addPix2PixHDLocalEnhancerAdd local enhancer network to pix2pixHD generator network
unitGeneratorCreate unsupervised image-to-image translation (UNIT) generator network
unitPredictPerform inference using unsupervised image-to-image translation (UNIT) network
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.