Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Можно ли реализовать поиск по цвету(hex)? / 25 сообщений из 25, страница 1 из 1
29.05.2013, 14:27
    #38278505
lans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
Имеется colorpicker . И есть бд с данными , у каждой записи указан цвет в формате hex. Так вот нужно сделать поиск таким образом что бы если выбран синий то нашлись все данные цвет которых приближён к синему.
...
Рейтинг: 0 / 0
29.05.2013, 14:33
    #38278521
Имя пользователя1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
lansприближён к синему.что это означает, если более формально?

и более общий вопрос - для поиска сойдет fullscan таблицы, или хочется приспособить индексы?
...
Рейтинг: 0 / 0
29.05.2013, 14:46
    #38278553
lans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
в бд когда создаётся запись ей указывается хекс код цвета. так вот мне нужно реализовать поиск по цвету. сравнивать хекс не вариант так как точное соответствие при поиске навряд ли произойдёт. поэтому мне надо к примеру выбрал юзер в колорпикере синий и мне надо выдать все данные у которых цвет приближён к синему(светло синий, тёмно синий например)
...
Рейтинг: 0 / 0
29.05.2013, 14:55
    #38278577
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
lansмне надо выдать все данные у которых цвет приближён к синему(светло синий, тёмно синий например)

У такого цвета B-составляющая приближается к 255, а остальные - к 0. Задай допуски и вперед.
...
Рейтинг: 0 / 0
29.05.2013, 14:58
    #38278584
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
Для облегчения поиска в базе лучше хранить R,G и B в отдельных полях для каждой записи.
...
Рейтинг: 0 / 0
29.05.2013, 15:08
    #38278608
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
Pallarislansмне надо выдать все данные у которых цвет приближён к синему(светло синий, тёмно синий например)

У такого цвета B-составляющая приближается к 255, а остальные - к 0. Задай допуски и вперед.Ерунда же. Синий это когда разница между R и G стремится к нулю. Допуски (максимальное значение R и G и минимальное B) задаются, чтобы отличать черный и белый от темно-синего и светло-синего. C желтым ситуация прямо противоположная — R и G равны и определяют светлоту, а B гуляет и определяет темноту.

С каким-нибудь малиновым полный швах. Нуден спец по матану.
...
Рейтинг: 0 / 0
29.05.2013, 15:12
    #38278616
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
AntonariyC желтым ситуация прямо противоположная — R и G равны и определяют светлоту, а B гуляет и определяет темноту.Вернее почти та же самая :-), но у синего B всегда больше R и G, а у желтого наоборот.
...
Рейтинг: 0 / 0
29.05.2013, 15:18
    #38278625
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
Еще один момент. С тем же желтым, чем больше значение B, тем меньше должна быть разница между R и G.

Это если на пальцах. А на самом деле математический аппарат для определения степени похожести цветов давно разработан, его нужно лишь найти.
...
Рейтинг: 0 / 0
29.05.2013, 15:24
    #38278636
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
AntonariyPallarisпропущено...
У такого цвета B-составляющая приближается к 255, а остальные - к 0. Задай допуски и вперед.Ерунда же. Синий это когда разница между R и G стремится к нулю.

Нда, действительно.

Интересно, что за предметная область у задачи.
...
Рейтинг: 0 / 0
29.05.2013, 15:29
    #38278650
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
По ссылке аппарат глючит. У него похожесть сильно зависит от яркости и контраста. Если поставить колорпикеры в центр, то степень похожести не падает ниже 70% для любой комбинации цветов.
...
Рейтинг: 0 / 0
29.05.2013, 15:31
    #38278657
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
Можно кстати в CMYK перевести, в случае с синим по-проще анализ будет
...
Рейтинг: 0 / 0
29.05.2013, 15:36
    #38278670
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
PallarisИнтересно, что за предметная область у задачи.Не знаю, что там у автора, но задача вполне востребованная.
...
Рейтинг: 0 / 0
29.05.2013, 15:54
    #38278720
lans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
Antonariy,

