Объедините два непрозрачных изображения, чтобы получить прозрачное

Мне нужно извлечь изображение из PDF.

Но поскольку его фон прозрачен, он сохраняется с мягкой маской для создания прозрачности.

Хотя я могу извлечь два непрозрачных изображения ниже, я понятия не имею, есть ли способ воссоздать исходное изображение в Java. Могу ли я использовать JAI?

Ниже представлено "основное" изображение:

IMG.jpg

и здесь есть соответствующая мягкая маска:

mask.jpg

Я попытался с ImageMagick с командой:

convert mask.jpg -background Black -alpha shape copy.png

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

1 ответ

Я думаю, что вы, вероятно, хотите что-то подобное, но это трудно сказать, так как вы не показываете свой ожидаемый результат:

convert -fuzz 20% main.jpg -transparent black   \
     mask.jpg -compose copy-opacity -composite  \
     result.png

-fuzz позволяет почти черные пиксели в main.jpg стать прозрачным. Затем изображение маски загружается, а его непрозрачность копируется в основное изображение.

Другие вопросы по тегам