回 帖 发 新 帖 刷新版面

主题:[讨论]关于Matlab中size()的问题

我只知道
size按照下面的形式使用:
[m,n]=size(a,x)。一般的,函数的输入参量x不是用,这是当只有一个输出变量时,size返回一个行向量,第一个数为行数,第二个数为列数;如果有两个输出变量,第一个返回量为行数,第二个返回数为列数。当使用x时,x=1返回行数,x=2返回列数,这时只有一个返回值。

我要问的是:
I=im2double(imread(file)) ;//把图像数组转换成double精度类型;

if([color=FF0000]size(I,3)[/color] > 1)
  I = rgb2gray( I ) ;
end
中 size(I,3) 代表什么意思? 按照上面的说法 X=1,2都可以理解。
I 代表的是图像数组阿,不是二维的么?  那么   [color=FF0000]size(I,3) 中的3  [/color]代表什么?
请高人指教阿?

回复列表 (共4个回复)

沙发

一个函数可以是多维的..比如说是 一个 10*10*10*10的距阵
那就是说这个距阵是4维的..
那个'()'里的3就是指的第三维

板凳

楼上说得对,表示第三维

3 楼


而楼说得太对啦,返回值是图象的第三维大小,因为从下面的操作看得出读入图象是彩色的

4 楼


恩 谢谢了  我一直以为 图像不就是二维的数组么,我给理解错了。图像也可以写成 123*589*3  这种形式 3 代表RGB

我来回复

您尚未登录,请登录后再回复。点此登录或注册