Думаю, нам нужно уточнить некоторые моменты:
- Вы кластеризуетесь только по цвету? Итак, возьмите значения RGB для пикселей и примените свою метрическую функцию (минимизируйте сумму квадратов ошибок или просто рассчитайте SAD - сумму абсолютных разностей).
- Вы кластеризуетесь по пространству (на изображении)? В этом случае вам следует позаботиться о положении, как вы указали для евклидова пространства, просто рассматривая изображение в качестве домена ваших образцов. В любом случае, это 2D-пространство ... 3D, если вы учитываете информацию о цвете (см. Далее).
- Вы ищете трехмерную информацию с изображения? (2D позиция + 1D цвет) Это наиболее вероятный случай. Рассмотрите методы сегментации, если ваше изображение показывает правильные или четко определенные формы, как первый подход. Если это не помогло или вы хотели использовать алгоритм с меньшей ручной настройкой, рассмотрите возможность сокращения трехмерного пространства информации до 2D или даже 1D, используя PCA для данных. Анализируя Основные компоненты, вы можете удалить ненужную информацию из вашей коллекции и / или каким-либо образом использовать внутреннюю структуру данных.
Для аргумента потребуется гораздо больше, чем пост, но я надеюсь, что это может немного помочь.