Похоже, что это сильно совпадает с этим вопросом .
Если бы я был в вашей ситуации, я бы попробовал пару вещей.Во-первых, вы можете получить любую из нескольких библиотек Python, которые могут работать: OpenCV , Mahotas , PIL или scikits.image canвсе, вероятно, справятся с этим, так как вам действительно нужно вырезать средние значения RGB.
Напишите скрипт для загрузки каждого изображения и добавьте его среднее значение RGB в список.Затем вы можете использовать встроенные методы из scikits.learn , чтобы выполнить кластеризацию по среднему или k-среднему значению в этом большом списке цветов.Поскольку вы, вероятно, знаете, сколько существует различных цветов, k-means - это хороший выбор.В качестве альтернативы, если вы уже знаете значения RGB стандартных цветов, то для каждого загружаемого изображения просто вычислите среднее значение RGB, а затем «классифицируйте» это изображение в соответствии с тем, какой стандартный цветовой вектор RGB находится ближе всего.