Я ищу деформацию перспективы, которая способна искажать изображение в одном направлении, т.е. постепенно изменять масштаб и положение объектов на изображении по вертикали, сохраняя при этом их горизонтальный масштаб и положение.
«Деформация перспективы» в Photoshop и аналогичные инструменты в After Effects, такие как «угловая булавка», всегда перемещают объекты как по вертикали, так и по горизонтали.
Вот пример того, чего я хочу достичь:
Обратите внимание, что вертикальные линии сетки не перемещаются в желаемом результате.
Есть ли способ добиться этого в таких инструментах, как Photoshop, Illustrator, After Effects или Gimp?
Я должен уточнить, что мой пример не является конкретно тем, чего я хочу добиться, а просто демонстрационным изображением. Я хочу иметь возможность делать это с любым изображением, не получая «смещения», которое приносит обычная перспективная деформация.
Я предполагаю, что вы хотите, чтобы он работал с любым изображением, а не только с прямоугольными прямоугольниками. Искажение, которое вы хотите, не является перспективным, вам нужно масштабирование Y, которое линейно зависит от X. Некоторые программы позволяют это без каких-либо плагинов или написания скрипта. Тот, который я знаю, это Affinity Photo. Там вы можете использовать искажение с уравнениями - вы пишете формулу для координат, откуда в исходном изображении берется пиксель (x, y) в искаженное изображение.
Это мой оригинал:
Это 1100 пикселей в ширину и 400 пикселей в высоту. Я поместил его так, чтобы он начинался с x=0, y=0 (это верхний левый угол), чтобы иметь простые формулы без смещений.
Один пример искажения:
пиксель (x, y) берется из исходных координат изображения
(х, у/(1-х/2200))
Пример 2:
пиксель (x, y) берется из исходных координат изображения
(х, у/(1+х/1100))
Показанные формулы довольно просты, но Photoshop и GIMP не имеют возможности использовать их без плагинов или скриптов. К сожалению, я не программист, но кто-то наверняка знает, как их запрограммировать в виде скрипта.
Использование дополнения "Пакет фильтров G'MIC"
G'MIC доступен для GIMP, Photoshop, Krita и Paint.NET. Он имеет отображение изображения с математическими формулами, по крайней мере, в фильтрах категории деформации. Есть «Декартово преобразование» и «Конформное отображение». Первый использует формулы x и y. Последний опирается на комплексные числа, поэтому искомая функция, по крайней мере, нуждается в некоторой не столь очевидной математике. По крайней мере, название «Конформный» намекает, что оно не предназначено для получения желаемых результатов - конформный означает сохранение углов, по крайней мере, локально. Отметьте это, если вы знакомы с математическими функциями https://gmic.eu/reference/mathematical_expressions.html#top
Пользователи версии G'MIC для командной строки со знаниями в области математики и программирования могут легко понять, как их эффективно использовать. Я пропускаю дальнейшие догадки.
Пара тестов показала, что декартово преобразование может делать то же самое, что и искажение Affinity Photo с уравнениями. Пример:
Точка (x,y) на искаженном изображении берется из (x, y(1-x/(2w)). Параметры w и h представляют ширину и высоту изображения в пикселях.
Можно использовать Envelope Distortion в Illustrator с сеткой 1x1. Идею в общем виде уже высказал пользователь Джулиан Штейнман. Но я хочу добавить, что Envelope Distortion также работает с векторными и растровыми изображениями.
Как уже говорилось, может быть утомительно делать это правильно, даже с сеткой 1x1. Но вы можете устранить искажение оболочки и использовать ту же сетку для других изображений, применив «Искажение оболочки» > «Создать с верхним объектом». Сетку можно растянуть до нового размера для нового изображения, и она все еще работает.
Разделите вертикали.
То, что вам нужно, не является перспективой. В реальной перспективе то, что ближе к зрителю, удлиняется, увеличивается по мере удаления. То, что вы показали как «желаемое», на самом деле противоположно этому .
С помощью иллюстратора ..
Pathfinder > Divide
для создания отдельных ящиковЯ бы никогда не сделал это с Photoshop. Photoshop просто не предназначен для таких операций с контурами. Я могу это сделать, но в Photoshop нет Pathfinder, поэтому потребуется много ручных изменений контура. Вы всегда можете сделать это с помощью Illustrator, а затем скопировать/вставить в Photoshop как смарт-объект или слой Shape.
Для Gimp есть ofn-trapeze-transform
скрипт/плагин. Проверка после установки. Filters > Distorts
Плагин работает довольно медленно, так как обрабатывает строку пикселей изображения за строкой пикселей.
Обратите внимание, что то, что вы хотите, искажает прямые линии:
На самом деле этот плагин был написан, чтобы продемонстрировать все плохие побочные эффекты такого преобразования :)
Вы можете сделать это с помощью преобразования «деформация».
Очень неудобно это делать, но я уверен, что другого пути нет....
Вам нужно будет установить сетку по умолчанию, чтобы у вас было меньше точек для перемещения (довольно новая функция для изменения сетки может отсутствовать, если версия не актуальна)
Тецуджин
Увеличить
Вольф
джуджа
Скотт
:)