Help to understand Matlab code

1 vue (au cours des 30 derniers jours)
Matlab Student
Matlab Student le 23 Oct 2018
Commenté : jonas le 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,

Réponse acceptée

jonas
jonas le 23 Oct 2018
Modifié(e) : jonas le 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 commentaires
Matlab Student
Matlab Student le 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 le 23 Oct 2018
My pleasure! Yep, thats correct.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Image Processing Toolbox 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