Журнал LinuxFormat - перейти на главную

LXF111:GIMP

Материал из Linuxformat
Перейти к: навигация, поиск
GIMP Графический редактор с открытым кодом, в который вы тоже можете вонзить зубы

Содержание

GIMP: выделяй и властвуй

GIMP 2.4
Кто ж не знает, что такое выделение! Но хорошо ли вы это знаете? На сей раз Майкл Дж. Хэммел колдует над несколькими корявыми изображениями.

Если маска – сердце композиции, то выделение – кровь, дающая ему жизнь. Для тех, кто не в курсе, композиция – это просто процесс соединения двух изображений. Без маски она превратится в детский коллаж, который можно склеить, вырезав картинки из журналов или газет. Но маска позволяет не только наложить одно изображение поверх другого. Она, вместе со своими компаньонами – слоями – позволяет размывать границы верхнего и нижнего изображений, превращая их в единое целое.

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

LXF111 66 1.jpg Можете зацепить активные точки для редактирования изображения, пока отображаются границы выделения.

Я начну этот урок с обзора основ выделения, а затем перейду к филигранной технике более сложных случаев. Я также коснусь методов усовершенствования выделения, чтобы маска или слой могли более ровно переходить в другой слой. Набор основных инструментов выделения был пересмотрен в GIMP 2.4, и теперь они снабжены более дружественным интерфейсом. Инструменты Прямоугольник [Rectangle] и Эллипс [Ellipse] окружают объект границей с активными точками для интерактивного редактирования выделения. Перемещайте мышь по границам выделения – влево, вправо, вверх, вниз и к углам – чтобы увидеть активные точки. Заодно обратите внимание на изменения внешнего вида курсора, которые отображают направление, куда можно перетаскивать, чтобы изменить выделение.

Выделение активно, пока его граница находится на своем месте. В этом случае можно, например, перетащить в выделенный объект цвета с панели инструментов, чтобы выполнить ровную заливку. Однако вам может понадобиться завершить редактирование изображения, щелкнув внутри выделенной границы или нажав клавишу Enter. Завершение выделения исключает возможность его правки, поскольку граница исчезает. Редактирование прямоугольного и эллиптического выделения ограничено изменением высоты и ширины при использовании активных точек на границе выделения.

Квадратики в углу

К счастью, последняя версия GIMP дает больше возможностей для редактирования. К релизу 2.4 добавлена возможность трансформировать выделение после его завершения. Инструменты преобразования (Rotate [Поворот], Scale [Масштаб], Shear [Искривление], Perspective [Перспектива] и Flip [Отражение]) выполняют трансформацию текущего слоя, активной границы выделения или контура. Это означает, что можно создать выделение с помощью инструмента Свободное выделение [Free Select] или «лассо» и добавить ему перспективы с помощью инструмента Perspective. Но здесь следует быть осторожным. Чтобы инструменты преобразования работали с выделением, их надо настроить, нажав соответствующую кнопку в диалоге Параметров инструментов. Первая расположенная в нем кнопка применяет преобразование к изображению, вторая – к текущему выделению, а третья – к активному контуру. Перед выполнением преобразования убедитесь, что нажата именно та кнопка, которая вам нужна.

LXF111 67 1.jpgСочетание выделения на основе цвета и выделения вручную не требует особой точности.

В примере (подсолнухи) я хочу выделить цветки. Можно использовать Select By Colour [Выделение по цвету], чтобы пометить небо, а затем инвертировать эту область. Но на небе есть бледные облачка, которые не отделить от цветков в нижней правой части изображения. К счастью, можно начать работу и с подсолнухов.

Выбрав на панели инструментов инструмент Select By Colour, я выбираю в меню Выбор по: [Select By] пункт Тон: [Hue] и щелкаю на часть подсолнухов желтого цвета (без перетаскивания: просто нажимаю). Это выделит границы лепестков, но некоторые семечки останутся неохваченными. Поскольку линия, обводящая лепестки, является границей выделения, все, что вам нужно – это добавить сюда инструмент Свободное выделение [Free Select].

Оставив текущее выделение без изменений, я выбираю инструмент Free Select. Затем проверяю, чтобы в диалоге Параметры инструментов был активен режим добавления (второй слева пункт в ряду Mode [Режим]) и, наконец, рисую свободное выделение вокруг семечек, при необходимости вылезая мышью за границы холста.

