The memory size occupied by an image

11 visualizaciones (últimos 30 días)
K. Taieb
K. Taieb el 19 de Jun. de 2020
Editada: K. Taieb el 23 de Jun. de 2020
I did not understand why when I save a 2D matrix (200 * 200) in an image (imwrite), the memory size occupied by this image is less than the memory occupied by the image created by a matrix (1 * 25000). the number of elements in the first case is greater than in the second.
do you have any explanation?
Thank you

Respuestas (1)

Steven Lord
Steven Lord el 19 de Jun. de 2020
Compression, perhaps.
Let me generate a random matrix. What's the most compact way you can think of to write a command to regenerate it? [I'm not going to give you the command I used to generate it.]
A =
1 8 8 -6 -6
3 7 -5 -7 8
0 10 -10 -9 -6
9 -10 5 5 -9
5 -8 1 10 -6
Here's a second matrix, same size. Can you write a shorter command to generate B than you could to generate A?
B =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
Even if I gave you the full command to create A, it would still be longer than the command I used to generate B.
  1 comentario
K. Taieb
K. Taieb el 19 de Jun. de 2020
Editada: K. Taieb el 23 de Jun. de 2020
Thank you!
In my case, the matrixes are of type uint16 like B in your example.
I will show you an example:
I have a matrix A with 40000 elements and B with 25000 elements.
A=200*ones(200,200);
B=200*ones(25000,1);
imwrite(A,['image' num2str(1) '.jp2']);
imwrite(B,['image' num2str(2) '.jp2']);
The size of memory :
for B: image 1 = 240 byte.
for A: image 2 = 4,11 kilobyte.
I thought that the memory size occupied by the image 1 is more important because the nomber of elements of A is more then in B.

Iniciar sesión para comentar.

Categorías

Más información sobre Display Image en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by