Skip to main content

Уроки по GIMP - Отделение изображения от фона

Gimp Инструменты выделения

Автор: Майкл Хэммел
Материал взят с LXF76

В мире свободного ПО свой отсчет времени; проект Gimp - не исключение. Недавно разнесся слух о скором выходе
новейшей версии, Gimp 2.4. Действительно ли грядет это событие, пока не ясно. Несомненно одно - в арсенале Gimp, среди прочих новинок, появится любопытный инструмент Foreground Selection - интегрированная версия сравнительно нового модуля SIOX для Gimp
2.2.

Проект SIOX (Simple Interactive Object eXtraction - Простая интерактивная выемка объектов) предусматривает создание ПО для упрощения процесса отделения объектов на рисунках от их окружения (графической выборки). Gimp уже обладает средствами для решения этой весьма востребованной задачи - именно для нее был создан инструмент Scissors, Ножницы. Действует он сравнительно неплохо, но быстрым его не назовешь: выборка сложных графических объектов
требует назначения большого количества контрольных точек, а редактировать эти точки не так-то просто. Зато, вооружившись терпением и временем, вы получите отменно точную вырезку.

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

Итак, инструментов для графической выборки хватает. Почему тогда мы говорим о появлении новых? Да потому, что разработчики Gimp постоянно ищут способы усовершенствования программы. Вы спросите, не станет ли Foreground Selection одним из таких улучшений?
В процессе урока я как раз и собираюсь ответить на этот вопрос. Я буду сравнивать простоту использования Foreground Selection и Quick Mask и доступную для них точность вырезки при работе в комбинации с другими средствами Gimp. Объектами послужат несколько образцовых изображений. Следуя за мной, шаг за шагом, вы незаметно для себя освоите ценные технологии графической выборки!

Часть 1 - простое выделение на однотонном фоне

Чтобы сравнить инструменты Foreground Select и Fuzzy Select из инструментария Gimp 2.2, поработаем с изображением розы на белом фоне.

Как работает Fuzzy Select
ПОДСКАЗКА

  • Пользуясь Quick Mask, можно сколько угодно раз переключаться между маской и вырезкой для подчистки. Ни один известный инструмент не дает такой простоты и свободы для этой операции, даже новейший Foreground Select.
  • Для отмены сделанной вами выборки воспользуйтесь стандартным откатом [Ctrl]+[Z], попробуйте изменить настройку инструмента, затем начните сначала. Такая возможность есть у любого средства выборки, исключая Quick Mask (которому для подчистки просто не нужна настройка параметров).
  • Когда вы отпустите кнопку мыши, Foreground Select немедленно обновит вашу вырезку. Поэтому не отпускайте кнопку, пока не закрасите большую часть нужного вам объекта. Для подчистки можно неоднократно возобновлять закрашивание.
  • Когда вы закрасите вырезку, поместите курсор в окно изображения и нажмите клавишу ввода. Синее пространство превратится в реальную выборку.

Инструмент Fuzzy Select (по виду напоминающий волшебную палочку) выделяет смежные точки, попадающие в определенный диапазон. Превосходный способ отделить от рисунка практически монотонный фон!

Параметры Fuzzy Select

Параметр Threshold - Порог - в диалоговом окне настройки определяет предварительный контур. Чем выше порог, тем точнее вырезка.
В нашем примере было установлено значение порога 25,0. После щелчка мышью на фоновом участке получилась приличная, хотя и не идеальная, вырезка.

Повышение порога

Решив подобраться к розе поближе, я отменил выделение (Ctrl+Z) и повысил порог до 75,0. Затем оценил результат. Последняя попытка с порогом 105,0 дала отличную вырезку - вот уж поистине метод проб и ошибок! Чтобы вместо фона выделить розу, я инвертировал выделение (Select > Invert - Выделение > Инвертировать).

Как работает Foreground Selection

Значок Foreground Selection на панели инструментов Gimp имеет вид человеческой фигурки, окаймленной контуром из точек. В диалоговом окне Tool Options - Параметры инструмента - есть два интересующих нас элемента управления: кнопки смены выделения объекта/фона (Mark Foreground/Background) и ползунок изменения размера кисти.

Делаем приблизительное выделение

При выборке с помощью Foreground Selection нужно предварительно очертить мышью выбираемый объект в окне программы. Указатель мыши будет выглядеть точно так же, как в инструменте Free Select - Свободное выделение. Щелкаем и обводим рукой контур вокруг нужного нам объекта - разрешается выходить за пределы окна изображения, чтобы руке было удобнее.

Уточнение выделения

По умолчанию кнопка смены выделения объекта/фона стоит в положении Mark Foreground - Выделение объекта, я не стал его менять.
Кисть не должна быть толще стебелька розы внизу изображения. Цвет кисти я выбрал зеленым, для большей наглядности следующего шага.
Теперь закрасим кистью розу вместе со стеблем.

Вторая попытка с Mark Background

Я не сумел захватить весь стебель розы! Однако я попробовал выбрать розу непосредственно с помощью Foreground Select, выделив фон инструментом Fuzzy Select. Во второй попытке после проведения Free Select (Свободной выборки) я включил выделение фона (Mark Background), потом закрашивал только белые участки.

Настройка чувствительности

