如何在 RGB 空间中表示来自 PCA 空间的点

Posted

技术标签:

【中文标题】如何在 RGB 空间中表示来自 PCA 空间的点【英文标题】:How to represent points from PCA space in the RGB space 【发布时间】:2014-04-12 19:09:10 【问题描述】:

我正在尝试从文章中实现图像颜色的形态学方法:“灰度和彩色图像的概率伪形态学”。在某一时刻,我们在整个图像上计算 PCA,计算每 3 个分量的切比雪夫不等式(论文中的等式 11:http://perso.telecom-paristech.fr/~bloch/P6Image/Projets/pseudoMorphology/Caliman-PR2014.pdf),得到 3 对向量。我们接下来必须在 RGB 空间中表示这些向量。我不明白我们该怎么做?有人能帮我吗?

【问题讨论】:

为什么不问问原作者? 我最后也是这么干的,但我不确定他会不会回答我 【参考方案1】:

查看论文,我不确定您说的是哪种表示形式。我猜图 16,但我不确定。图 16 的标题中有一条很有帮助的注释:“(为了解释此图标题中对颜色的引用,请读者参考本文的网络版本。)”

可能的答案:如果您有一个大小为 A = (y_pixels,x_pixels,3) 的矩阵,那么您可以通过以下方式将其显示为 RGB 图像:

A = rand(100,100,3);
figure()
imshow(A)

请注意,您的矩阵必须在 [0..1] 范围内缩放。

将每个像素的 PCA 分数映射到这样的矩阵上似乎很容易,并通过 imshow 将其显示为 RGB。这能解决你的问题吗?

【讨论】:

以上是关于如何在 RGB 空间中表示来自 PCA 空间的点的主要内容,如果未能解决你的问题,请参考以下文章

机器学习算法笔记6. 降维与主分量分析(PCA)

如何将(r,球形谐波)空间中表示的数据内插到常规笛卡尔网格(F90)?

LDA/PCA

如何在 dxf 文件中表示/读取立方体?

如果它们来自数据源,如何在 graphql 模式中表示枚举?

使用 Python / PIL 检测 HSV 颜色空间中的阈值(来自 RGB)