У меня есть два JPG, один big.jpg и другой small.jpg .
Я хочу извлечь регион region.jpg из big.jpg того же размера, что и small.jpg и объединить region.jpg и small.jpg в result.jpg . result.jpg равен small.jpg , за исключением границы в 16 пикселей, где он становится все более похожим на region.jpg .
Используя ImageMagick, я сделал это в два этапа, сначала сделав полупрозрачный PNG:
convert -compress None small.jpg -channel A -virtual-pixel transparent -morphology Distance Euclidean:4,16! semitransparent.png
convert -compress None big.jpg -crop wxh+x+y semitransparent.png -composite result.jpg
Есть ли способ сделать это за один шаг, не генерируя промежуточный PNG? Я попробовал это:
convert -compress None big.jpg -crop wxh+x+y small.jpg -channel A -virtual-pixel transparent -morphology Distance Euclidean:4,16! -composite result.jpg
Но это не совсем то же самое: полупрозрачный слой не становится действительно прозрачным по краю.
Я новичок в ImageMagick (что за сложная часть программного обеспечения!), Любые предложения будут оценены.
РЕДАКТИРОВАТЬ
Я добавляю файлы big.jpg и small.jpg для игры вместе с result.jpg который выходит из двухстрочного решения, и result2.jpg который выходит из oneliner. -crop я использовал 200x160+160+80




