size:获取数组的行数和列数
length:数组长度(即行数或列数中的较大值)
numel:元素总数。
s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的列数。
[r,c]=size(A),当有两个输出参数时,size函数将数组的行数返回到第一个输出变量,将数组的列数返回到第二个输出变量。
如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或列数。 其中r=size(A,1)该语句返回的时数组A的行数, c=size(A,2) 该语句返回的时数组A的列数。
n=numel(A)该语句返回数组中元素的总数。
n=length(A):如果A为非空数组,返回行数和列数两者之间数值较大的那一个值,即相当于执行了max(size(A));如果A为空数组,则返回0;如果A是一个向量则返回A的长度。
n=max(size(A):若A为非空数组,返回A的最大维数;若A为空数组,返回A中最长的非0维数。
zhu和44为彩色图片 12为灰度图像
vv=imread('D:\实验图片\zhu.jpg');
pp=imread('D:\实验图片\12.jpg');
gg=imread('D:\实验图片\44.jpg');
[a, b, c]=size(vv);
pp=imread('D:\实验图片\12.jpg');
gg=imread('D:\实验图片\44.jpg');
[a, b, c]=size(vv);
d=length(size(vv));
h=length(size(pp));
k=length(size(gg));
tt=size(pp);
[l, m, n]=size(gg) ;
[ll, mm, nn]=size(pp)
numel(size(vv))
numel(size(pp))
numel(size(gg))
运行结果为:
a =800
b = 600
c = 3
d = 3
h =2
k =3
tt = 1280 1024
l = 640
m = 670
n = 3
ll = 1280
mm =1024
nn = 1
ans = 3
ans = 2
ans = 3
%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,判断是否为灰度图像
% check to see if the image is a color image...
d = length(size(im));
if d==3
image=double(rgb2gray(im));
elseif d==2
image=double(im);
end
d = length(size(im));
if d==3
image=double(rgb2gray(im));
elseif d==2
image=double(im);
end
或者 numel(size(im))>2 为彩色图像
numel(size(im))=2 为灰度图像