size() for images
78 views (last 30 days)
Show older comments
readImage1=imread(image_file1);
m = size(readImage1);
what does mean by the second line of the code ?
Accepted Answer
Stephen23
on 13 Dec 2015
Edited: Stephen23
on 29 Oct 2020
" 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
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:
- row
- column
- 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:
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!