LXF111 67 2.jpg Указав Выбор по Тону вы поможете Умному выделению определить различия в оттенках цвета неба и подсолнухов.

Отделение объекта

Смысл выделения заключается в том, чтобы вычленить из изображения некий объект. Способ, как это сделать, во многом зависит от исходной картинки. Неоднородный фон усложняет процесс, но не делает его невозможным. Хитрость работы с изображениями такого типа – в использовании более мудреных и тонких методов. Инструмент Умное выделение [Fuzzy Select], иногда именуемый «волшебной палочкой», работает во многом похоже на Выделение по цвету, но он даже больше подходит для изображений с пятнами ровного или почти ровного сплошного цвета. Фактически, как бы ни было легко выделить цветки с помощью инструмента Выделение по цвету, Умное выделение сделает это в одно движение.

Выберите инструмент Fuzzy Select на Панели, затем нажмите и медленно тащите по небу на изображении (небо, не цветы!). По мере растягивания выделение все больше разрастается, пока не захватит все небо. Теперь инвертируйте выделение (Select > Invert [Выделение > Инвертировать]), чтобы обвести цветы. Из-за разницы оттенков именно в этом конкретном изображении выделение получается исключительно точным.

LXF111 68 2.jpgКогда вы используете инструмент Ножницы, кривая между узлами выходит не особо гладкой, так что с этим выделением лучше использовать контур.

Иногда граница между предметом и фоном видна явно. В подобных случаях применяется инструмент Ножницы [Scissors], чтобы обвести объект серией контрольных точек-узлов, как при создании контура. Этот процесс немного более трудоемок, но он позволит выделить более мелкие детали объекта и, что важнее – перемещать точки и редактировать абрис перед тем, как конвертировать контур в выделение.

Умные ножницы

Инструмент Scissors [Ножницы] работает, находя границу поблизости от того места, где вы кликнули. На эту границу ставится узел, а между предыдущим и последующим узлом рисуется кривая. Обведя контур предмета, вы нажимаете в любом месте внутри обводки, чтобы конвертировать ее в выделение. В качестве альтернативы можно использовать контуры для создания похожего выделения. Преимущество контура в том, что он обитает в собственном диалоге (подобном диалогу Слои), и потом вы сможете его редактировать, изменяя выделенный объект.

Хотя этого здесь не показано, на холсте контур не присутствует: он существует только в диалоговом окне Контуры. Чтобы он появился на холсте, вам надо или обвести его (тогда он появится в текущем слое) или конвертировать его в выделение. Обе опции отображены в виде кнопок в диалоговом окне Параметров инструмента Контуры.

LXF111 68 1.jpg Лассо просто создает первоначальное выделение, которое потом будет усовершенствовано с помощью Выделения переднего плана

Самое последнее добавление к коллекции инструментов выделения GIMP – это Foreground Select [Выделение переднего плана]. Данный инструмент, так же, как и Ножницы, обладает встроенным интеллектом, но использовать его проще. Будучи выбранным из Панели инструментов, Foreground Select превращает курсор в лассо. Используйте его, чтобы создать приблизительный абрис объекта. На примере я обвел строение, выйдя за границы холста слева и вновь войдя в границы справа. Очертания имеют форму грубого овала и захватывают часть фона.

По завершении выделения с помощью лассо Foreground Select окрашивает невыделенный фон в голубой цвет. Покончив с работой лассо, курсор принимает вид круглой кисти. Диаметр кисти можно увеличить через Параметры инструментов (этот шаг необходим, если вы работаете с очень большим изображением, поскольку размер кисти по умолчанию рассчитан на web-изображения, а не на печатные). Теперь кликните по объекту за пределами переднего плана и протащите мышь, чтобы нарисовать линию, проходящую через объект на переднем плане. Линия должна охватывать пиксели, дающие представление о цветах объекта на переднем плане. Когда вы отпустите кнопку мыши, инструмент Foreground Select начнет вычислять контуры объекта на переднем плане. Чтобы завершить выделение, нажмите клавишу Enter, и вы увидите вокруг границ выделения шеренгу ползущих муравьев.

Полезность инструмента Foreground Select заключается в простоте создания выделения: все, что вам нужно – грубое очерчивание и кисть. Недостаток инструмента – медлительность при работе с кистью, если она толстая. Несмотря на это, Foreground Select способен создавать исключительно точные выделения при незначительных затраченных усилиях.

