
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
10.10.2012, 15:30
|
|||
|---|---|---|---|
|
|||
Алгоритм замены ("инвертирования") цветов картинки |
|||
|
#18+
Добрый день. Возник вопрос, предположим существует картинка: необходимо инвертировать (заменить) цвета фона и изображения чтобы получить такую картинку Особенность картинки в том что на границе изображения и фона существует "переход", "сглаживание", "называйте как угодно". Есть идеи? Язык C#, но это не принципиально, мне нужен сам алгоритм. Возможно наложение маски? Но тут я вообще не понимаю как эта маска должна выглядеть. - Proud Celestron Astromaster 130EQ user ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.10.2012, 15:33
|
|||
|---|---|---|---|
|
|||
Алгоритм замены ("инвертирования") цветов картинки |
|||
|
#18+
Осадчук Павел, Что значит "инвертировать", в Вашей задаче? На исходной картинке три цвета: чёрный, белый, зелёный. Чёрный и белый на выходе заменены зелёным, как это получилось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.10.2012, 15:36
|
|||
|---|---|---|---|
|
|||
Алгоритм замены ("инвертирования") цветов картинки |
|||
|
#18+
Abstraction, забудьте про окантовку иконки, меня интересует только внутренняя часть. "инвертировать" - неверный термин, тут не подходит простая замена цвета пикселя на "противоположный" строго говоря картинка двухцветная - белое содержание, зеленый фон и наоборот. но между изображением и фоном есть переход - и вот с ним проблема. мне кажется вычленив 2 цвета можно отнимая или прибавляя компоненты цвета пикселя получить желаемый эффект, но что-то не могу сообразить как ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.10.2012, 15:42
|
|||
|---|---|---|---|
|
|||
Алгоритм замены ("инвертирования") цветов картинки |
|||
|
#18+
Осадчук ПавелAbstraction, забудьте про окантовку иконки, меня интересует только внутренняя часть. "инвертировать" - неверный термин, тут не подходит простая замена цвета пикселя на "противоположный" строго говоря картинка двухцветная - белое содержание, зеленый фон и наоборот. но между изображением и фоном есть переход - и вот с ним проблема. мне кажется вычленив 2 цвета можно отнимая или прибавляя компоненты цвета пикселя получить желаемый эффект, но что-то не могу сообразить какДо тех пор, пока картинка двухцветная, нам нужно выловить "предельные" цвета (r 1 , g 1 , b 1 ) и (r 2 , g 2 , b 2 ). Полагаю, в первом приближении можно обойтись без преобразований в HSB-систему и тупо преобразовывать (r, g, b) -> (r 1 +r 2 -r, g 1 +g 2 -g, b 1 +b 2 -b). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.10.2012, 15:57
|
|||
|---|---|---|---|
Алгоритм замены ("инвертирования") цветов картинки |
|||
|
#18+
Непонятно, как чёрный стал зелёным. По какой формуле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.10.2012, 21:15
|
|||
|---|---|---|---|
|
|||
Алгоритм замены ("инвертирования") цветов картинки |
|||
|
#18+
Abstraction, благодарю, все работает отлично. Правда все равно пришлось использовать HSB для обнаружения "предельных" цветов. Первый цвет всегда белый, так что по максимальному S беру второй цвет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=16&mobile=1&tid=1342099]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
135ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 439ms |

| 0 / 0 |
