Поисковая система поиска картинок по основному цвету в изображении - PullRequest
0 голосов
/ 02 декабря 2010

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

Есть ли учебник или даже продукт, чтобы купить его?

Я бы хотел, чтобы поисковая система работала с этой функцией.

так, кто-нибудь может мне помочь

спасибо.

Ответы [ 3 ]

3 голосов
/ 25 декабря 2010

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

2 голосов
/ 02 декабря 2010

Другой вариант - преобразовать изображение в HSV space (Hue, Saturation, Value) и рассчитать средний оттенок.Если средний оттенок находится в пределах определенного диапазона , сохраните изображение, в противном случае откажитесь от него. конкретный диапазон зависит от цвета, который вас интересует. Например, для изображений зеленого цвета вам нужно что-нибудь с оттенком от 60 до 180 градусов.См. Диаграмму HSV ниже:

alt text

Преимущество работы в HSV по сравнению с RGB состоит в том, что HSV более естественно связан с тем, как люди воспринимают цвет.RGB больше подходит для отображения информации в аддитивной цветовой системе, то есть на мониторе компьютера.

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

Для поиска смотрите API Google .Я не использовал его для поиска изображений, но их API YouTube был очень полезным.

2 голосов
/ 02 декабря 2010

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

Еще один способ сделать это - сгладить цвета (изменить все последние цифры в значениях RGB на 0, например, # F8824A становится # F08040), а затем найти самую большую поверхность на изображении того же цвета.

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

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

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