Поисковая система цветных изображений на PHP - PullRequest
2 голосов
/ 18 ноября 2010

Мне нужно сделать PHP поиском по цвету, где пользователь будет щелкать по цвету в палитре, и поиск будет получать все изображения с преобладающими похожими цветами.

Результаты сортируются в порядке убывания из изображений с наиболее похожими цветами.

Может ли кто-нибудь указать некоторые руководящие принципы или существующие классы, примеры и т. Д. О том, как этого добиться?

Особенно, как потребуется "приблизительная" или "похожая" часть поискабыть?Как выбрать разные виды «апельсина» и отсортировать их от наиболее похожих на наиболее выключенные.

Спасибо

Ответы [ 5 ]

2 голосов
/ 06 декабря 2011

Вот пример того, как я анализировал изображения с помощью функций php GD lib. Отсюда вам просто нужно сохранить проанализированные данные в БД для использования при поиске.

Полную информацию можно найти здесь: http://www.colab -aktiv.com /? Page_id = 263

Основные шаги следующие:

  • Определение цветов в цветовых образцах

  • Создайте объект изображения, используя изображение для анализа, изменив размер изображения, если оно слишком большое

  • Создание объекта изображения и загрузка цветов из образцов цвета в палитру изображений. Это палитра, которую использует изображение GIF. Это палитра сравнения, с которой сравниваются цвета анализируемого изображения.

  • Прокрутите все пиксели изображения и сопоставьте его с наиболее близким соответствием пикселю в палитре сравнения.

  • Сортировка результатов подсчета в порядке убывания

  • Показать лучшие результаты

2 голосов
/ 18 ноября 2010

Это может представлять интерес:

Как работает поиск цветов в Google?

Также для модуля PHP:

http://codecanyon.net/item/php-color-extractor-image-color-pallete-creator/119042

1 голос
/ 09 сентября 2018

Я думаю, что использование алгоритма, подобного Вектор когерентности цвета , может быть очень полезным в этом случае, потому что алгоритм находит связанные компоненты цветов в изображении и определяет набор связных и некогерентных цветов.

«Связанные цвета» - это еще один термин для описания преобладающих цветов, который вы ищете.Возможно, вы просто будете использовать функции этих последовательных цветов, которые вы можете сопоставить с выбором пользователя.

В этом учебном пособии Поиск изображений: Вектор когерентности цвета описывает шаги алгоритма с примерами его работы и некоторыми его недостатками.Кстати, я думаю, что этот недостаток не повлияет на ваш вариант использования, так как вы в основном ищете соответствие преобладающему цвету независимо от того, где он находится.

1 голос
/ 22 декабря 2010

Я проделал похожую работу. Моя реализация может быть найдена здесь http://code.google.com/p/hppg/. Живой пример можно найти в проекте дома. Эта поисковая система также поддерживает поиск по ключевым словам и цветам одновременно. Всю подробную информацию и код можно найти на домашней странице проекта. Надеюсь, это поможет:)

1 голос
/ 18 ноября 2010

Во-первых, вы не должны искать библиотеку изображений на лету. Это будет очень медленно, особенно если вам нужно найти преобладающий цвет каждого изображения. Вам нужно что-то вроде сканера, но специально для изображений.

Чтобы узнать преобладающий цвет, для этого вам понадобится прочная математическая основа:

http://en.wikipedia.org/wiki/Normal_distribution

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...