我想减少2D图像的尺寸。我有大小为100x50
的图像补丁,我想减少这些补丁的尺寸。
我是否需要首先将修补程序(100x50)
转换为向量(5000x1)
,然后应用PCA来减少维度,或者我可以直接在修补程序(100x50)
上应用PCA进行降维缩小尺寸让我们说2x50
?
答案 0 :(得分:3)
您可以直接应用2D-PCA。至少它存在并且应该比1D-PCA表现更好(减少)。
2004年的一篇被高度引用的研究论文: Yang,J。等,2004。二维PCA:基于外观的面部表征和识别的新方法。 IEEE Transactions on Pattern Analysis and Machine Intelligence,26(1),pp.131-137。 Source
不幸的是我不知道Matlab的实现。
答案 1 :(得分:1)
尺寸缩减为R^n -> R^m
其中n>m
因此根据您的文字,我会得到您的意思:
分辨率调整大小
数据缩减
对于图像大小调整或数据缩减,有很多方法可以做到:
线性/双线性/立方/ ...过滤
基于频域DFFT / DCT / DST的数据缩减
PCA
所以答案实际上取决于你需要达到的目的和目的
答案 2 :(得分:0)
PCA将矢量空间中的一个点作为输入,并将其投影到子空间。用这种方式表达,然后很容易记住你需要将补丁大小调整为向量。
使用Matlab调用您的补丁X
,您可以通过调用X(:)
轻松完成此操作,而不必使用reshape
。