масштаб с учетом содержимого в фотошопе на английском
Изменение размеров части изображения масштабированием «с учетом содержимого»
Совмещение горизонтальных размеров
Создайте новый документ с размерами 8 на 10 дюймов и разрешением 240 пикселей на дюйм. Откройте цифровое изображение, сделанное камерой. По линейному размеру в пикселях это изображение меньше, чем документ 8 на 10 дюймов.
Активируйте инструмент «Перемещение» (Move Tool) перетащите сделанное камерой изображение в новый документ, затем нажмите комбинацию Ctrl+T, для активации команды «Свободное трансформирование» (Free Transform) (если не видны все управляющие размерами рамки маркеры, нажмите комбинацию клавиш Ctrl+0 (ноль)).
Нажмите и удерживайте клавишу Shift (для сохранения пропорций), затем захватите любой угловой маркер и перетащите наружу, чтобы увеличить изображение с тем, чтобы оно вписалось в область 8×10″ по горизонтали:
Для начала, совмещаем размеры изображений по горизонтали
Нажмите клавишу Enter, чтобы применить результаты трансформирования.
Мы видим, что при одинаковой ширине, высота снимка меньше, чем у документа, поэтому у нас имеется белое пространство над и под снимком. Если вы хотите, чтобы это пространство заполнилось, то можно снова использовать команду «Свободное трансформирование» (Free Transform), растянув изображение, но при этом получили бы растянутые по вертикали автомобиль и самолет.
Применение инструмента
Захватите верхний маркер габаритной рамки и перетащите его вертикально вверх,при этом удостоверьтесь, что он растягивает вверх небо, но оставляет автомобиль и самолет практически нетронутыми. Захватите нижний маркер габаритной рамки, перетащите его вниз, он должен растянуть только бетонную полосу, не затронув предметы в центре. Перетащив маркеры до верхней и нижней границ документа:
Нажмите клавишу Enter.
Примечание: В панели параметров инструмента «Масштаб с учетом содержимого» имеется кнопка, похожая на человеческую фигуру. Она указывает инструменты, что в снимке есть люди, и инструмент пытается избегать растягивать какие-либо объекты, имеющие тона человеческой кожи.
Кстати, масштабирование с учётом содержимого действует не только на увеличение изображения, но и на уменьшение. Вы можете таким же образом сжать картинку без искажений главных объектов:
Полезности для работы с инструментом
1. Защита определённой области изображения от масштабирования
Есть еще пара приемов для, работы с этим этого инструментом, о которых следует знать. Во-первых, если вы применяете команду «Масштаб с учетом содержимого» и она всё-таки растягивает главный объект больше, чем вы того хотите, надо применить одну хитрость. Отмените инструмент, нажав Esc. Активируйте наиболее подходящий в вашем случае инструмент выделения, например Прямолинейное лассо (Polygonal Lasso Tool) и создайте контур выделения вокруг объекта (ов):
Этим я укажу Photoshop, где находится главный объект. Теперь можно перетащить вверх или вниз маркеры рамки и заполнить пустое пространство с наименьшим возможным растягиванием.
Степень защиты от масштабирования
В панели параметров инструмента имеется также управляющий элемент «Количество» (Amount), который определяет, какая степень защиты предоставляется от растягивания. По умолчанию это 100 % – максимально возможная степень защиты. При 50 % это компромисс между защитой от изменения размеров и обычным свободным трансформированием, и для некоторых снимков это работает лучше всего.
Достоинством опции «Количество» является его интерактивность: пока элементы управления размерами находятся еще на месте, можно уменьшить значение опции и увидеть на экране отображение в реальном времени того, как изменение «Количества» изменяет размеры главного объекта.
Изменение размера изображения с учётом содержимого
Изменение размера изображения с учётом содержимого (Content Aware Image Resize), жидкое растяжение (liquid resizing), ретаргетинг (retargeting) или вырезание шва (seam carving) относятся к методу изменения размера изображения, где можно вставлять или удалять швы, или наименее важные пути, для уменьшения или наращивания изображения. Об этой идее я узнал из ролика на YouTube, от Shai Avidan и Ariel Shamir.
В этой статье будет рассмотрена простая пробная реализация идеи изменения размера изображения с учётом содержимого, естественно на языке Rust.
Создаём макет согласно нисходящему подходу
Давайте начнем мозговой штурм. Думаю, наша библиотека может использоваться так:
Самые важные функции в lib.rs могли бы быть такими:
Это дает нам некоторое представление о том, как подходить к написанию системы. Нам нужно загрузить картинку, найти эти швы или пути, и обработать удаление такого пути из изображения. Кроме того, нам бы хотелось увидеть результат. Давайте сначала загрузим наше изображение. Мы уже знаем какой API использовать.
image
Это элегантно? Нет. Это будет работать? Возможно.
После запуска, Image::gradient_magnitune берёт наше изображение птицы и возвращает это:
Путь наименьшего сопротивления
Теперь мы должны реализовать, пожалуй, самую сложную часть программы: DP — алгоритм поиска пути наименьшего сопротивления. Давайте глянем как это будет работать. Для простоты понимания, мы будем рассматривать только случай с поиском вертикального пути. Представьте, что в таблице ниже это градиент изображения 6х6 пикселей.
Суть алгоритма состоит в поиске пути от одной из верхних ячеек
в одну из нижних
так, чтобы минимизировать
. Это может быть сделано путем создания новой таблицы S используя следующее рекуррентное соотношение (без учета границы):
То есть, каждая ячейка в таблице S это минимальная сумма от текущей ячейки до самой нижней ячейки. Каждая ячейка выбирает одну из трех соседних ячеек, расположенных строкой ниже, с наименьшим весом – это и будет следующей ячейкой пути. Когда мы завершили заполнение таблицы S, мы просто выбираем наименьшее число в самой верхней строке в качестве начальной ячейки.
И вот оно! Мы видим, что есть путь, с суммой всех ячеек пути равной 8, и то, что этот путь начинается в верхнем правом углу. Для того, чтобы найти путь, мы могли бы запомнить, в какую сторону мы пошли для каждой ячейки (влево, вниз или вправо), но нам это не нужно: мы просто выберем соседа снизу с наименьшим весом, потому что значения веса клеток в таблице S указывают на кратчайший путь от текущей ячейки к самой нижней. Также обратите внимание, что есть два пути, которые в сумме дают 8 (у этих путей различаются две нижние ячейки).
Реализация
Так-как мы пишем лишь макет программы, дальше мы сделаем по-простому. Мы создадим структуру с нашей таблицей в виде массива и просто пройдемся по ней циклом for согласно алгоритму.
Эту картинку можно описать так: белые пиксели — это клетки, которые имеют наибольший вес. Градиент этих пикселей более детализирован, что говорит о высокой скорости изменений цвета (и именно эти участки картинки мы хотели бы сохранить).
Поскольку алгоритм поиска пути будет искать наименьшие веса, которые представлены здесь “более темными путями”, то алгоритм будет стараться избегать светлых пикселей. То есть белые участки картинки.
Поиск пути
Теперь, когда у нас есть вся таблица, поиск лучшего пути не составит труда: это — просто поиск из верхнего ряда и создания вектора индексов, всегда выбирая самого маленького по весу соседа из нижней строки:
Чтобы увидеть, что выбранные пути более-менее правдоподобны, я сгенерировал их
10 штук, и покрасил жёлтым:
По-моему, похоже на правду!
Удаление
Единственное, что осталось сейчас сделать — удалить пути, покрашенные жёлтым цветом. Так как мы просто хотим сделать что-то работающее, мы можем сделать это очень просто: возьмём сырые байты из нашей картинки, скопируем интервалы между индексами, которые мы хотим удалить, в новый массив и создадим из него новое изображение.
Наконец настало время. Теперь мы можем удалить строку из изображения, или вызвать в цикле эту функцию и удалить, скажем, 200 строк:
Однако, мы видим, что алгоритм удалил многовато с правой стороны изображения, хотя изображение более или менее уменьшено, это одна из проблем, которую надо устранить! Быстрое и немного грязное исправление, чтобы просто немного изменить градиент, путём явного задания границ на некоторое большое число, скажем 100.
Здесь немало косяков, что делает конечный результат немного менее удовлетворительным. Однако птичка почти не пострадала и великолепно выглядит (по-моему). Вы можете сказать, что мы уничтожили весь смысл композиции в процессе уменьшения изображения. На это я скажу… нуууу… так-то да.
Увижу — поверю
Сохранять изображения в файл и смотреть на них это прикольно, но это не супер-крутое-изменение-размера-изображения-в-реальном-времени! Наконец, попробуем собрать всё воедино.
Во-первых, нам необходима возможность загружать, получать и изменять размер изображения за пределами контейнера. Мы постараемся сделать что-то вроде нашего первоначального плана:
Мы начнем с простого, добавив самое необходимое и по возможности следуя коротким путем.
Просто немного копипасты!
Надеюсь, вам понравилось, хотя бы совсем немножко.
Примечание переводчика
Благодарю все сообщество русскоязычных растаманов ruRust.
Выражаю отдельную благодарность:
Удаляйте объекты с фотографий с помощью функции «Заливка с учетом содержимого»
Научитесь использовать рабочую среду «Заливка с учетом содержимого» для быстрой заливки выделенных фрагментов изображения содержимым, взятым из других областей
Рабочая среда «Заливка с учетом содержимого» обеспечивает возможность интерактивного редактирования для управления изображениями. Используйте динамический режим предварительного просмотра в высоком разрешении при уточнении области пробы, которую использует среда «Заливка с учетом содержимого», и настройке параметров для достижения превосходных результатов.
Прочитайте рассуждения Джулианны Кост об инновациях Photoshop в сфере создания выделений и улучшениях рабочей среды «Заливка с учетом содержимого»: Улучшения ИИ в Photoshop
Быстрое удаление объектов с помощью среды «Заливка с учетом содержимого»
Узнайте, как удалять объекты с помощью рабочей среды Заливка с учетом содержимого за четыре простых действия
Откройте рабочую среду Заливка с учетом содержимого
Уточнение выделенной области
С легкостью расширяйте края выделенной области вокруг объекта, выбрав инструмент Лассо на панели инструментов слева и нажав кнопку Расширить один или несколько раз на панели параметров вверху. Если вы слишком сильно расширили выделенную область, используйте кнопку Сжать или «Отменить», чтобы сузить края выделенной области.
Если результат вас устраивает, нажмите кнопку «OK»
Точная настройка областей пробы и заливки с помощью инструментов
Инструмент «Кисть для проб»
Рисуйте с помощью инструмента «Кисть для проб» в окне документа, чтобы добавить или удалить на изображении области пробы, используемые для заливки выделенной области.
Инструменты для уточнения выделенной области
Используйте инструмент «Лассо» или «Прямолинейное лассо», чтобы изменить исходную выделенную область (область заливки) в окне документов.
При изменении выделенной области область пробы сбрасывается, но предыдущие штрихи кистью сохраняются. Выделенная область обновляется в документе также при выходе из рабочей среды «Заливка с учетом содержимого» после подтверждения заливки.
Инструменты навигации
Чтобы изменить масштаб просмотра на панели «Просмотр», перетащите ползунок масштаба в нижней части панели или вручную введите процентное значение в текстовом поле.
Изменение настроек заливки с учетом содержимого
На панели Заливка с учетом содержимого можно изменить следующие настройки.
Наложение области пробы
Показать область пробы
Выберите этот параметр, чтобы отобразить в окне документов, как область пробы или исключенная область накладывается на изображение.
Определяет степень непрозрачности наложения в окне документов. Чтобы изменить степень непрозрачности, перетащите ползунок или введите нужное значение в процентах в текстовом поле.
Позволяет применить цвет к наложению в окне документов. Щелкните поле выбора цвета и укажите нужный цвет на палитре цветов Adobe.
Параметры области пробы
Определяйте область пробы в изображении, где Photoshop должен искать исходные пиксели для содержимого заливки.
Выберите этот параметр, чтобы использовать содержимое, похожее на содержимое окружающей области заливки.
Выберите этот параметр, чтобы использовать прямоугольную область вокруг области заливки.
Выберите этот параметр, чтобы вручную задать область пробы. Используйте инструмент «Кисть для проб» для добавления элементов в область проб.
Образец всех слоев
Выберите этот параметр для выбора исходных пикселей из всех видимых слоев документа.
Настройки заливки
Выберите этот параметр, чтобы разрешить изменение размера содержимого для лучшего соответствия. Он полезен при заливке содержимого с повторяющимися шаблонами разных размеров и с разными перспективами.
Выберите этот параметр, чтобы разрешить отражение содержимого по горизонтали для лучшего соответствия. Это полезно при обработке изображений с горизонтальной симметрией.
Параметры вывода
Предварительный просмотр изображений в полном разрешении на панели «Просмотр»
После точной настройки областей пробы и заливки, а также параметров заливки на панели Просмотр отобразится изображение со всеми изменениями в полном разрешении.
Сначала Photoshop обрабатывает изменения и создает на панели «Просмотр» предварительную версию изображения в низком разрешении. Сразу после этого создается версия в полном разрешении. В процессе ее создания рядом с вращающимся элементом в правом нижнем углу панели «Просмотр» может появиться значок предупреждения.
Применение нескольких изменений заливки
Добавлено в выпуске Photoshop 21.1 (февраль 2020 г.)
Можно заполнить несколько фрагментов изображения, не выходя из рабочего пространства «Заливка с учетом содержания изображения». Получив желаемый результат на выделенной области изображения, выполните перечисленные ниже действия.
Подтверждение или отмена изменений при заливке
Сброс всех параметров заливки
50 горячих клавиш Photoshop, которые облегчат вам жизнь
Тянетесь мышкой к панели инструментов? Распечатайте подборку и выучите — горячие клавиши Photoshop должен знать каждый дизайнер.
Горячие клавиши в Photoshop помогают быстро переключаться между инструментами. На то, чтобы найти инструмент в программе с помощью мыши, уходит гораздо больше времени, чем на нажатие определенных клавиш.
Стандартные операции
В блоке типичных операций Photoshop мало чем отличается от других программ.
Control/Command + N — Создать новый файл.
Control/Command + O — Открыть файл.
Control/Command + S — Сохранить файл в формате PSD.
Shift + Control/Command + S — Сохранить файл как…
Control/Command + Z — Отмена последнего действия.
В случае с Control/Command + Z стоит отметить, что в версии 2019 года Control/Command + Z возвращает на шаг назад в истории.
Часто используемые инструменты
V — Перемещение/Move Tool.
M — Прямоугольная область/Rectangular Marquee Tool.
L — Лассо/Lasso Tool.
I — Пипетка/Eyedropper Tool.
B — Кисть/Brush Tool.
E — Ластик/Eraser Tool.
T — Текст/Horizontal Type Tool.
H — Рука/Hand Tool (то же действие выполняет зажатая клавиша Пробел).
Работа со слоями
Shift + Control/Command + N — Создание нового слоя.
Control/Command + J — Создание слоя с помощью копирования.
Shift + Control/Command + J — Создание слоя с помощью вырезания.
Control/Command + E — Объединение текущего слоя с нижним слоем.
Shift + Control/Command + E — Объединение всех видимых слоев.
Control/Command + ] — Поднятие выбранного слоя на один уровень.
Control/Command + [ — Перемещение выбранного слоя на один уровень ниже.
Shift + Control/Command + ] — Перемещение выбранного слоя на самый верх.
Shift + Control/Command + [ — Перемещение выбранного слоя в самый конец файла.
Работа с масштабом изображения
Control/Command + Alt + 0 — Просмотр изображения в масштабе 100%.
Control/Command + 0 — Настройка изображения под масштаб экрана.
Control/Command + «+» — Увеличение масштаба изображения.
Control/Command + «–» — Уменьшение масштаба изображения.
Работа с выделением
Control/Command + D — Сбросить выделение.
Shift + Control/Command + D — Вернуть выделение.
Shift + Control/Command + I — Инвертировать выделение.
Control/Command + Alt + A — Выбрать все слои.
Alt + «.» — Выбрать верхний слой.
Alt + «,» — Выбрать нижний слой.
Работа с текстом
Shift + Control/Command + C — Выравнивание текста по центру.
Shift + Control/Command + L — Выравнивание текста по левому краю.
Shift + Control/Command + R — Выравнивание текста по правому краю.
Shift + Control/Command + «>» — Увеличение размера текста.
Shift + Control/Command + « Alt/Opt + правая стрелка — Увеличение интервала между буквами.
Alt/Opt + левая стрелка — Уменьшение интервала между буквами.
Control/Command + H — Отображение выделения текстового фрагмента.
Коррекция изображений
В случае с корректирующими слоями горячие клавиши Photoshop применяются гораздо реже. Когда вызываете инструмент сочетанием клавиш, работаете непосредственно со слоем, а когда создаете отдельный корректирующий слой — изменения становятся обратимы, и в любой момент можно исправить изображение или отменить коррекцию.
Control/Command + L — Уровни.
Control/Command + M — Кривые.
Control/Command + B — Цветовой баланс.
Control/Command + U — Цветовой тон/Насыщенность.
Control/Command + Alt + I — Размер изображения.
Control/Command + T — Режим простого трансформирования.
Shift + Control/Command + U — Обесцветить слой или выделенную область.
Shift + Control/Command + L — Автотон.
Alt + Shift + Control/Command + L — Автоконтраст.
Shift + Control/Command + B — Автоматическая цветовая коррекция.
Control/Command + Alt + G — Создать или отменить обтравочную маску.
Можете посмотреть полный список клавиатурных сокращений на сайте Adobe.
Как назначить собственные горячие клавиши в Photoshop
Вы можете настроить свои сочетания клавиш в программе. Впервые Abode ввели эту функцию в версии CS, так что все современные версии Photoshop поддерживают эту настройку.
Чтобы попасть в раздел клавиатурных сокращений, нужно зайти во вкладку Редактирование/Edit и выбрать соответствующий раздел в конце списка. Откроется окно, в котором нужно выбрать, в какой из уже существующих наборов вы хотите внести изменения. Как только найдете в списке нужную функцию или инструмент, кликните и введите нужную команду. Не забудьте сохранить изменения.
Рассмотренные горячие клавиши Photoshop сильно облегчают работу в программе и ускоряют процесс, но важно понимать, что знание всех сочетаний не сделает из вас профессионала в дизайне, для этого требуется гораздо больше. Придется освоить законы дизайна, основы верстки, типографику, основы редактирования изображений и многое другое. Сделать это с максимальной эффективностью для себя можно с помощью курса «Веб-дизайн с 0 до PRO», опытных наставников и сокурсников.
Пишет про дизайн в Skillbox. Работает директором по маркетинговым коммуникациям, изучает рекламную графику и 3D.
Масштабирование с учётом содержимого
Иногда, вы фотографируете, предположим, птичку рядом с поилкой (см. фото ниже), а затем вы понимаете, что птичка находится дальше, чем вы думали, вы могли бы исправить это путём вырезания изображения птички и вклеивании её поближе, но тогда у вас встаёт вопрос совмещения птички с фоном. А с инструментом Масштабирование с учётом Содержимого (Content Aware Scale), вы можете избежать сложной работы и исправить ваше изображение за минуту.
Данный урок выполнен в программе Photoshop CS5, но он также подойдёт для версий CS4 и CS6, т.к. данный инструмент есть в обеих версиях, и действует он таким же образом.
Итоговый результат
Шаг 1
Как работает инструмент Масштабирование с учётом Содержимого (Content Aware Scale)?
Проще говоря, инструмент выбирает участки на изображении с низким разрешением, а затем автоматически их сжимает.
Давайте начнем с нескольких примеров, чтобы вы получили представление о возможностях данного инструмента.
В качестве примера, я использовал фотографию, выполненную Kyricom, она называется Колибри.
Это красивый фотоснимок, но что делать, если вы хотите, чтобы птичка была поближе к поилке?
Вы могли бы переместить птичку поближе за счёт создания новых слоёв, но тогда возник бы вопрос восстановления изображения. Давайте, используем инструментМасштабирование с учётом Содержимого (Content Aware Scale) и посмотрим, как данный инструмент справится с этой задачей.
Шаг 2
Вначале, откройте изображение в программе Photoshop, разблокируйте слой, а затем идём Редактирование – Масштабирование с учётом Содержимого (Edit > Content-Aware scale). Вы заметите, что по контуру изображения появятся 8 квадратиков, которые отмечены жёлтыми кружками на скриншоте ниже.
Шаг 3
Вы можете использовать эти опорные точки, чтобы уменьшить изображение в любом направлении. Что я делаю – это сжимаю изображение, во-первых, с правой стороны.
Шаг 4
Вы заметите, что расстояние между колибри и кувшином почти исчезло, и колибри зависла в воздухе очень близко к кувшину. При этом, ни изображение колибри, ни изображение кувшина не искажено.
Шаг 5
Давайте, проделаем то же самое с изображением, автором которого является MnMCarta:
Шаг 6
За одну минуту и наши игральные кости уже расположены рядом друг с другом, они даже находятся друг над другом. Кроме того, изображение масштабируется по горизонтали почти на 50%!
Шаг 7
Давайте, пойдём дальше и проделаем то же самое, но в вертикальном направлении.
Вы видите, что кости не повреждены, а мы избавились от лишнего черного пространства.
Итоговое изображение составляет 30 % от оригинального изображения без искажения игральных костей и кадрирования изображения.
Шаг 8
Давайте, перейдём к следующему примеру:
Фотография, которая была сделана фотографом Matka, называется ‘Два Стула’. Оригинал на скриншоте ниже:
Шаг 9
Вы подумаете, что инструмент Масштабирование с учётом Содержимого (Content Aware Scale) в очередной раз справится с задачей, но посмотрите, что произойдёт, если мы применим масштабирование слева:
Что здесь происходит?
Как объяснялось выше, программа Photoshop использует низкое разрешение на изображении и масштабирует их.
В данном примере, левый стул не распознаётся в качестве объекта с высоким разрешением.
Шаг 10
Как нам решить эту проблему?
Во-первых, нам нужно, чтобы программа Photoshop не применяла масштабирование к 2 стульям, нам необходимо использовать слой-маску.
Это не так сложно, как кажется.
Выделите 2 стула с помощью инструмента Лассо (lasso tool), убедитесь, что вы выбрали опцию Добавление к выделенной области (add to selection), таким образом, вы сможете выделить с помощью инструмента Лассо (lasso tool) несколько объектов.
Шаг 11
На скриншоте ниже, я создал выделение с помощью инструмента лассо, выделение выполнено тёмным цветом, по контуру выделения должны быть пунктирные линии.
Шаг 12
Щёлкните правой кнопкой мыши по выделенной области и в появившемся окне, выберите опцию Сохранить выделенную область (Save Selection). Я назвал этот слой ‘Стулья’.
Шаг 13
Далее, идём Редактирование – Масштабирование с учётом Содержимого (Edit > Content-Aware scale) и в верхней панели настроек, вы увидите окно выпадающего меню, в котором указано нет (none). В данном выпадающем меню, выберите слой ‘Стулья’, который вы сохранили.
Шаг 14
Теперь, вы можете приступить к масштабированию своего изображения с учётом содержимого, начиная с левой стороны изображения, получая хорошие результаты. Программа Photoshop сохраняет выделенные области, как они есть и применяет масштабирование ко всему, что окружает эти области.
Это был короткий урок, но я надеюсь, по крайне мере, что вы поняли, как работает данный инструмент и вы узнали что-то новое.