这是我从Spandan那里得到的代码,他是Mathworks的图像处理工具箱的开发者之一:
这里有一些快速代码,用于获取彩色图像的主要成分。这段代码使用了来自统计工具箱的pca()函数,使代码更简单。
我=双(imread (“peppers.png”));
X=重塑(I,尺寸(I,1)*尺寸(I,2),3);
多项式系数= pca (X);
Itransformed = X *多项式系数;
Ipc1=重塑(I变形(:,1),尺寸(I,1),尺寸(I,2));
Ipc2 =重塑(Itransformed(:, 2),大小(我,1),大小(我,2));
Ipc3 =重塑(Itransformed(:, 3),大小(我,1),大小(我,2));
图,imshow (Ipc1, []);
图,imshow (Ipc2, []);
图,imshow(Ipc3,[]);
如果您不想使用pca(),同样的计算可以在不使用pca()的情况下通过使用基本MATLAB函数多几个步骤来完成。
希望这有帮助。
-Spandan
还附上一些完整的演示。