相关论文:Two-Dimensional PCA: A New Approach to Appearance-Based Face Representation and Recognition
代码:结合 u2dpca.m
图片库:ORL人脸数据库
1. B = imresize(A, m,method)
返回的图像B的长宽是图像A的长宽的m倍,即缩放图像。 m大于1, 则放大图像; m小于1, 缩小图像。
method参数用于指定在改变
图像尺寸时所使用的算法, 可以为以下几种:
'nearest': 这个参数也是默认的, 即改变图像尺寸时采用最近邻插值算法;
'bilinear':采用双线性插值算法;
'bicubic': 采用
双三次插值算法,在R2013a版本里,默认为这种算法,所以不同版本可能有不同的默认参数,使用之前建议使用命令help imresize获得帮助信息,以帮助信息为准;
2.对1中的bilinear【双线性差值】理解
其特点:当对相邻四个像素点采用双线性插值时,所得表面在邻域处是吻合的,但斜率不吻合。并且双线性灰度插值的平滑作用可能使得图像的细节产生退化,这种现象在进行图像放大时尤其明显。
另外,还可参看 http://blog.csdn.net/longzaitianya1989/article/details/8761731
比方原图与压缩后的图像对比如图 压缩.png(由最初的112*92压缩4倍 为28*23)
3.mean(A,3);
%mean(A,1);计算行平均值; mean(A,2);计算列平均值; mean(A,3); 计算三维数组中z方向平均值.
4.cv = cv + train_samples_sub(:,:,i)' * train_samples_sub(:,:,i);
%矩阵的转置乘以它本身得到对称矩阵 --> 差值的转置 乘以 差值本身, 是否可看成散布矩阵
5.[vv dv]=eig(cv);
2DPCA的核心->找到它的特征向量 & 特征值
6.imwrite();
%用于将图像数据写入到图像文件中。 但是具体什么意思还是不明白
7.floor 取比它小的整数