size(A)函数是用来求矩阵的大小的。
比如说一个A是一个3×4的二维矩阵:
1、size(A) %直接显示出A大小
输出:ans=
3 4
2、s=size(A)%返回一个行向量s,s的第一个元素是矩阵的行数,第二个元素是矩阵的列数
输出:s=
3 4
3、[r,c]=size(A)%将矩阵A的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c
输出:r=
3
c=
4
4、[r,c,m]=size(A)
输出:r=
3
c=
4
m=
1
也就说它把二维矩阵当作第三维为1的三维矩阵,这也如同我们把n维列向量当作n×1的矩阵一样
5、当a是一个n维行向量时,size(A)把其当成一个1×n的矩阵,因此size(a)的结果是
ans
1 n
而不是a的元素个数n
6、size(A,n)
如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则
size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的是矩阵A的行数, c=size(A,2)
该语句返回的是矩阵A的列数
在图像处理中,
1.一般灰度图像的数据的MATLAB中表示为二维矩阵m*n,矩阵中的元素为对应像素处灰度值,有二值(0和1)类型,double类型,uint8类型等
2.一般彩色图像的数据的MATLAB中表示为三维矩阵,分为RGB颜色空间,HIS空间等;一般为RGB颜色空间,也就是说每一处像素点处的颜色由R(red),G(green),B(blue)三种颜色组成,也称为三原色,所以每一处像素点的数据为一个向量(r,g,b),整个图像数据矩阵大小为m*n*3;I(x,y,1)为(x,y)处颜色的R(红)分量;I(x,y,:)为(x,y)处颜色量;I(:,:,1)则为m*n的二维矩阵(类似灰度图像矩阵),称为R分量(R通道)图;而(255,0,0)为一红点;
3.RGB向灰度图转化: I = RGB2GRAY(RGB)
4.颜色空间转化: hsv2rgb rgb2hsv ntsc2rgb
rgb2ntsc ycbcr2rgb rgb2ycbcr