- PVSM.RU - https://www.pvsm.ru -
Издеваться будем над замечательной программой господина YUVladimir [1] под названием SmartDeblur [2], которая предназначена для исправления смазанных изображений. Полноценным взломом это назвать, конечно, нельзя. Так, небольшое упражнение с картинками.
Берём испорченную шевелёнкой [3] картинку
Прогоняем через демоверсию SmartDeblur и получаем
Замечаем водяные знаки, которые нам не нравятся. Если повторить эксперимент несколько раз с одной и той же исходной картинкой, то видно, что знаки очень статичны: не меняется ни текст, ни положение надписей. Значит, для наложения водяных знаков SmartDeblur просто применяет какую-то маску. Какую именно? Очень легко узнать! Подсовываем программе белое поле такого же размера, как исходная картинка. Переключаем в режим исправления размытия Гаусса с радиусом 0.1 и получаем
Это и есть искомая маска. Пространство между надписями, кстати, не совсем белое, хм, ну ладно… Вычисления будем производить в системе RGB с целочисленными значениями от 0 до 255, в общем, без экзотики. Экспериментально удалось определить, что маска накладывается по формуле Rout = Rin * Rmask ÷ 255, где Rin — значение красного канала до наложения маски, Rmask — значение красного канала самой маски, Rout — значение красного канала, получаемое в результате наложения маски, ÷ — целочисленное деление. Для зелёного и синего каналов то же самое. В графических редакторах такой способ обычно называется просто "умножение".
Против "умножения" будем применять "деление". Правда, с потерей точности. Вычисляем по обратной формуле Rin = Rout * 255 ÷ Rmask и видим
Кое-какие следы всё-таки остались. То ли виновата потеря точности, то ли я немного ошибся в формулах. Но теперь водяные знаки не так резко бросаются в глаза, чего для наших целей вполне достаточно. И будем благодарны автору программы SmartDeblur за комментарии.
Автор: mporshnev
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/obrabotka-izobrazhenij/63531
Ссылки в тексте:
[1] YUVladimir: http://habrahabr.ru/users/yuvladimir/
[2] SmartDeblur: http://smartdeblur.net/
[3] шевелёнкой: http://ru.wikipedia.org/wiki/%D0%A8%D0%B5%D0%B2%D0%B5%D0%BB%D1%91%D0%BD%D0%BA%D0%B0
[4] Источник: http://habrahabr.ru/post/227593/
Нажмите здесь для печати.