Поиск изображений с чистыми цветами - PullRequest
1 голос
/ 24 июня 2010

Я прочитал несколько вопросов по поиску цветовой палитры изображения, но моя проблема немного отличается.Я ищу изображения, составленные из чистых цветов: изображения открытого неба, красочные фоновые фотографии, красные кирпичные стены и т. Д.

До сих пор я использовал функцию App Engine Image.histogram() для создания гистограммы, отфильтруйте значения ниже определенного порогового значения и усредните оставшиеся.Это, кажется, все еще остается на многих посторонних фотографиях, где в смешанном пакете с другими фотографиями есть пятна чистого цвета.

Любые идеи высоко ценятся!

Ответы [ 2 ]

1 голос
/ 24 июня 2010

Как насчет этого?

  1. Размытие изображения с использованием быстрого алгоритма размытия. (Поиск размытия стека или размытия окна)
  2. Вычислить стандартное отклонение пикселей в домене RGB, один раз для каждого цвета.
  3. Отменить изображение, если стандартное отклонение превышает определенный порог.
0 голосов
/ 28 июня 2010

По моему мнению, гистограмма не будет идеальным инструментом для этой задачи, поскольку она обычно смотрит отдельно на каждый цветовой канал, и вы потеряете такую ​​информацию. Так, например, если вы получаете пики 255 красного, зеленого и синего, это может означать, что на изображении много красного (0xFF0000), зеленого (0x00FF00) и синего (0x0000FF) изображения или что все изображение просто полностью белое 0xFFFFFF).

Я рекомендую вам использовать алгоритм цветового квантования на вашем изображении: http://en.wikipedia.org/wiki/Color_quantization и он вернет вам 16 самых доминирующих цветов. Затем, возможно, преобразовать их в HSL и проверить значения с высокой насыщенностью.

...