LINUX.ORG.RU

Преобразовать rgb в число.


0

3

Очень хочется сравнивать цвета в rgb по тому как они расположены в спектре. Есть ли некая линейная система представления цветов удовлетворяющая моим требованиям и как перейти к ней от rgb? Интересует в первую очередь алгоритм, а не его реализация.

★★★★★

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

mv ★★★★★
()

>Очень хочется сравнивать цвета в rgb

Как сравнивать точки в пространстве, кроме как по расстоянию?

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

>>Очень хочется сравнивать цвета в rgb

Как сравнивать точки в пространстве, кроме как по расстоянию?


Пространство rgb отражает спектр?

madcore ★★★★★
()
Ответ на: комментарий от KRoN73

Дело в том, что rgb это так или иначе представление спектра, а он линеен. То есть решение должно быть.

KblCb ★★★★★
() автор топика
Ответ на: комментарий от madcore

>Пространство rgb отражает спектр?

Из-за того, что в человеческом глазу три зоны спектральной чувствительности все (неурезанные) варианты цветового пространства будут тоже трёхмерны.

KRoN73 ★★★★★
()
Ответ на: комментарий от KblCb

>Дело в том, что rgb это так или иначе представление спектра, а он линеен

Да. Но спектр - это узкий срез цветового пространства. Где в спектре белый или чёрный? ;)

Выше про модель HSV уже сказали. Но там кроме положения в спектре есть ещё две координаты - насыщенность и яркость. В итоге - опять трёхмерность. И даже по спектру в лоб схожесть не оценить. Белый - он похож на зелёный или на красный? :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Однако цвет зависит всего от одного параметра. Изменение этого параметра должно дать все возможные видимые цвета. Откуда взяться трём измерениям?

KblCb ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

Хм… Кажется всё плохо.

KblCb ★★★★★
() автор топика
Ответ на: комментарий от KblCb

Что значит «линеен»?

RGB это спектр из трех довольно широких полос. Непрерывный спектр это спектр из бесконечного количества бесконечно узких полос.

redixin ★★★★
()
Ответ на: комментарий от KRoN73

Да. Но спектр - это узкий срез цветового пространства. Где в спектре белый или чёрный? ;)

А белый - это разве монохроматический цвет?

Белый - он похож на зелёный или на красный? :)

На зелёный. Чуствительность глаза выше всего к зелёному =)

mv ★★★★★
()
Ответ на: комментарий от redixin

Что значит «линеен»?

Это значит, что он зависит только от длины волны. Речь идёт о спектре, т.е. без смешивания нескольких волн.

mv ★★★★★
()

В похожей теме мне подсказали про HSV, так вот, картинка из википедии очень наглядно демонстрирует преобразование RGB->реальный спектр (т.е. H). Чтобы получить именно цвет (H) без яркости и насыщенности (V, S) достаточно сначала нормировать на единицу компоненты RGB-цвета.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от mv

На зелёный. Чуствительность глаза выше всего к зелёному =)

А вот и нет. Зависит от освещения. Ночью чувствительность выше к сине-зеленому (ближе к синему).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от redixin

>RGB это спектр из трех довольно широких полос

Это не спектр. Это 3 частоты. Бесконечно узких. Нулевой длины.

anonymous
()
Ответ на: комментарий от anonymous

> Это не спектр. Это 3 частоты. Бесконечно узких. Нулевой длины.

Ок, тогда огласите пожалуйста каждую из трех частот.

redixin ★★★★
()
Ответ на: комментарий от anonymous

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

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

>Это не спектр. Это 3 частоты. Бесконечно узких. Нулевой длины.

См. мой пост выше.

dn2010 ★★★★★
()
Ответ на: комментарий от redixin

То есть нужно из RGB определить длину волны?

Это уже будет задача из области физиологии: придется сравнивать цветоощущение от квазимонохромных источников с составным RGB-цветом и получать кривую перевода из H-пространства в \lambda-пространство.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

>А вот и нет. Самое чувствительное к свету в глазу не различает цвета.

Просто есть один тип чувствительных рецепторов «ночного зрения», с максимумом чувствительности в зелёной области, но кривой сильно отличающейся от G, и три с чувствительностью одного примерно порядка (синие почти на порядок слабее двух других) «дневного зрения». Раскиданы они по сетчатке неравномерно и переключение между дневным и ночным зрением осуществляется фокусировкой на нужную область.

dn2010 ★★★★★
()
Ответ на: комментарий от anonymous

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

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

А вообще, троллить анонимусов - довольно веселое времяпровождение :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Зато колбочки способны различать цвета, а палочки этой способностью не обладают.
Параграф 21.6 тома «Оптика» из «Курса общей физики» Д.В.Сивухина.

anonymous
()
Ответ на: комментарий от Eddy_Em

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

http://upload.wikimedia.org/wikipedia/ru/thumb/7/72/Cone-response-RU.png/360p...

У нас уже в школе читать не учат?

dn2010 ★★★★★
()
Ответ на: комментарий от dn2010

