更新
我已将图像分割成不同的区域。对于每个区域,我需要知道它在颜色方面是否更加均匀。
可能的策略 可以做什么?
先前: 我想检查图像的颜色变化(最好是色调变化),以找出由均匀颜色组成的图像(即只有一种或两种颜色的图像)。
据我所知,一个策略可能是为此创建一个色调直方图,然后我可以找到每种颜色的计数,但我总共有几个图像,我不能为每个图像创建一个180个二进制的色调直方图,因为那时候整个代码的计算成本会很高。
是否有任何内置的openCV方法或其他更简单的方法来确定图像是仅包含均匀颜色还是几种颜色?
可以计算色调图像方差的东西也可以。我找不到类似variance(image);
PS:我正在用C ++编写代码。
答案 0 :(得分:0)
可以在没有直方图的情况下计算方差,因为平均值的平方值减去平均值的平方。它需要一次通过图像,有两个累加器。选择不会溢出的数据类型。