Для проекта я пытаюсь создать перспективное искажение изображения в соответствии с лицевым шаблоном корпуса DVD. Поэтому я хочу автоматизировать это с помощью ImageMagick (CLI), но мне трудно понять математические аспекты этого преобразования.
convert \
-verbose mw2.png \
-alpha set \
-virtual-pixel transparent \
-distort Perspective-Projection '0,0 0,0 0,0 0,0' \
box.png
Этот код представляет собой пустой набор координат, я внимательно прочитал документацию, но не могу понять, какой параметр представляет какую точку. Документация дает мне переменные и имена, где я понятия не имею, что они на самом деле значат (возможно, более полезно для математического вдохновителя). Поэтому, если кто-то может объяснить мне (визуально предпочтителен или дать ссылку на полезную информацию) по этому вопросу, потому что я понятия не имею, что я делаю. Просто играть с параметрами просто не подходит для этой работы, и мне нужно рассчитать эти очки.
Здесь вы найдете простое изображение того, чего я пытаюсь достичь (с помощью инструментов CLI):
Обновление:
convert \
-virtual-pixel transparent \
-size 159x92 \
-verbose \
cd_empty.png \
\(mw2.png -distort Perspective '7,40 4,30 4,124 4,123 85,122 100,123 85,2 100,30'\) \
-geometry +3+20 \
-composite cover-after.png
дает мне в качестве вывода:
cd_empty.png PNG 92x159 92x159+0+0 8-bit sRGB 16.1KB 0.000u 0:00.000
convert: unable to open image '(mw2.png': No such file or directory @ error/blob.c/OpenBlob/2641.
convert: unable to open file '(mw2.png' @ error/png.c/ReadPNGImage/3741.
convert: invalid argument for option Perspective : 'require at least 4 CPs' @ error/distort.c/GenerateCoefficients/807.
convert: no images defined 'cover-after.png' @ error/convert.c/ConvertImageCommand/3044.
Исправление Курта Пфайфла:
У команды есть синтаксическая ошибка, потому что она не окружает разделители \(
и \)
(как минимум одним) пробелом с каждой стороны, как того требует ImageMagick!
Поскольку ссылки на исходные изображения отсутствуют, я не могу проверить результат этой исправленной команды:
convert \
-virtual-pixel transparent \
-size 159x92 \
-verbose \
cd_empty.png \
\( \
mw2.png -distort Perspective '7,40 4,30 4,124 4,123 85,122 100,123 85,2 100,30' \
\) \
-geometry +3+20 \
-composite \
cover-after.png