Вот мне именно это и надо. (
...
Рейтинг: 0 / 0
29.05.2013, 23:38
    #38279396
Homosum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
lans,

Несколько лет назад в рамках научной работы делал распознавание цвета на нейронных сетях. Простейший персептрон из 2-х или 3-х слоев давал хорошие результаты. Делал для 7 или 10 цветов - причем распознавал очень хорошо.
...
Рейтинг: 0 / 0
30.05.2013, 08:39
    #38279534
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
PallarisМожно кстати в CMYK перевести, в случае с синим по-проще анализ будет
издеваетесь?

RGB нужно перевести в CIELAB (L*a*b)

расстояние между цветами (оно же Delta E) в Lab 1976 deltaE = sqrt(deltaL^2 + deltaA^2 + deltaB^2)

нейронные сети здесь нах не впёрлись, основы теории цвета читать нужно
...
Рейтинг: 0 / 0
30.05.2013, 10:03
    #38279668
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
ИзопропилRGB нужно перевести в CIELAB (L*a*b)

расстояние между цветами (оно же Delta E) в Lab 1976 deltaE = sqrt(deltaL^2 + deltaA^2 + deltaB^2)Во, сразу ясно, что именно надо искать .

RGB —> XYZ —> CIE-L*ab

Если используется mssql, то весь матан можно утрамбовать в функцию и делать селект с условием where dbo.DeltaE(hex) < сколько-то.
...
Рейтинг: 0 / 0
30.05.2013, 10:06
    #38279674
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
Antonariy
Если используется mssql, то весь матан можно утрамбовать в функцию и делать селект с условием where dbo.DeltaE(hex) < сколько-то.

Не то, что можно - а, имхо, нужно.
...
Рейтинг: 0 / 0
30.05.2013, 10:59
    #38279772
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
Homosumlans,

Несколько лет назад в рамках научной работы делал распознавание цвета на нейронных сетях. Простейший персептрон из 2-х или 3-х слоев давал хорошие результаты. Делал для 7 или 10 цветов - причем распознавал очень хорошо.
нейронные сети для такой задачи - жесть
...
Рейтинг: 0 / 0
30.05.2013, 11:22
    #38279815
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
pationHomosumlans,

Несколько лет назад в рамках научной работы делал распознавание цвета на нейронных сетях. Простейший персептрон из 2-х или 3-х слоев давал хорошие результаты. Делал для 7 или 10 цветов - причем распознавал очень хорошо.
нейронные сети для такой задачи - жестьМне вообще непонятно, что такое "распознавание цвета". Понимаю, вычислить преобладающий или усредненный, а это какая-то задача для КО или дальтоников.
...
Рейтинг: 0 / 0
30.05.2013, 11:37
    #38279864
lans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
AntonariyИзопропилRGB нужно перевести в CIELAB (L*a*b)

расстояние между цветами (оно же Delta E) в Lab 1976 deltaE = sqrt(deltaL^2 + deltaA^2 + deltaB^2)Во, сразу ясно, что именно надо искать .

RGB —> XYZ —> CIE-L*ab

Если используется mssql, то весь матан можно утрамбовать в функцию и делать селект с условием where dbo.DeltaE(hex) < сколько-то.

Я извиняюсь а можете подробнее описать что за матан и что за функция?
...
Рейтинг: 0 / 0
30.05.2013, 11:42
    #38279882
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
lansЯ извиняюсь а можете подробнее описать что за матан и что за функция?У вас со зрением все в порядке? Вы видите формулу, что написал Изопропил? А ссылку, которую я любезно предоставил?

Если вас не выперли из школы в пятом классе, вопросов быть не должно.
...
Рейтинг: 0 / 0
30.05.2013, 11:47
    #38279891
lans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
Antonariypationпропущено...

нейронные сети для такой задачи - жестьМне вообще непонятно, что такое "распознавание цвета". Понимаю, вычислить преобладающий или усредненный, а это какая-то задача для КО или дальтоников.

Мне по определённому цвету вы бранного юзером(в формате hex) нужно выдать записи с бд (в бд есть таблица записей у каторой есть колонка с цветом в формате hex) цвет которых приближён к искомому
...
Рейтинг: 0 / 0
30.05.2013, 11:56
    #38279914
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
lansМне по определённому цвету вы бранного юзером(в формате hex) нужно выдать записи с бд (в бд есть таблица записей у каторой есть колонка с цветом в формате hex) цвет которых приближён к искомому

1. В БД добавить 3 столбца для хранения цвета в CIELAB (L, A, B).
2. Заапдейтить все записи в таблице, перекодировав RGB в LAB.
3. Написать хранимую процедуру в БД: double precision Compare(L1,A1,B1, L2, A2, B2) {return sqrt(dL*dL + dA*dA + dB*dB)}
4. Перевести выбранный пользователем цвет с RGB в CIELAB1.
5. Написать
Код: sql
1.
2.
3.
Select * 
    from table 
    where Compare(UserColor.L1, UserColor.A1, UserColor.B1, table.L, table.A, table.B) < threshold


6. Выучить русский язык.
...
Рейтинг: 0 / 0
30.05.2013, 12:22
    #38279971
lans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
AntonariylansЯ извиняюсь а можете подробнее описать что за матан и что за функция?У вас со зрением все в порядке? Вы видите формулу, что написал Изопропил? А ссылку, которую я любезно предоставил?

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

Не сразу увидел спасибо.
...
Рейтинг: 0 / 0
30.05.2013, 12:37
    #38280002
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли реализовать поиск по цвету(hex)?
Pallaris6. Выучить русский язык.Гадать, о чем спрашивает автор, не приходится, и ладно.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Можно ли реализовать поиск по цвету(hex)? / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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