~искусство the Lion kinG~
Ответить на тему  [ 70 сообщений ]  Пред. 1 2 3 4 5
СообщениеДобавлено: 12 май 2013, 14:15 
experienced hunter
experienced hunter
Аватара пользователя
Не в сети

Зарегистрирован:
06 май 2008, 14:46
Сообщения: 127
DrSchmallhausen писал(а):
Revent писал(а):Почему?
из-за его крутейших возможностей по написанию подключаемых модулей
Ясно.


Вернуться к началу
 
СообщениеДобавлено: 12 май 2013, 18:51 
tech support
tech support
Аватара пользователя
Не в сети

Зарегистрирован:
16 май 2008, 18:16
Сообщения: 1961
ФуррВид: лев
Откуда: Moscow
DrSchmallhausen писал(а): Будучи созданным за пару часов (что важно, без предварительных знаний целевого языка), он предназначен для удаления с произвольной картинки водяного знака DeviantArt.

Как можно видеть, о существовании водяного знака теперь напоминают разве что JPEG-артефакты, оставшиеся вокруг места его размещения.
:shock:
Это довольно сложный водяной знак, удаление такого - задача непростая... Athari, помнится, писал для удаления водяных знаков специализированную программу почти с нуля, и результаты были не столь впечатляющие. Респект!

А лично я в GIMP обожаю его алгоритмы интерполяции. Даже в 2.6 есть интерполяция по кардинальному синусу с фильтрацией Ланцоша, дающая очень чёткую картинку. Ни в каких фотошопах и прочей "профессиональной" фигне ничего подобного нет.

А алгоритмы из нестабильной версии вообще не имеют аналогов в мире, кроме их более ранних версий в imagemagic, написанных тем же разработчиком. Я про них даже в блог писал.

It's the Circle of Life
And it moves us all
Through despair and hope
Through faith and love


Вернуться к началу
 
СообщениеДобавлено: 12 май 2013, 19:37 
experienced hunter
experienced hunter
Аватара пользователя
Не в сети

Зарегистрирован:
28 окт 2012, 16:45
Сообщения: 200
ФуррВид: Old man in a topee
Откуда: Moscow
Shnatsel, к слову об аналогах. У нас тут в соседней лабе разрабатывали одно время метод пересчёта, основанный на регуляризации по Тихонову. Сам я, к сожалению, не сильно в теме, поскольку всё-таки системщик, и довольно посредственно разбираюсь в принципах обработки изображений — однако, может быть ты в курсе, не задумывались ли авторы GIMP над возможностью реализации такого фильтра? Наверняка говорить не буду — но думаю что, в случае чего, смогу достать сам текст научной статьи. Боюсь только, что он будет на русском.
Только в отличие от представленного в твоём посте, «тихоновский» фильтр работает на повышение размера, а не на понижение — почему, собственно, и спросил.

P.S. и, да — стиралка водяного знака основана на банальном вычитании по шаблону, которое возможно в силу обратимости формулы альфа-смешения, так что здесь нет никаких фокусов :roll:
Athari же, как я предполагаю, пытался разработать метод удаления произвольной метки, а не очистки произвольного изображения от заранее заданной (по крайней мере, бóльшей своей частью) метки.


Вернуться к началу
 
СообщениеДобавлено: 12 май 2013, 20:38 
tech support
tech support
Аватара пользователя
Не в сети

Зарегистрирован:
16 май 2008, 18:16
Сообщения: 1961
ФуррВид: лев
Откуда: Moscow
Неужели DA использует простой альфа-блендинг, да ещё и без искусственных "срывов"? Мда, ну и "защита" :facepalm:
Реверс такого уровня делает backtestground в целиком автоматическом режиме для совершенно других целей.
Athari делал более мощный реверс, с компенсацией умножения и прочего хитрого блендинга.

Про регуляризацию по Тихонову я впервые слышу. И я, увы, пока имею довольно поверхностное представление о математике такого уровня. Могу только сказать, что этот конкретный автор её в контексте GIMP пока не упоминал.

Кстати, вот интересный способ изменения размера изображений, реализованный в GIMP (в виде модуля), ImageMagick и отчасти в Photoshop начиная с CS4: http://youtu.be/6NcIJXTlugc
У меня давал очень впечатляющие результаты, например: было, стало.

It's the Circle of Life
And it moves us all
Through despair and hope
Through faith and love


Вернуться к началу
 
СообщениеДобавлено: 12 май 2013, 21:00 
experienced hunter
experienced hunter
Аватара пользователя
Не в сети

Зарегистрирован:
28 окт 2012, 16:45
Сообщения: 200
ФуррВид: Old man in a topee
Откуда: Moscow
Shnatsel писал(а):Мда, ну и "защита" :facepalm:
Ну, они берут в основном не этим, а тем, что нижняя строка в метке уникальна для каждого автора. И вот как раз для её удаления пришлось кропотливо набирать литерную базу а кернинг вообще приходится делать вручную до сих пор :D
Shnatsel писал(а):без искусственных "срывов"
К сожалению, не понял, что имеется в виду.


Вернуться к началу
 
СообщениеДобавлено: 13 май 2013, 10:59 
experienced hunter
experienced hunter
Аватара пользователя
Не в сети

