对 RGB 图像应用归一化并将 RGB 图像作为输出

Applying normalization to RGB images and getting RGB images as output

我的问题很短而且很天真,但我在网上找到了截然不同的答案。标准化 RGB 图像的最有效(并且实际用于计算机视觉社区)的方法是什么。
这个问题来自这样一个事实,即像 PCA 甚至对比度归一化这样的算法经常在它们的 2D 版本中被描述。 因此,对于 whitening/global 对比度归一化或您喜欢的任何方法来预处理图像以提供给您喜欢的统计方法:您是单独考虑每个通道还是将深度 3 的东西重塑为矩形二维数组(的depth-1)(以及如何在保留结构的同时做到这一点)做你的事情然后将它拆分回原来的形状?

我认为每种方法都有其优点,考虑到图像作为一个整体似乎更有意义,但分别应用于每个通道更简单。

您的问题没有简单的答案。

对于大多数任务,在单独的 RGB 或 HSI 通道上运行就足够了。无论如何,图像处理中的大多数图像都是灰度的,因此大多数算法都需要灰度输入。 在大多数情况下,预处理的唯一目的是将信息减少到必要的最低限度。因此不存在具有保留结构的 RGB 输出 "back in its former shape"。至少在我的世界里。 如果你想从 RGB 输入中输出 RGB,你将实现一个对 RGB 值进行操作的函数。除非您可以将计算减少到灰度并且已经实现了必要的灰度功能。 如何将图像重塑为二维数组?通常一个图像是一个二维数组...

我会针对 ZCA 美白做出我的回答,但我想其他人也一样:
由于 PCA 的输入具有维度为 (nsamplesxfeatures) 的二维矩阵的形状。我想使用 RGB 通道作为 nsamples,并将这些通道中的图像展平为特征。
答案似乎是使用 nsamples 作为 nsamples(如果你有几个 RGB 图像,你拥有的图像数量)并使用完全展平的 RGB 图像作为特征。
这个答案让我相信,如果你想标准化图像,你应该使用图像的一般平均值和一般标准偏差,而不是单独考虑每个通道。 如果有人不同意他可以自由发表评论,我同意我的问题有点太宽泛了。