根据图像是彩色还是非彩色对图像进行分类

问题描述 投票:0回答:0

我有一个任务需要检测文档(pdf/word)是否是彩色的。由于我无权访问数据,因此我假装这些文档需要转换为 jpeg 格式进行处理。

我最初的方向是使用预训练的图像分类模型,但我觉得这太过分了,并且一直在研究是否检查图像像素而不是我认为会更快和更少的计算密集型,所以我的计划是计算出来会工作。我的想法是将图像分类为灰度/黑白,任何不符合此标准的都将被视为彩色。

从我读过的文章中,我了解到灰度图像是一个具有单通道的图像,或者如果它是所有像素的 3 通道 R==G==B 并且基于 this thread 生成的代码但是在检查我的图像时倍外行人认为“非颜色”的图像没有相等的 R、G、B 值。示例图像如下所示:

  1. https://www.pexels.com/photo/monochrome-photo-of-high-rise-buildings-2539658/
  2. https://unsplash.com/photos/--AS0fm7E88
  3. https://unsplash.com/photos/I6Rlq3H_ca0
  4. https://www.pexels.com/photo/grayscale-photo-of-building-2817869/

对于这些情况,我通常发现 R 与 G 和 B 的距离约为 10,而 G 和 B 将相等或非常接近,因此在检查 RGB 值后分别对 R-G 和 B-G 实施了 10 和 3 的任意公差其中一些图像,只看这些颜色,它们仍然倾向于灰色阴影。我觉得我的方法不一定是最可靠的,所以希望能更好地理解这种情况。

我的问题是:

  1. 除了硬编码、任意公差值之外,是否有更强大的方法来处理此类情况,或者如果这是一种有效的方法,是否有任何文章、论文可以帮助我证明这一点?
  2. 为什么这些图像的 R=G=B 不相等,我能理解轻微的噪音但不确定为什么 R 离 G 和 B 这么远?

如前所述,我尝试根据链接文章实现代码。期待看到 R=G=B 的灰度图像,但似乎并非总是如此。

python python-imaging-library rgb
© www.soinside.com 2019 - 2024. All rights reserved.