В смысле, что в русской википедии очередным «великим учёным» написана его теория, опровергающая устои современной науки.

dn2010 ★★★★★
()
Ответ на: комментарий от dn2010

А в англоязычной педивикии почему написано про три типа колбочек? А почему физик Сивухин про них пишет, вспоминая теорию Юнга-Гельмгольца и считая, что она лучше других согласуется с наблюдаемыми фактами?

Что же тогда устои науки?

anonymous
()
Ответ на: комментарий от anonymous

В англоязычной как раз вроде было написано правильно, про три типа колбочек, у каждой своя кривая чувствительности: http://en.wikipedia.org/wiki/Trichromacy и именно эти кривые в 1931 году легли в основу разработки цветовой модельки для RGB: http://en.wikipedia.org/wiki/CIE_1931_color_space Если бы они на одной длине волны чувствовали, то лампа дневного света и другие источники не со сплошным спектром чёрным бы светили.

dn2010 ★★★★★
()
Ответ на: комментарий от dn2010

Там единственно что накосячено — это синяя кривая практически везде на неприведённых графиках в десять раз больше, чем нужно. В оригинальных первоисточниках это было в подписи к графику, но по мере перерисовывания это примечание потерялось.

dn2010 ★★★★★
()
Ответ на: комментарий от dn2010

>> переключение между дневным и ночным зрением осуществляется фокусировкой на нужную область.

Слово фокусировка тут пожалуй не совсем уместно. Могут подумать, что речь об оптике, а не о переключении на другую область нейросети. На самом деле палочки это просто преимущественно периферия.

mclaudt
()
Ответ на: комментарий от mv

>А белый - это разве монохроматический цвет?

Нет. Но при чём тут монохроматичность?

На зелёный. Чуствительность глаза выше всего к зелёному =)


И поэтому в темноте самым светлым нам кажется синий? ;)

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

>>Что же тогда устои науки?

Устоем науки всегда было включать мозг. Посмотри как подозрительно подробно расписаны альтернативные теории цветового зрения на «Традиции». При всем уважении туда уходят те кто не нашел по каким-то причинам взаимопонимания с википедистами.

Хотя оголтело выгораживать тех или других без специальных знаний неверно.

А уж взахлеб пересказывать только что нагугленное тут каждый дурак горазд.

mclaudt
()
Ответ на: комментарий от anonymous

Что же тогда устои науки?

Дайте хоть одну ссылку на публикацию по физиологии, где было бы доказано, что существует три вида колбочек.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Дайте хоть одну ссылку на публикацию по физиологии, где было доказано, что палочки различают цвета.

anonymous
()
Ответ на: комментарий от mclaudt

>Слово фокусировка тут пожалуй не совсем уместно. Могут подумать, что речь об оптике, а не о переключении на другую область нейросети. На самом деле палочки это просто преимущественно периферия.

Свет чисто оптически и фокусируется хрусталиком или на большой кусок сетчатки, равномерно засаженный всеми рецепторами, или на узкое пятно, засаженное рецепторами одного типа ЕМНИП.

dn2010 ★★★★★
()
Ответ на: комментарий от anonymous

Да вы же сами кривые чувствительности приводили :)

Eddy_Em ☆☆☆☆☆
()

Аналитики лора - крупные специалисты во всех областях знаний, однако.

anonymous
()
Ответ на: комментарий от dn2010

>>Свет чисто оптически и фокусируется хрусталиком или на большой кусок сетчатки, равномерно засаженный всеми рецепторами, или на узкое пятно, засаженное рецепторами одного типа ЕМНИП.

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

mclaudt
()
Ответ на: комментарий от mclaudt

Зрение при помощи палочек предназначено не для повышения разрешающей способности глаза, а для увеличения его чувствительности в условиях работы при слабой освещённости.

А для разрешения необходимо, чтобы чтобы изображения точек приходились на разные колбочки (а не палочки).

anonymous
()

А каке сравнить что больше для такого встраивания в линию цвет (5, 0, 0) или (0, 1, 0). Вроде как первый краснее, значит меньше, но он ярче, значит он больше. Невозможно построить цвета в линию «в общем», без специфики конкретной задачи.

anonymous
()
Ответ на: комментарий от anonymous

>>предназначено

Ты говоришь будто Техзадание у тебя на столе лежит.

Зрение при помощи палочек предназначено не для повышения разрешающей способности глаза, а для увеличения его чувствительности в условиях работы при слабой освещённости. А для разрешения необходимо, чтобы чтобы изображения точек приходились на разные колбочки (а не палочки).

Очень спорно. Неужто дополнительные монохроматические пиксели не могут улучшить автофокус?

Я о другом. Считаю что при ночном зрении глаз не может увеличить размер пятна для охвата большего числа палочек, так как это приведет к потере резкости изображения (это я и назвал «фокусировкой», а не сам процесс выставления фокусировки).

mclaudt
()
Ответ на: комментарий от mclaudt

с каждым волокном зрительного нерва соединяется не 1 палочка, а большая их группа. Это нужно для усиления сигнала. А у колбочек это 1:1.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.