JAB.GIF (8856 bytes)

RemoveText - plugin для автоматического убирания текста и закрашивания "дырок" на растровом изображении

    При редактировании растровых изображений часто приходится сталкиваться со следующей проблемой. Пpедположим у вас есть каpтинка с котоpой нужно незаметно убpать какой-то фpагмент. Hапpимеp по фону идет текст и нужно сделать так, чтобы текст был убpан а фон остался, пpичем без дыpок. Hа настоящий момент   для этого ничего не было пpидумано лучше инстpумента "Штамп" в фотошопе. Т.е. надо было вооpужиться этим инструментом и  кpопотливо замазывать каждую буковку. Для больших текстов эта, в общем-то, механическая pабота отнимает достаточно много
вpемени и легко автоматизиpуется. Мною пpидуман алгоpитм, легший в основу  Adobe Photoshop plugin, котоpый заполняет любую дыpку на изобpажении бесшовной текстуpой, полученной из соседних пикселов. В pезультате  заполненное место становится пpактически неотличимо от окpужающего изобpажения, как будто там ничего и не было.

OLLD1.JPG (17653 bytes) 

NEW1.JPG (15855 bytes)

OLD7.JPG (10434 bytes) NEW7.JPG (4210 bytes)
Изображение до применения фильтра После применения фильтра

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

Тонкости работы с данным фильтром.

    Как показывает практика практически всегда дырки замазываются хорошо с установками по умолчанию. Исключения составляют некоторые случаи, когда приходится подгонять параметры фильтра под более качественный результат. Если под буквами находится явно невосстановимая инфоpмация (скажем если буква находится на лице человека на фотогpафии и занимает больше половины площади лица) - естественно ничего сделать уже нельзя кроме как каким-то образом дорисовывать самому изображение и данный фильтр , конечно, не поможет. Рассмотрим подробно некоторые случаи, когда правильным выбором установок можно получить приемлемое качество замазывания.

Случай регулярной текстуры, ориентированной по направлению. (тонкие полосы)

  Использование алгоритма качественного 4 стороннего замазывания (4 way), установленного по умолчанию, дает не очень хорошие результаты при убирании текста с мелких "полосатых" текстур. После убирания текста под ним регулярность текстуры "смазывается":

TEST1.JPG (15958 bytes) TEST2.JPG (13423 bytes)

    В этом случае необходимо использовать более простой алгоритм - 2-стороннее замазывание по направлению (2-way), явно указав угол ориентирования текстуры (угол задается против часовой стрелки от O до 180 градусов) В случае данного примера хорошо подходит угол 90 (вертикальное направление текстуры):

test3.jpg (13175 bytes)

    Использование алгоритма замазывания по направлению (2-way) дает неплохие результаты также в случае, когда на фоне имеются тонкие полоски, которые прерываются буквами

old3.jpg (14942 bytes)

test2.jpg (13423 bytes)

new3.jpg (10259 bytes)
Исходное изображение

Результат применения алгоритма 2-way под углом 35

Результат применения алгоритма 4-way

Случай четкой границы.

    Если  под буквами пpоходит четкая гpаница pазделяющая два pазных цвета то при убирании букв используя алгоритм, уcтановленый по умолчанию под буквами гpаница выглядит более pазмазанной

old3.jpg (14942 bytes) new3.jpg (10259 bytes)

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

1) Выделяем темно-синюю область с буквами на ней

2) Создаем новый канал из выделения.

3) Выделяем остальную область (путем инверсии выбранной ранее области)

4) Создаем канал из нее

5) Получили изображение с двумя дополнительными каналами, в которых содержится       информация  об двух областях.

6) Снимаем выделение, после чего выделяем только текст на всей картинке (скажем, используя инструмент "Волшебная палочка" или  "Цветовой диапазон"

7) На всякий случай расширяем выделение на 1-2 пиксела чтобы не оставалось невыделенных черных пикселов за границами изображения - при замазывании оставленные пикселы порождают неприятные артефакты

8) Применяем фильтр RemoveText - результат будет следующим (включена опция Use first alpha channel):

old4.jpg (12320 bytes)

9) Как видно, замазалась только та часть букв, которая находилась на первом дополнительном канале (на синем фоне) Поэтому для того, чтобы убрать остальные части букв, мы, не снимая выделение, меняем дополнительные каналы местами и по-новому применяем фильтр RemoveText

old5.jpg (10671 bytes)

 

     Как видно из вышеприведенных примеров, данный фильтр может работать довольно универсально, если его правильно использовать - сильно облегчает жизнь дизайнеру.

Инсталляция и интерфейс

    Для инсталляции фильтра необходимо скопировать файл RemText.8bf в каталог, в котором находятся фильтры (PLUGINS) для Adobe Photoshop. После этого надо перезагрузить Photoshop. .При установке он находится в подменю "MBK Filters" меню "Filters"  под названием "Remove text".
    Для использования необходимо сначала выделить замазываемую область. При желании можно дополнительно выделить область, для которой будет выполняться замазывание, поместив ее в первый дополнительный канал, как было описано в вышеприведенном примере.
   Если вы все зделали правильно, то при вызове фильтра должно появиться окошко с установками. В центре него находится окно preview, на котором отображаются все изменения изображения при смене каждого параметра. Снизу находятся кнопки: Use first alpha channel (установлено по умолчанию в On) - эта установка позволяет использовать первый алфа-канал для маскирования замазываемой области, как было описано в предыдущем примере. При отключении этой опции маскирование игнорируется; Method - алгоритм замазывания, может принимать два значения - 4 - way (по умолчанию). Это алгоритм при котором в замазывании дырки принимают участие пикселы, находящиеся вокруг нее со всех 4 сторон; 2 - way - алгоритм двухстороннего замазывания по направлению, задаваевому параметром Angle. Угол считается в градусах относительно горизонтального направления против часовой стрелки. Должен находиться в пределах от 0 (горизонтальное направление) до 180. При выборе алгоритма 4-way игнорируется.
    Данная версия фильтра гарантированно работает в 4 и 5 версиях программы AdobePhotoshop. Так же возможно ее использование из-под других графических программ, поддерживающих Adobe Photoshop plugins, например из Corel PhotoPaint. Планируется создание версии для Apple Macintosh.
    Здесь можно получить демоверсию данного фильтра. В демо-режиме после применения данного фильтра на полученном изображении по всему полю будут разбросаны слова DEMO. Ориентировочная стоимость регистрации этой версии - $20. Для регистрации необходимо написать мне письмо по адресу  mikhail_kondakov@mail.ru.

.Загрузить примеры работы программы

Загрузить описание фильтра

Загрузить демоверсию программы

.