代码之家  ›  专栏  ›  技术社区  ›  dmkc

寻找纯色图像

  •  1
  • dmkc  · 技术社区  · 15 年前

    我读过很多关于寻找图像调色板的问题,但我的问题略有不同。我正在寻找由纯色构成的图像:开阔天空的照片、彩色照片背景、红砖墙等。

    Image.histogram() 函数生成一个直方图,过滤掉低于某个发生阈值的值,并对剩余的值取平均值。这似乎仍然存在于许多无关的照片中,在其他照片的混合袋中有纯色的斑点。

    非常感谢您的建议!

    2 回复  |  直到 15 年前
        1
  •  1
  •   Abix    15 年前

    这样做怎么样?

    1. 使用一些快速模糊算法模糊图像(搜索堆栈模糊或框模糊)
    2. 如果标准偏差超过某个阈值,则丢弃图像。
        2
  •  0
  •   Quasimondo    15 年前

    在我看来,直方图将不会是这个任务的理想工具,因为它通常会在每个颜色通道分别看,你会像这样松散的信息。例如,如果在255处有红、绿和蓝的峰值,这可能意味着图像中有大量的红(0xFF0000)、绿(0x00FF00)和蓝(0x0000FF),或者整个图像完全是白色的(0xFFFFFF)。

    我建议您在图像上使用颜色量化算法: http://en.wikipedia.org/wiki/Color_quantization 让它返回16种最主要的颜色。然后把它们转换成HSL,检查饱和度高的值。