Grey Scale -> RGB images from augmentedImageSource

6 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?
  2 Comments
Aditya Patil
Aditya Patil on 16 Nov 2020
Can you elaborate on the issue you are facing? Share any errors that were shown, and also share the output of the "version" command.

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.

Categories

Find more on Modify Image Colors 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!