Effacer les filtres
Effacer les filtres

The memory size occupied by an image

7 vues (au cours des 30 derniers jours)
K. Taieb
K. Taieb le 19 Juin 2020
Modifié(e) : K. Taieb le 23 Juin 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

Réponses (1)

Steven Lord
Steven Lord le 19 Juin 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 commentaire
K. Taieb
K. Taieb le 19 Juin 2020
Modifié(e) : K. Taieb le 23 Juin 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Display Image dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by