【问题标题】:PCA for image processing用于图像处理的 PCA
【发布时间】:2016-04-26 18:18:04
【问题描述】:

我想使用内置函数pca 获取图像的第一个主成分。我怎样才能做到这一点?

我尝试了以下代码:

[COEFF, SCORE] = pca(image);
SCORE(1:size(SCORE,1),:)=0;
reconstructed_image = SCORE / COEFF + repmat(mean(image,1),size(image,1), 1);
I=reshape(reconstructed_image,[256,256]);
figure
imshow(I,[0 255])

我只得到图像的第一行。知道我该如何正确地做到这一点吗?

【问题讨论】:

    标签: matlab image-processing pca


    【解决方案1】:

    您不能“PCA 一张图片”。这样做是给你第一行,它使用所有行作为观察和你的列作为参数,就像你通常设置你的测量一样。所以它通过所有参数计算方差,给你一个长度等于你的列数的向量。您可能需要更多图片来执行此操作。

    请在继续之前阅读我的以下答案,因为我在那里解释了 MATLAB 中 PCA 的主要缺陷。

    PCA in matlab selecting top n components

    【讨论】:

    • 好的,考虑我的图像行是图像那么我怎样才能得到第一个 pca
    • 您已经将图像的每一行视为观察结果,就像我在回答中所写的那样。有了线性代数的知识,您应该知道在通过pca 运行它后哪个是第一个主成分。我非常怀疑它对你有什么好处,但由于你没有告诉我问题是什么,我无法为你解决它。只是一个旁注:也没有“第一个 pca”这样的东西。它是主成分分析,它为您提供主成分。在使用该技术之前,您可能想了解一两件事。
    猜你喜欢
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 1970-01-01
    • 2012-04-04
    • 2017-02-17
    • 2011-06-06
    • 1970-01-01
    相关资源
    最近更新 更多