size() for images

78 views (last 30 days)
Arya k
Arya k on 13 Dec 2015
Edited: DGM on 19 Jan 2024
readImage1=imread(image_file1);
m = size(readImage1);
what does mean by the second line of the code ?
  1 Comment
Gopolang
Gopolang on 13 May 2023
the dimensions of the image

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 13 Dec 2015
Edited: Stephen23 on 29 Oct 2020
The size documentation tells us:
" d = size(X) returns the sizes of each dimension of array X in a vector, d, with ndims(X) elements."
You can also very easily try that line in order to find out what it does: load an image and try size and see what it outputs, like this:
>> X = imread('parula_0.png');
>> V = size(X)
V =
420 560 3
This tells us that my image (an array of numbers), is 420 pixels high and 560 pixels across, and contains 3 pages, one for each of R, G and B. It is worth noting that the syntax
[A,B] = size(X);
does NOT return the rows and columns of a 3D (e.g. image) array. Read the size documentation to know why.
  3 Comments
Stephen23
Stephen23 on 29 Oct 2020
Edited: Stephen23 on 29 Oct 2020
"What do you mean by 3 pages? I dont understand what the third dimension is"
The MATLAB documentation
defines names for the first three dimensions of an array:
  1. row
  2. column
  3. page
These are the first three dimensions of any array:
X(row,column,page,...)
RGB images are most commonly represented using RxCx3 arrays, where the third dimension encodes the three color channels red, green, and blue:
Note that all arrays implicitly have infinite trailing singleton dimensions:

Sign in to comment.

More Answers (0)

Categories

Find more on Images in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!