Error when using rgb2gray in a for loop.

4 Ansichten (letzte 30 Tage)
Ailun Yang
Ailun Yang am 2 Apr. 2020
Beantwortet: Walter Roberson am 2 Apr. 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.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 2 Apr. 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

Weitere Antworten (0)

Kategorien

Mehr zu Images finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by