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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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