Просмотр изображения по цвету / цветовой гамме: нужны примеры и / или код - PullRequest
1 голос
/ 23 апреля 2009

На некоторых давних конференциях по Flash я вспоминаю, как видел демонстрацию приложения Flash, в котором был выбран инструмент выбора цвета. Основываясь на выборе цвета пользователя, приложение будет показывать пользователю набор изображений в пределах приблизительного диапазона этого цвета: набор в основном красных изображений, набор в основном синих изображений и т. Д.

Я ищу две вещи: 1) Ссылка на демонстрационную версию такого рода приложения, в идеале - приложение Flash. 2) код ActionScript или C #, который описывает, как выбрать группу изображений, попадающих в цветовой диапазон.

Я знаю, как извлечь совокупный / средний RGB из отдельных изображений и сохранить эту информацию в базе данных. Мне нужно знать, как именно выбрать изображения в пределах определенного диапазона цветопередачи. Может ли это быть сделано исключительно с использованием SQL и знанием буквенно-цифровых назначений цветовых кодов RGB, или есть лучший способ?

Ответы [ 3 ]

1 голос
/ 30 апреля 2009

Лучше всего я нашел решение Flickr Hacks, которое я цитирую в комментариях: оно включает изменение размера изображения до 1x1 пикселей с использованием общих алгоритмов, которые дают вам средний цвет для всего изображения. Умная.

1 голос
/ 23 апреля 2009

Я не смог найти пример кода, но нашел статью , которая дает общее объяснение их процесса (с этой другой страницы о функции Flickr для поиска изображений с похожие цвета). По-видимому, Google также позволяет вам делать это с помощью поиска по изображениям (но я не знаю, происходит ли это из тегов метаданных или фактического соответствия цветов).

Теперь к фактическому ответу:

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

Моя первая (обоснованная догадка) идея предполагает следующие шаги:

  1. Создание гистограммы для каждой цветовой полосы на изображении
  2. Сгенерируйте некоторые факторы, которые описывают каждую кривую гистограммы (среднее значение, дисперсия, стандартное отклонение и т. Д. - эти факторы составят вашу цифровую подпись вашего изображения)
  3. Сохраните эти факторы в вашей базе данных (и каждый из этих факторов будет иметь индекс в БД)

Затем вы берете свои данные (либо цвет, диапазон цветов, либо исходное изображение), запускаете алгоритм гистограммы для этого источника и ищите совпадения с вашими вычисленными коэффициентами.

0 голосов
/ 25 августа 2010

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

Здесь есть отличная работа для C #.

http://savvash.blogspot.com/p/compact-composite-descriptors.html

Также обратите внимание на бесплатный инструмент img (Rummager), который может делать то, что вы хотите (т.е. находить изображения в соответствии с цветом).

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