Зарегистрирован:
06 май 2008, 14:46
Сообщения: 127
Shnatsel писал(а): интерполяция по кардинальному синусу с фильтрацией Ланцоша
Круто :shock: . Я теперь два дня заснуть не смогу.


Вернуться к началу
 
СообщениеДобавлено: 13 май 2013, 16:12 
tech support
tech support
Аватара пользователя
Не в сети

Зарегистрирован:
16 май 2008, 18:16
Сообщения: 1961
ФуррВид: лев
Откуда: Moscow
DrSchmallhausen писал(а):
Shnatsel писал(а):без искусственных "срывов"
К сожалению, не понял, что имеется в виду.
Извиняюсь, я некорректно выразился. Имеется в виду, что операция альфа-смешивания полностью обратима только если существует заимооднозначное соответствие цвета "до" и цвета "после". Это не выполняется, например, если наложить тëмный водяной знак на тëмную картинку: любой достаточно тëмный пиксель сорвëтся в #000000 и восстановить, какой именно цвет там был, простым вычитанием будет невозможно.
Картинка не обязательно должна быть тëмной - для невозможности снятия водяного знака простым вычитанием достаточно срыва по одному каналу. В некоторых случаях такие потери можно компенсировать, заимствуя сорванные значения из ближайших нетронутых водяным знаком пикселей с близкими значениями по нетронутому каналу, но для этого нужен хотя бы один нетронутый канал. Реализаций этой идеи я пока не видел, но это не значит, что их не существует.
Если ни одного нетронутого канала нет, придëтся использовать что-то в духе гимпового модуля Resynthesizer.

Такие срывы можно вызвать не на каждом изображении без серьëзной визуальной деградации, но на многих можно, накладывая водяной знак на наиболее склонные к срывам участки или варьируя прозрачность водяного знака. DeviantArt этого не делает, поэтому простое вычитание в большинстве случаев работает.

It's the Circle of Life
And it moves us all
Through despair and hope
Through faith and love


Вернуться к началу
 
СообщениеДобавлено: 13 май 2013, 20:09 
experienced hunter
experienced hunter
Аватара пользователя
Не в сети

Зарегистрирован:
28 окт 2012, 16:45
Сообщения: 200
ФуррВид: Old man in a topee
Откуда: Moscow
Shnatsel писал(а):любой достаточно тëмный пиксель сорвëтся в #000000 и восстановить, какой именно цвет там был, простым вычитанием будет невозможно
Не совсем верно.

Изображение
— исходя из формулы смешения (где z — любой из цветовых каналов, a — альфаканал, С — пиксель результата смешения, B — пиксель непрозрачного задника, F — пиксель полупрозрачного слоя), ошибки здесь могут возникнуть только из-за дискретизации, когда вещественное в диапазоне [0.0; 1.0] приходится квантовать на 256 возможных значений [0; 255].
В случае с водяным знаком это не так страшно, поскольку они редко когда имеют прозрачность более 128, а следовательно после восстановления у результирующей картинки в местах под ним останется 127 градаций цвета на канал, что «на глаз» очень мало где заметно. И цвет самого водяного знака при этом, кстати, не важен, поскольку потеря точности произойдёт в любом случае — будь то затемнение до 0.0, засветление до 1.0 или любое другое приведение канала к 256/(1 + a) уровням яркости :roll:
А если же «водяной» знак имеет прозрачность от 129 и выше — то он уже ни фига не водяной, поскольку виден лучше, чем то, что под ним…

Кстати, раздельноканальных знаков пока что ни разу вживую не встречал.
Да и как-то не верится, что они найдут сколько-нибудь широкое применение — в глазах же рябить будет :hmm:
И, да — сдаётся мне, что это всё равно не поможет: отдельный канал можно с неплохой точностью восстановить, вычтя из изображения метку, помимо RGB, в каком-нибудь YIQ-пространстве, а потом составив систему трёх уравнений с тремя неизвестными.


Вернуться к началу
 
СообщениеДобавлено: 14 май 2013, 07:28 
experienced hunter
experienced hunter
Аватара пользователя
Не в сети

Зарегистрирован:
06 май 2008, 14:46
Сообщения: 127
Нет, ну вы реальные спецы. Удачи вам в удалении водяных знаков с арта девиантарта.


Вернуться к началу
 
СообщениеДобавлено: 09 дек 2014, 21:54 
tech support
tech support
Аватара пользователя
Не в сети

Зарегистрирован:
16 май 2008, 18:16
Сообщения: 1961
ФуррВид: лев
Откуда: Moscow
Я наконец-то нашёл короткое и ясное объяснение, как сделать контур варьирующейся толщины в Inkscape: http://tucsonlabs.com/2008/10/24/brushes-in-inkscape/

Вооружившись этим знанием, можно использовать бесплатный Inkscape вместо крякнутой Xara. При обводке разница между редакторами вряд ли будет заметна.

It's the Circle of Life
And it moves us all
Through despair and hope
Through faith and love


Вернуться к началу
 
Показать сообщения за:  Поле сортировки  
Ответить на тему  [ 70 сообщений ]  Пред. 1 2 3 4 5


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB
[ GZIP: On ]