Error when using rgb2gray in a for loop.

2 vues (au cours des 30 derniers jours)
Ailun Yang
Ailun Yang le 2 Avr 2020
I have four different .tif images in my folder. I want to use a for loop to load all of the images into Matlab then convert them to grayscale and then perform frame averaging on all for and display them in a montage. But I keep getting an error MAP must be a m x 3 array.
only one section of my code:
for i = 1:4
img{i} = imread(sprintf('PShot%d.tif',i));
Igray = rgb2gray(img);
end
I believe my issue is that the variables are in a cell which is messing with the rgb2gray function but im not sure. I'm fairly new to Matlab so this maybe a trivial question.

Réponse acceptée

Walter Roberson
Walter Roberson le 2 Avr 2020
nfile = 4;
img = cell(nfile,1);
Igray = cell(nfile,1);
for i = 1:nfile
img{i} = imread(sprintf('PShot%d.tif',i));
Igray{i} = rgb2gray(img{i});
end

Plus de réponses (0)

Catégories

En savoir plus sur Images dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by