MATLAB Answers

0

the image size in matlab now equal the actual size at computer

Asked by Abdullah on 31 Mar 2017
Latest activity Commented on by Abdullah on 31 Mar 2017
Accepted Answer by KSSV
Hell My issue is when I use imread to any image then i type whos it gives me the image size by Bytes but its not equal to the actual image size at the computer, its always bigger.

  1 Comment

Yes, hell you are right. ;-) What exactly is your question?

Sign in to comment.

Products

3 Answers

Answer by KSSV
on 31 Mar 2017
 Accepted Answer

You see when you read the image using imread, what you have in hand is a RGB matrix or binary matrix depending on the image read. The data has the pixel values of the image and these are numbers either in double or uint. When you type whos matlab shows the Bytes size of this matrix. The sizes which you are comparing are obviously different. If you want to get the size of image in matlab...try
info = dir('my image')
info will be a structure, check bytes there. This is the size which you are looking.

  0 Comments

Sign in to comment.


Answer by Jan
on 31 Mar 2017
Edited by Jan
on 31 Mar 2017

Correct. This is the purpose of the whos command. It shows the memory used for storing a variable. This is the number of elements multiplied by the number of bytes per element. For cells this is the number of elements multiplied by the byte size of a pointer.
Therefore the size shown by whos is expected to be larger than the number of elements.
If you want to get the size in pixels, use size. If you want the file size, see KSSV's answer.

  1 Comment

Sign in to comment.


Answer by Abdullah on 31 Mar 2017

thanks a lot @KSSV it did solve the problem

  0 Comments

Sign in to comment.