【发布时间】:2019-01-17 23:07:55
【问题描述】:
我有一个用例,我需要将一些图像分类为灰度或彩色。我的第一步是基于灰度图像应该在一个像素处具有 r、g、b 值的特征,与单通道相同的值。至于彩色图像,同一像素的 r,g,b 值可能不一样。
所以我通过获取 (r,g)、(b,g) 和 (r,b) 之间的差异来进行检查,如果这三个都只有零,那么它的灰度,它的颜色。
这种方法帮助我识别了许多灰度图像,但仍有一些图像不遵循此逻辑。谁能指定一些好的特征,我们可以在这些特征上使用 opencv 将图像分类为彩色或灰度?
不要让我检查通道数和分类,因为我们以 .jpg 格式加载它,所以这两个类都为 3。
提前致谢
【问题讨论】:
-
@SuryaTej 我只从这个逻辑开始。我应用了它并按照问题中的说明进行了尝试。它不适用于所有情况
-
@Sreekiran 你能发布一个不符合这个逻辑的例子吗?
-
我不认为我被允许这样做。我会试试的。
-
您可以稍微放宽标准并保留像素计数器。例如,如果计数器计数通道之间差异小于(小)阈值的像素,则在计数器上设置相对于图像分辨率的另一个阈值。
标签: python opencv image-processing classification opencv-python