Как сделать четырехточечное искажение с помощью Imagemagick - PullRequest
0 голосов
/ 23 мая 2018

Я хочу разместить логотип на изображении.У меня есть 4 (х, у) координаты.Логотип следует размещать между этой областью только с некоторым перекосом, как указано ниже.

enter image description here

1 Ответ

0 голосов
/ 23 мая 2018

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

Тем не менее я обрезал два изображения как:

enter image description here

enter image description here

Затем я измерил угловые координаты изображения G по часовой стрелке от верхнего левого угла.

Затем я измерил координаты цветного круга в похожем порядке (зеленый, красный, розовый, синий).

Затем я сделал перспективу + искажение и скомпоновал два изображения.Последовательность координат: inx1, iny1 outx1, outy1 .... inx4, iny4 outx4, outy4, где G-образ - входной, а образ сумки - выходной.

Вот команда в unixСинтаксис ImageMagick 6.Для Windows удалите \ s.Для ImageMagick 7 используйте «магию» вместо «конвертировать»

convert bag.png \( G.png -virtual-pixel none +distort perspective "0,0 75,280  116,0 155,311  116,119 141,367  0,119 64,329" \) -layers flatten +repage result.png

enter image description here

Ссылка: http://www.imagemagick.org/Usage/distorts/#perspective

РЕДАКТИРОВАТЬ:

Если вы сделаете белый фон изображения G прозрачным, он будет выглядеть лучше.

convert bag.png \( G.png -fuzz 15% -transparent white -virtual-pixel none +distort perspective "0,0 75,280  116,0 155,311  116,119 141,367  0,119 64,329" \) -layers flatten +repage result2.png

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...