Borrar filtros
Borrar filtros

Can I run a loop with image variables that have different dimensions?

2 visualizaciones (últimos 30 días)
Apologies if there is an obvious answer I'm missing.
I've got images stored as variables, but they've got different dimensions.
I've got this function to calculate the average RGB value of each image:
mean(reshape(I1, [], 3))
But I don't know how to make a loop that will run through each variable. I've tried to make it a list like this
a = [I1 I2 I3 I4 I5 I6 I7 I8]
But the dimensions are not the same, and it would be ideal if I did not have to edit the images further. Any help, or do I need to resize?

Respuesta aceptada

Matt Macaulay
Matt Macaulay el 24 de Abr. de 2018
Make a cell of the images and loop through the cell:
a = {I1 I2 I3 I4 I5 I6 I7 I8};
n = length(a);
for i = 1:n
% Do some stuff
end
  2 comentarios
Jamil Wanis
Jamil Wanis el 26 de Abr. de 2018
a = {I1 I2 I3 I4 I5 I6 I7 I8};
n = length(a);
for i = 1:n
mean(reshape(i, [], 3))
end
I'm getting this error: Product of known dimensions, 3, not divisible into total number of elements, 1.
It is registering the i variable as 1:8, but how do I refer to the variables in the cell using i? Thank you for the help
Jamil Wanis
Jamil Wanis el 26 de Abr. de 2018
Actually I believe I've gotten it using
a = {I1 I2 I3 I4 I5 I6 I7 I8};
n = length(a);
for i = 1:n
mean(reshape(a{1,i}, [], 3))
end
Is this the most effective way? Thank you for the solution!

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by