Как уменьшить размеры файла изображения без потери информации? Я использую операционную систему Linux

Как уменьшить размеры файла изображения без потери информации? Я использую операционную систему Linux

Я хотел бы изменить размер изображения (например, формата png) с помощью convert. Сложность в том, что я хочу сохранить качество изображения, когда я изменяю размер изображения обратно до исходных размеров.

Например,

convert -resize 50% original.png smaller.png
convert -resize 200% smaller.png backtooriginal.png

backtooriginal.png имеет пониженное качество по сравнению с original.png, и я хотел бы избежать этого. Если бы это было одно изображение, я мог бы использовать инструменты типа gimp. Но мне нужно автоматизировать это.

Спасибо!

решение1

"Если бы это было одно изображение, я мог бы использовать инструменты типа gimp" - Как вы можете сделать это даже в GIMP? Если вы измените размер до 50% от исходного размера, вы потеряете данные. Раздувание/масштабирование растрового изображения до исходного размера только дублирует пиксели, это не волшебным образом вернет потерянные данные. PNG, будучи форматом без потерь, не поможет в этом случае.

Насколько мне известно, единственный возможный способ сделать это — использовать векторный формат изображения, поддерживаемый ImageMagick, например MVG или SVG.

Примечание: Вы всегда можетепытаться преобразование растровых изображений в векторныесначала перед изменением размера, но я сомневаюсь, что результаты будут столь уж удовлетворительными.

Связанный контент