Альтернативные методы

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

Испробуем Выделение переднего плана на более сложном изображении – наборе теннисных мячей, прикорнувших на сетке теннисной ракетки (внизу справа). Это изображение более сложное, поскольку мячи не соприкасаются и их пиксели нельзя обвести одной непрерывной линией, как это делалось в предыдущем примере. Хуже того, края ракетки тоже желтого цвета. К счастью, изолировать мячи можно несколькими инструментами. Сперва я обрисую их контуры с использованием лассо Foreground Select, прилагая все усилия, чтобы включить как можно меньше от ракетки. Затем нарисую линию выделения объекта на переднем плане через все теннисные мячи. Это отлично работает для выделения всех мячей – и только мячей; но заодно захватывается и часть сетки на ракетке, а вот штамп на ближайшем мяче сюда не попадет.

Теперь я выключаю кнопку Contiguous [Смежная область] в Параметрах инструментов. Затем рисую еще несколько линий для выделения объектов на переднем плане в разных частях мячей – например, там, где темный штамп. Это немного усовершенствует результат Выделения переднего плана, но работы осталось еще много.

Переключаюсь на Select Background [Выделение фона] и прорисовываю очертания мячей поверх сетки ракетки. Сначала я увеличил изображение, чтобы лучше его видеть. Размеры кисти при увеличении изображения не меняются, и для более тонкой и детализированной работы лучше подойдет маленькая кисть. Я уменьшаю изображение и нажимаю Enter, чтобы конвертировать это все в выделение. И тут я вижу, каким убогим оно получилось. Придется подчистить его с помощью Быстрой маски [Quick Mask].

Действие Быстрой маски очень похоже на результат Выделения переднего плана. Когда вы ее активируете (кнопка Quick Mask – это квадратная кнопка внизу слева окна изображения), все, что находится за пределами выделения, окрашивается в красный цвет. Красный – выбор по умолчанию: вы можете щелкнуть правой кнопкой мыши по кнопке Quick Mask, чтобы указать другой цвет, однако красный отлично сработал с желтыми теннисными мячами.

Далее вы выбираете из Панели инструмент работы с цветом. Идеально подходит Paintbrush [Кисть] в сочетании с мягкими краями – например, одной из круглых размытых кистей Circle Fuzzy, входящих в GIMP по умолчанию. Кисти с мягкими краями в Quick Mask действуют как растушевка контура выделения; а если вы решите использовать кисть с жестким краем, растушевать получившееся выделение можно будет и после (используя Select > Feather [Выделение > Растушевать]).

Теперь мы просто закрасим мячи белым, чтобы добавить их к выделению. При использовании Quick Mask, белый цвет снимает маску (он на самом деле не виден), а черный добавляется к маске (на месте покраски появляется оттенок маски). Я закрасил примерные контуры мячей белым, а затем переключился на черный, чтобы удалить области, которые не хотел включать в выделение. С помощью Quick Mask становится возможным увеличить изображение, использовать очень маленькую кисть и вручную выделить тонкий мех или волосы на изображении. Это – очень трудоемкий процесс, и, наверное, в нем нет необходимости, если не заниматься созданием изображении с высокой степенью точности; просто приятно знать, что вы такое можете. Закончив заполнение Быстрой маски, я снова нажимаю на кнопку Quick Mask, чтобы переключиться на настоящее выделение.

LXF111 68 3.jpg Быстрая маска позволяет закрасить области, которые будут выделены (или не выделены). Кисть с мягкими краями растушует контур выделения.

Исключительные случаи

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

Более простое решение – найти канал, обеспечивающий наибольший контраст, и использовать его как отправную точку для создания маски. Откройте диалоговое окно каналов и отключите их все, нажав на значок видимости. Затем снова включите их, чтобы найти тот, в котором самый сильный контраст. Для данного изображения это будет зеленый канал. Кликните по нему каналу правой кнопкой мыши и выберите Duplicate Channel [Создать копию канала]. Копия будет добавлена в конец списка. Нажмите на значок видимости (кружок с глазом слева от миниатюры), чтобы включить отображение копии канала.

LXF111 69 1.jpgДля данного изображения выбран зеленый канал, хотя красный в этом случае тоже сработал бы.

