MacroClub.Ru
https://macroclub.ru:443/club/

Цветопохожесть, жпег, Lab...
https://macroclub.ru:443/club/viewtopic.php?f=4&t=3448
Страница 1 из 1

Автор:  LAY [ Вс янв 10, 2010 8:26 pm ]
Заголовок сообщения:  Цветопохожесть, жпег, Lab...

Решил я в с своем никчемном плагине докрутить одну никому не нужную фишку :)
Фишка - маскирует области, похожие цветом на выделенный прямоугольничек.
Я знаю, что вопрос цветопохожести - не для слабых духом. Поэтому я пошел простым путем:
для прямоугольничка я нахожу крайние значения каждой из цветовых координат, а далее для каждой точки изображения смотрю удаленость (линейная ф-ция от 1 до 0) от крайних значений по каждой координате. Значения покоординатных функций перемножаю.

Вот пример на мухе Марии Влеволодовны:
Изображение
Вложение:
RGBsim.jpg

Для простенького алгоритма - неважнецкий результат.
Можно не кликать. Видно, что полмухи с точки зрения алгоритма имеет почти тот же цвет, что и фон :( Также видно, что заливка ровненькая...

Дальше я (ничего не меняя) конвертнул муху в Lab и...
Вложение:
LABsim.jpg

Вот тут стоит кликнуть!
Во-первых муха замечательно цветоотделилась! С чего бы это раз?
Во-вторых фон замельтешил жпежными квадратиками, которых раньше не было видно! С чего бы это два?
:shock:

Автор:  Марина Мария Всеволодовна [ Вс янв 10, 2010 11:53 pm ]
Заголовок сообщения:  Re: Цветопохожесть, жпег, Lab...

LAY писал(а):
...
Во-первых муха замечательно цветоотделилась! С чего бы это раз?
Во-вторых фон замельтешил жпежными квадратиками, которых раньше не было видно! С чего бы это два?
:shock:

А зачем её "цветоотделять"?
Джипежные квадратики — это известный порок jpg-файлов, чем чаще такой файл открываешь, тем он хуже становится.

Автор:  Dima DD [ Пн янв 11, 2010 1:37 am ]
Заголовок сообщения:  Re: Цветопохожесть, жпег, Lab...

Марина Мария Всеволодовна писал(а):
LAY писал(а):
...
Во-первых муха замечательно цветоотделилась! С чего бы это раз?
Во-вторых фон замельтешил жпежными квадратиками, которых раньше не было видно! С чего бы это два?
:shock:

А зачем её "цветоотделять"?
Джипежные квадратики — это известный порок jpg-файлов, чем чаще такой файл открываешь, тем он хуже становится.
Мария Всеволодовна, Ваша картинка удостоена чести быть взятой только в качестве "подопытного кролика" (на её месте может быть любая другая), поэтому и надо её и "цветоотделять", и над квадратиками голову поломать... :roll: Это, имхо, интересный эффект, который надо поисследовать, в чём там дело? :)

А ежели снова обратно картинку перевести в RGB, то, наверное, всё по старому, как в 1-м случае? Может, это связано с неадекватностью прямого переноса этой простой эвристичной функции "схожести цветов" из системы координат RGB в систему L*a*b*. Я бы на самом деле воспользовался стандартными функциями для расстояний между цветами. Например, вот с этого можно начать: http://en.wikipedia.org/wiki/Color_difference, там как раз для Лаба простые выражения (и они из "базовых", на самом деле...), а для RGB д.б. сложнее, вроде как... :roll:

P.S. Ещё там на буровато-зелёном фоне откровенно то зеленее, то краснее, как раз по одной из хроматических Lab-осей... А 3-я ось (L) - вообще нехроматическая...

Автор:  LAY [ Пн янв 11, 2010 2:14 am ]
Заголовок сообщения:  Re: Цветопохожесть, жпег, Lab...

Dima DD писал(а):
А ежели снова обратно картинку перевести в RGB, то, наверное, всё по старому, как в 1-м случае? Может, это связано с неадекватностью прямого переноса этой простой эвристичной функции "схожести цветов" из системы координат RGB в систему L*a*b*.

Да, все возвращается, но... при другом расположении прямоугольника и других настройках функции "безразличия" я и на RGB увидел квадраты. Даже похлеще!
Дим, ты, походу, был прав относительно зелено-бур-малинового. На таком цвете мой алгоритм в Лабовских координатах находит бОльшие различия, чем глаз ;)

ЗЫ: Статью, конечно, видел. Сложноватенько это для моих целей :(

Автор:  Dima DD [ Пн янв 11, 2010 2:27 am ]
Заголовок сообщения:  Re: Цветопохожесть, жпег, Lab...

LAY писал(а):
ЗЫ: Статью, конечно, видел. Сложноватенько это для моих целей :(
Андрей, а там, вроде, нужна-то только одна классическая формула для Лаба: расстояние между цветами = корень из суммы квадратов разностей по всем трём координатам, та, что самая первая под заголовком "CIE76"... В принципе, это - базовое выражение, а для RGB надо делать соответствующее преобразование координат, иными словами и по сути - переводить RGB-цвета в Lab и только с ними мерять расстояния.

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/