3D image stack; determine mean of individual arrays; error code
Mostrar comentarios más antiguos
Hi,I have a 1000x1000x1952 uint8 3D image array (Array), and would like to get the mean value of each individual array "image" and subsequently put these in a 1952x1 array (meanArray).
The code I use is:
meanArray= mean(Array,[1 2])
the error code I get is: Error using sum "Dimension argument must be a positive integer scalar within indexing range. Error in mean (line 87) y = sum(x,dim,flag);"
What am I missing here? Thanks! Barry
Respuesta aceptada
Más respuestas (2)
Stephen23
el 5 de Oct. de 2018
squeeze(mean(mean(Array,1),2))
2 comentarios
B Janssen
el 8 de Oct. de 2018
@B Janssen: so you actually used my faster answer, but accepted Matt J's answer that you did not use? Confusing.
Note that you can also vote for answers, which is any easy way to show thanks to the volunteers who helped you. It is nice to get a vote as a small sign of appreciation.
This method would probably be most optimal, since it involves only one call to mean(), and therefore allocates a smaller chunk of memory for the output.
meanArray = mean( reshape(Array,[], size(Array,3)) );
Categorías
Más información sobre Images en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!