Grey Scale -> RGB images from augmentedImageSource

2 ビュー (過去 30 日間)
Samir Gouin
Samir Gouin 2020 年 11 月 5 日
コメント済み: Samir Gouin 2020 年 11 月 16 日
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 件のコメント
Aditya Patil
Aditya Patil 2020 年 11 月 16 日
Can you elaborate on the issue you are facing? Share any errors that were shown, and also share the output of the "version" command.
Samir Gouin
Samir Gouin 2020 年 11 月 16 日
Version '9.8.0.1359463 (R2020a) Update 1'
Error is in the photo

サインインしてコメントする。

回答 (1 件)

Subhadeep Koley
Subhadeep Koley 2020 年 11 月 16 日
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 件のコメント
Samir Gouin
Samir Gouin 2020 年 11 月 16 日
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?

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by