Понятно, что результат обязан быть значительно лучше, поэтому я пробовал снова и снова, при помощи ручной выборки и выделения фона
(Mark Background). Затем я включил параметр Feather - Сглаживание - и сдвинул все три ползунка регулировки чувствительности (Sensitivity) до отказа вправо. Как видите, качество вырезки значительно повысилось, но можно улучшить и этот результат, сузив
выделение на 1-2 пикселя перед вырезанием и вставкой.

Результат для этого конкретного изображения нельзя признать хорошим. Быстрая и грубая работа с Foreground Select давала некачественное выделение, пока я не взялся за настройку чувствительности. Для такого простого случая Fuzzy Select следует признать более быстрым и точным средством.

Часть 2 - выделение изображения на сложном фоне

С простой задачей Fuzzy Select справился лучше. Теперь посмотрим, кто победит при работе с более сложным изображением.

Берем Quick Mask

Картинка здесь посложнее, зато мячи проще вырезать. На успех Fuzzy Select рассчитывать не приходится: мячи лежат чересчур близко друг к другу. Вдобавок они не очень-то отличаются по цвету от фона и от ракетки. Вероятно, Quick Mask из набора инструментов версии 2.2 будет лучшим выбором.

Закрашиваем вырезку

Нажмите кнопку Quick Mask. Ваше изображение примет красный оттенок, кнопка тоже покраснеет. Красное пространство в выделение не попадет. Перекрасьте кистью (Paintbrush) участок, который хотите выделить, предварительно сделав цвет краски (Foreground) белым - нажмите [D] (цвета по умолчанию) и [X] (инвертировать цвета).

Вставляем в другой слой

Оценим выделение, скопировав объект и вставив его в новый слой. На контрастном черном фоне виднее контур мяча. Для редактирования выделения вернем маску на место (Layer > Alpha To Selection - Слой > Прозрачность в выделение), возвратимся в первоначальный слой, включим Quick Mask и закрасим заново.

Проба SIOX

Foreground Select в Gimp 2.4 работает немного лучше, но постоянно прихватывает лишние участки. Рисунок запечатлел четыре разные попытки работы с этим инструментом. В последней из них удалось показать ворс на мячике - для Quick Mask подобное почти невозможно.

Играем с картинками

Перебрав еще несколько изображений, я нашел то, в котором, на мой взгляд, Foreground Select проявил себя очень неплохо. Однако разработчики SIOX говорят, что при работе в режиме Mark Foreground, нежелательно, чтобы пиксели фона и вырезки имели сходные цвета.
В случае выделения кофе в чашке могут возникнуть проблемы.

Выделение фона

Как обычно, выбираемый объект очерчивается по контуру от руки. Я провел черту, начав ее вне окна изображения, снизу вправо, и вывел ее снова в окно справа наверху. Затем я закрасил чашку широкой кистью со сглаживающим фактором четыре. В вырезку попал только
маленький кусочек фона, слева внизу.

Уточнение выделения

Включите выделение фона (Mark Background) и закрасьте нежелательные участки фона для их удаления. Quick Mask могла бы сгладить ободок чашки так же быстро.

Подведем итоги

Итак, что же дает сравнение двух средств, старого и нового? В нынешнем виде Foreground Selection не особо упрощает задачу извлечения объекта из изображения, по сравнению с существующими инструментами. С другой стороны, изображения бывают разные, и иметь несколько инструментов для разных задач отнюдь не повредит.

Поймите меня правильно, я не отрицаю, что Foreground Select имеет значительный потенциал. Обратите внимание, что в случае с изображением чашки кофе (там, где программа смогла блеснуть способностями) я сделал вырезку меньше чем за минуту. Но отнюдь не очевидно, где почва для наилучшего применения программы. Инструмент может делать хотя и не идеальную, но очень хорошую выборку. Весьма способствует результату работа над параметрами. И не забудьте, что ко времени официального выхода версии 2.4 инструмент Foreground Selection может реально измениться (я пользовался версией Gimp 2.3.4 для разработчиков) - не спешите соглашаться с моей критикой.

Делаем клипарт из изображения
Материал подготовлен для сайта "Солнушки"

Предлагаю еще один вариант отделения изображения, может быть не самый легкий, но тем не менее действенный.
Выбираем исходное изображение.

Выбираем инструмент лассо
Аккуратно обводим изображение по краю, можно обводить не очень точно, потом все неточности поправим.

Включаем быструю маску (Shift+Q). Увеличиваем изображение до комфортного глазу и удобного руке.

Выбираем кисть, не очень широкую, чтобы можно было пройти по всем "уголкам" по краю изображения. Закрашиваем все оставшееся пространство фона четко по краю предмета. Чем четче обведен контур, тем будет красивее. Это работа самая нудная и кропотливая.

Выключаем быструю маску, если где-то бегают муравьи вне контура, возвращаемся к маске и закрашиваем те участки.Инвертируем (выделение-инвертировать)
Теперь если Вам нужен предмет на прозрачном фоне выполните Добавление альфа-канал(Слой -> Прозрачность -> Добавить альфа-канал), а если нужен белый фон пропустите это действие.
Жмем delete. Должен остаться предмет отделенный от фона.

ИЛИ

Растушевываем. (Выделение->Растушевать) Задаем значение диаметра "размывки". По умолчанию 5пк.Растушовывание сделает границы нечеткими, что позволит ему лучьше вписаться в будущий коллаж.
Автокадрируем результат (Изображение->Автокадрировать изобраажение), чтобы убрть лишний фон. Сохраняем результат.