The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Операционные системы, Разное" (Архив | Для печати)

Имитация карандашного рисунка при помощи GIMP

Алексей Корельский aka snake
2004.10.11


Оригинал: posix.ru

В этой статье я хочу продемонстрировать, как при помощи свободного графического редактора можно создавать изображения внешне производящие впечатление нарисованных карандашем. Я специально старался не заострять внимание на специфических особенностях используемого програмного обеспечения, и, при желании, все описанные действия можно воспроизвести на любом графическом редакторе, предоставляющем достаточные для этого возможности. Хотя сам я использовал Гимп (the Gimp) версии 1.2.5 под управлением ОС GNU/Linux в варианте поставки компании ALT Linux (Мастер 2.2 и Junior 2.3).

Хочу сразу заметить, что системные требования очень жесткие. Работая над подобными рисунками, могу сказать, что гигабайт памяти и 2-х гигагерцевый процессор - как раз то, что необходимо для комфортной деятельности, а 512 мегабайт на работе мне ощутимо не хватает... Как обстоят дела в Виндос и под другими редакторами я не проверял.

На примере этого изображения, я и постараюсь описать использованный способ. Для работы нам необходим контурный рисунок объекта, который мы хотим нарисовать. Получить его можно разными путями. Я, для этой цели, беру фотографию, увеличиваю ее до нормального (точнее ненормального) рабочего размера. Обычно, для компактного объекта, вроде лица или птички, это не менее 2000 пикселей по узкой стороне кадра, для рисунка представляющего собой более сложную композицию, гораздо больше (вот откуда и взялись такие суровые системные требования) Затем, на вклеенном дополнительном прозрачном слое инструментом "кисть" обвожу контур объекта и все значимые детали. Например, вот так это выглядит в общем виде (сильно уменьшено!):

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

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

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

Начинаем закраску от краев, постепенно продвигаясь к центру. Для придания телу нашей птички общей формы применяем кисть максимального диаметра (201 px), для частей среднего размера (голова, хвост) подойдет кисть на 75 px и для таких деталей, как клюв и лапы, маленькие кисти 19 и 35 будут в самый раз. Для того, чтобы придать плоскому изображению объем, нужно края закрасить более сильно чем центр, вот как это выглядит на примере лап:

Потом берем в руки "палец" и выправляем неровности нашей закраски. Мазки делаются вдоль границ тех частей объекта, форму которых мы хотим подчеркнуть. Размер "пальца" должен быть не менее размера "аэрографа" примененного на данном участке изображения. Получается что-то вроде этого:

Голубь начал приобретать признаки формы, но все еще остается плоским и не выразительным. Откладываем в сторону "палец" и опять беремся за "аэрограф". Добавляем рельефности, тем частям которым ее не хватает.

И снова "пальцем" выправляем шероховатости. Продолжаем этот цикл до тех пор, пока не останемся довольны результатом.

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

Однако, это еще не все -- нам необходимо "уничтожить" контур. Просто отключить его нельзя, изображение получиться "нерезким":

Поэтому, опять берем "палец", но уже маленького размера 19 - 35, активизируем слой с контурным рисунком и аккуратно размазываем линии вдоль, до их почти слияния с изображением более верхних слоев:

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

А теперь нам предстоит поработать напильником. Сделайте копию изображения (Control+D) Уменьшите ее до удобоваримого размера. Например, 600x400 px или около того. Обработайте изображение "уровнями" и "кривыми", сохраняя, соответственно, удачные по вашему мнению установки "уровней" и "кривых". Затем, активизируйте основное изображение и пройдитесь по нему теми же "глобальными" инструментами используя только что подобранные и сохраненные настройки. Настоятельно рекомендую делать именно так! Дело в том, что чтобы добиться наилучшего результата вам придется "поиграть" и "уровнями", и "кривыми", а для этого необходимо видеть к какому результату приводят изменения соответствующих параметров. Но постоянная перерисовка исходного изображения (вы ведь помните какого оно размера) приводит просто к жутким тормозам, даже на гигабайте памяти!

Далее, перья. Тут все просто: сначала маленьким "пальцем" обрабатываем контур, затем большим по размеру дорабатываем.

Единственная проблема -- перьев очень много :) Так что придеться запастись терпением. Иногда может оказаться, что какая-либо деталь выглядит неестественно сильно выделяющейся, тут поможет "ластик" с небольшим нажимом (10% - 20%), а затем доводка "пальцем". Вот, примерно, что мы получаем в итоге:

Это оригинал уменьшенный в 5 раз. Теперь осталось только сделать легкий аншарп (фильтр "нерезкая маска"). И получим изображение приведенное в самом начале статьи.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру