Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка похожих изображений / 12 сообщений из 12, страница 1 из 1
30.11.2015, 16:36:12
    #39116525
activex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка похожих изображений
Здравствуйте, дорогие форумчане.

Буду благодарен, если вы мне поможете справится с подобной ситуацией:
Я анализирую(получаю) цвета входящей картинки и процент вхождений каждого цвета, преобразую их к ближайшему цвету из палитры(в ней - основные цвета, около 30 штук) и сохраняю результат в бд - в две таблицы:
images - id, image_name;
image_colors - id_image_color, id_image, procent.
Я уже сделал выбор с бд подобных картинок, в которых используются ВСЕ общие(такие же) цвета, как и "эталонной".

Как мне лучше сделать, чтобы выборка подобных картинок происходила по такому принцыпу:
сначала выбираются картинки, в которых цвета совпадают со всеми цветами "эталонной", затем - на 1 цвет меньше, затем - на 2 меньше и т.д.

Помогите, пожалуйста. Если что-то не указал - допишу.
...
Рейтинг: 0 / 0
30.11.2015, 16:37:57
    #39116529
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка похожих изображений
А причем тут MySQL? Да и вообще СУБД?

Сначала определитесь с математикой процесса, уж потом ставьте задачу для СУБД.
...
Рейтинг: 0 / 0
30.11.2015, 16:56:52
    #39116549
activex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка похожих изображений
Уважаемый, miksoft, извините, если я запутанно сформулировал вопрос.
Я действительно, не знаю, как это лучше сделать.

Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
30.11.2015, 17:48:54
    #39116608
activex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка похожих изображений
Мне нужно с бд получить картинки, цвета которых совпадают со всеми цветами(n) картинки(для которой мы ищем подобные), затем - из (n-1) цветов, затем (n-2) и т.д.

Пример:
Есть картинка и ее цвета(4): красный, белый, синий, зеленый.
Выбираем все
1)картинки, которые имеют цвета :красный, белый, синий, зеленый
2)картинки, что имеют 3 общих цвета(напр. - красный, синий, зеленый)
3)картинки, что имеют 2 общих цвета(напр. - красный, зеленый)
4)картинки, что имеют 1 общий цвет.
...
Рейтинг: 0 / 0
30.11.2015, 17:53:33
    #39116618
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка похожих изображений
activex,

О, это уже лучше. А что с полем procent? Он в задаче участвует?
...
Рейтинг: 0 / 0
30.11.2015, 18:03:42
    #39116634
activex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка похожих изображений
В идеале - учавствует, потому как картинка, которая состоит из синего цвета на 70% будет сильно отличаться от картинки, которая состоит на 20%, Но тогда задача еще больше усложняется.
Давайте попробуем хотя бы без % вхождения цвета.

Спасибо, что помогаете.
...
Рейтинг: 0 / 0
30.11.2015, 18:32:24
    #39116667
activex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка похожих изображений
Решил добавить - делаю что-то похожее на поиск картинок по цвету, как в Гугле или как тут -
http://labs.tineye.com/multicolr/#colors=e73843,73b15a,4e80b8;weights=33,34,33;
...
Рейтинг: 0 / 0
30.11.2015, 19:36:32
    #39116750
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка похожих изображений
Думаю, можно начать с какого-то такого алгоритма.

Без процента вхождения цвета. Наличие каждого требуемого цвета принимаем за единицу. Вычисляем сумму наличия всех требуемых цветов в картинке. Остальные цвета игнорируем в подсчёте. Тогда картинки с максимальным значением суммы будут иметь наиболее полное соответствие. По этому параметру делаем сортировку в обратном порядке. Однако, формально 1% не отличается от 99% в таком поиске.

С процентом. Очевидно, вместо единицы потребуется какая-то функция, которая при точном совпадении процента вернёт единицу, а при несовпадении вернёт тем меньшее значение, чем больше разность процентов по модулю.
...
Рейтинг: 0 / 0
30.11.2015, 19:41:09
    #39116755
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка похожих изображений
vkleчем больше разность процентов по модулюТочнее, разность искомого и имеющегося процентов. Для лучшего отсева наиболее несовпадающих можно использовать квадрат разности или более высокую степень.
...
Рейтинг: 0 / 0
01.12.2015, 13:57:01
    #39117333
activex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка похожих изображений
Спасибо, vkle.

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

Буду рад любой помощи и ссылками.
...
Рейтинг: 0 / 0
01.12.2015, 15:01:23
    #39117410
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка похожих изображений
activexкартинка, которая состоит из синего цвета на 70% будет сильно отличаться от картинки, которая состоит на 20%
Действительно, картинка зелёного яблока совсем-совсем не похожа на картинку красного яблока.
...
Рейтинг: 0 / 0
01.12.2015, 16:40:50
    #39117556
activex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка похожих изображений
Dimitry SibiryakovДействительно, картинка зелёного яблока совсем-совсем не похожа на картинку красного яблока.
Вы правы. Я уже написал об этом, да и vkle указал о разнице %.

Что-то можете посоветовать?

Модератор: Тема перенесена из форума "Вопрос-Ответ".
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка похожих изображений / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]