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.


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

Get Started with Image Preprocessing and Augmentation for Deep Learning

Preprocess data with deterministic operations such as normalization or color space conversion, or augment training data with randomized operations such as random cropping or color jitter.

Datastores for Deep Learning (Deep Learning Toolbox)

Learn how to use datastores in deep learning applications.

Prepare Datastore for Image-to-Image Regression (Deep Learning Toolbox)

This example shows how to prepare a datastore for training an image-to-image regression network using the transform and combine functions of ImageDatastore.

Augment Images for Deep Learning Workflows Using Image Processing Toolbox

This example shows how MATLAB® and Image Processing Toolbox™ can perform common kinds of image augmentation as part of deep learning workflows.

Create Neural Networks for Image Processing Applications

Train and Apply Denoising Neural Networks

Use a pretrained neural network to remove Gaussian noise from a grayscale image, or train your own network using predefined layers.

Create Modular Neural Networks

You can create and customize deep learning networks that follow a modular pattern with repeating groups of layers, such as U-Net and cycleGAN.

Get Started with GANs for Image-to-Image Translation

GAN networks can transfer the styles and characteristics from one set of images to the scene content of other images.

Pretrained Deep Neural Networks (Deep Learning Toolbox)

Learn how to download and use pretrained convolutional neural networks for classification, transfer learning and feature extraction.

List of Deep Learning Layers (Deep Learning Toolbox)

Discover all the deep learning layers in MATLAB®.

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 train a semantic segmentation network using deep learning.

Featured Examples