Help to understand Matlab code

1 view (last 30 days)
Matlab Student
Matlab Student on 23 Oct 2018
Commented: jonas on 23 Oct 2018
Hello Matlab Experts,
I am trying to understand this Matlab code, I am stuck at few lines:
% get resolution and number of band
[m n ~]=size(im);
if length(size(im))==3
b=size(im,3);
else
b=1;
end
[m n ~] = size(im) I know size(im) should return the height and width of an image, but what does ~ mean? I have reviewed size documentation but did not find the answer: https://www.mathworks.com/help/matlab/ref/size.html
Also, I need assistance to understand these two lines as well. As per Matlab documentation, szdim = size(A,dim) returns the length of dimension dim. Does this mean size(im,3) return the depth of image pixels?
if length(size(im))==3
b=size(im,3);
Thanks in advance,

Accepted Answer

jonas
jonas on 23 Oct 2018
Edited: jonas on 23 Oct 2018
[m n ~] = size(im)
~ basically means "omit this output", and is totally useless in this context. It is useful in other cases, for example if you're only interested in the second output.
[~,out] = func(...)
"Does this mean size(im,3) return the depth of image pixels?"
yes
  2 Comments
Matlab Student
Matlab Student on 23 Oct 2018
Thanks Jonas.
What about length(size(im))? Does length(size(im)) equals to 2 if im is a two dimensional array, and equals to 3 if im is an image with Height Width and Depth?
jonas
jonas on 23 Oct 2018
My pleasure! Yep, thats correct.

Sign in to comment.

More Answers (0)

Categories

Find more on Get Started with MATLAB 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!