Если вы посмотрите на CRAN, существуют различные (я насчитываю около 10) пакетов для чтения данных изображения.И, конечно, существуют различные пакеты для кластеризации. Теоретически , вы можете просто вставить необработанные данные изображения в алгоритмы кластеризации, но на практике это не очень хорошо сработает.С точки зрения скорости, это будет очень медленно, и с точки зрения точности, это, вероятно, тоже будет довольно плохо.Современные методы кластеризации данных изображений опираются на специальные функции, извлеченные из изображений, и оперируют ими.Лучшие функции зависят от приложения, но некоторые из самых известных - SIFT, SURF и HOG.Более старые методы полагались на гистограммы цветов изображения как на особенности, и это вполне выполнимо с вышеупомянутыми пакетами R, но это не очень точно - вряд ли можно различить изображение моря и изображение синей комнаты.
Так что же делать?На самом деле это зависит от вашей конечной цели.Одним из способов может быть использование одного из различных экстракторов функций с открытым исходным кодом, сохранение данных в текстовом или других R-читаемых форматах, а затем выполнение обработки данных в R как обычно.
Хорошая библиотека C с открытым исходным кодом для извлечения функций, имеющая интерфейс cli: vlfeat .Если вы используете это, я рекомендую использовать плотное извлечение SIFT на трех цветовых каналах.Затем представьте каждое изображение с помощью сцепленных векторов SIFT и примените вашу любимую технику кластеризации (которая может обрабатывать векторы с размерностями в тысячах).Это вряд ли даст вам современное представление, но это только начало.
Эта страница содержит различные справочные реализации экстракторов функций, но только двоичные.
Осторожно: по моему опыту, R не слишком хорошо масштабируется с большими, крупномасштабными наборами данных (с размерами в диапазоне ГБ).Я люблю R до смерти, но для этого использую C ++.