Используем эту копию канала для создания слоя маски, чтобы изолировать нашего друга-собакина. В окне слоев отключите отображение фонового (и единственного) слоя. Теперь вы можете видеть сам канал, который выглядит, как обесцвеченная версия слоя с собакой. Убедитесь, что канал активен, щелкнув по нему в окне Channels [Каналы], затем откройте окно Levels [Уровни]. Двигайте бегунки, пока не добьетесь наилучших очертаний изображения собаки – забудьте про внутреннее содержание этого изображения, его мы добавим позднее.

Нам ни к чему лишняя грязь вокруг контуров, так что мы можем покрасить их белым прямо в канале. Но пока что у нас нет четкого контура собаки, чтобы заполнить его черной заливкой. Исправить это можно следующим образом: скопировать канал (Select > All [Выделить > Все], Edit > Copy [Правка > Копировать]), вернуться в окно Слои и нажать на фоновый слой, сделав его активным, затем вставить копию в окно изображения (Edit > Paste [Правка > Вставить]). Закрепите это выделение в окне Слои (Layer > New [Слой > Создать]).

Теперь можно отредактировать этот новый слой, уменьшив его непрозрачность (переместите бегунок Opacity на 25.0 в окне Слои) и аккуратно проведя черную линию по контуру пса там, где на новом слое не отобразилось черного. Здесь я использовал увеличение (чтобы более четко видеть контур), очень маленькую кисть с жестким краем и инструмент Pencil [Карандаш]. Замкнув контур, мы сможем выделить большую часть пространства, окрашенного белым, с помощью инструмента Умное выделение, увеличить выделение на несколько пикселей и заполнить его черным. Затем подчистим остальную часть изображения вручную, с помощью кисти.

Заполненный черным собачий силуэт в новом слое мы можем скопировать в маску оригинального слоя. Щелкните на слое с изображением собаки, сделав его активным, затем добавьте к нему слой маски (Layer > Mask > Add Layer Mask [Слой > Маска > Добавить слой-маску]). Щелкните на новом слое с черным силуэтом собаки в окне Слои, чтобы он стал активным. Скопируйте его (Правка > Копировать), затем щелкните по слой-маске с изображением собаки – убедитесь, что вы щелкнули по самой маске в окне Слои! Вставьте скопированное в маску (Layer > Paste [Слой > Вставить]) и закрепите (Layer > Anchor [Слой > Прикрепить]). Черный в маске замещает прозрачный, поэтому инвертируйте цвета (Colours > Invert [Цвета > Инвертировать]) в маске. В этом пункте к маске стоит также применить легкое размытие (Filters > Blur > Gaussian Blur [Фильтры > Размытие > Гауссово], примерно пять пикселей). Теперь у вас должен получиться хороший контур собаки. Я добавил зеленый фон, чтобы можно было увидеть результаты. Чтобы создать выделение отсюда, просто конвертируйте маску в выделение (Layer > Mask > Mask to Selection [Слой > Маска > Маска в Выделение]).

LXF111 69 2.jpgСоздание подобного выделения требует гораздо больше усилий, но результат того стоит.

Все дело в выборе

Выбор инструментов и техники существенно зависит от исходного изображения. Изображения с высокой контрастностью отлично обрабатываются с помощью основных инструментов. Большая разница в цвете фона и объекта на переднем плане хорошо поддается обработке с помощью Fuzzy Select, Select By Colour и Foreground Select. Объекты, сливающиеся с фоном и имеющие множество тонких линий вдоль контура, и/или расположенные перед загроможденным пестрым фоном, требуют более тщательной работы с использованием разных инструментов, настроек и уточнений в Уровнях [Levels] и настроек Яркости/Контраста [Brightness/Contrast] для создания подходящей маски.

Короче, лучше всего действует метод проб и ошибок. Будь на свете универсальный магический инструмент, уж конечно он был бы в GIMP. К счастью, ящик с инструментами GIMP полон разнообразными орудиями, позволяющими легко и непринужденно экспериментировать с разными способами выделения. LXF

Настройка кисти

Основные кисти в GIMP довольно стандартны по размеру. Вы можете создавать их дубликаты, чтобы редактировать форму и размер, но мне показалось проще всего создать новую кисть, которую я редактирую вручную, каждый раз, для того процесса, над которым я работаю. Создать новую кисть можно с помощью кнопки New Brush [Создать кисть] в панели Brushes [Кисти].

Персональные инструменты
купить
подписаться
Яндекс.Метрика