如何发现图像或多或少是均匀的w.r.t颜色(色调)



更新:

我把图像分割成不同的区域。对于每个区域,我需要知道它在颜色方面是或多或少均匀的。

什么是可能的策略

上一篇:我想检查图像的颜色变化(最好是色调变化),以找出由均匀颜色组成的图像(即只有一种或两种颜色的图像)。

我知道一种策略可以是为其创建一个色调直方图,然后我可以找到每种颜色的计数,但我总共有几个图像,我不能为每个图像创建180个像素的色调直方图,因为这样对整个代码来说计算成本很高。

是否有任何内置的openCV方法或其他更简单的方法来确定图像是由单一颜色还是多种颜色组成?

一些可以计算色调图像方差的东西也可以。我找不到类似variance(image);的东西

附言:我正在用C++编写代码。

方差可以在没有直方图的情况下计算,即平均平方值减去平均值的平方。它使用两个累加器对图像进行一次遍历。选择一个不会溢出的数据类型。

最新更新