Grey Scale -> RGB images from augmentedImageSource

29 views (last 30 days)
Hi, I would like to convert grey scale images to [227 227 3]. I'm able to adjust the size using "auimds = augmentedImageSource(imageSize, trainingImages); " but I'm having trouble with converting to RGB (for use with Alex Net).
I've tried:
%grayimg=repmat(grayimg, 1, 1, 3);
%auimds = cat(3, auimds, auimds, auimds);
%auimds(:,:,[1 1 1]);
%RGB = auimds(3, auimds, auimds, auimds);
and the grey2rgb() method
Any suggestions?

Sign in to comment.

Answers (1)

Subhadeep Koley
Subhadeep Koley on 16 Nov 2020
You can use the ColorPreprocessing Name-Value pair of augmentedImageSource to achieve what you want.
imageSize = [227 227 3];
auimds = augmentedImageSource(imageSize, trainingImages, 'ColorPreprocessing', 'gray2rgb'); % 'trainingImages' is your image datastore
Also if your using MATLAB R2018a or above, you might want to use augmentedImageDatastore instead of the augmentedImageSource due to the Compatibility Considerations.
augmentedImageDatastore is a direct replacement of augmentedImageSource. Like below,
imageSize = [227 227 3];
auimds = augmentedImageDatastore(imageSize, trainingImages, 'ColorPreprocessing', 'gray2rgb'); % 'trainingImages' is your image datastore
  1 Comment
Samir Gouin
Samir Gouin on 16 Nov 2020
Thanks for your help! I am using version R2020a so I've implemented the second approach. Still getting a size error (please see pic). Any ideas?

Sign in to comment.


Find more on Deep Learning with Time Series and Sequence Data in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!