Help to understand Matlab code

조회 수: 1 (최근 30일)
Matlab Student
Matlab Student 2018년 10월 23일
댓글: jonas 2018년 10월 23일
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,

채택된 답변

jonas
jonas 2018년 10월 23일
편집: jonas 2018년 10월 23일
[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
Matlab Student
Matlab Student 2018년 10월 23일
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 2018년 10월 23일
My pleasure! Yep, thats correct.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by