Масове перетворення зображень з одного формату в інший?


44

Я хочу конвертувати партію зображень, майже 100, з формату jpg у формат png. Як я можу це зробити, не перейменуючи їх, а замість того, щоб фактично перетворити формат?


Використовуйте convertкоманду. Насправді ні. Але ви захочете перейменувати їх з щось.jpg в щось.png.
Джос

1
@jos, з вашого коментаря я не розумію, що мені робити !!
opu 웃

Я не закінчив редагування ;-) Спочатку скористайтеся convertкомандою для одного файлу .jpg і подивіться, чи працює він. Потім напишіть сценарій, який перетинає файли .jpg та перетворює їх у .png файли.
Джос

Ви не згадали, як я можу використовувати convertкоманду для одного файлу .jpg. І я не знаю, як написати сценарій, який перетинає файли .jpg.
opu 웃

Відповіді:


63

Спробуйте ці команди,

mogrify -format png /path/*.jpg    

Це перетворить усі .jpg-файли в .png-файли та збереже перетворені файли в одному каталозі.

mv /path/*.png ~/Desktop/pic

Це перемістить усі .pngфайли (перетворені) в picкаталог, який знаходиться на робочому столі.


Чи потрібно змінити каталог?
opu 웃

1
/path/*.jpgпредставляє каталог, де зберігаються .jpg файли.
Avinash Raj

Я також спробував цю команду після зміни каталогу: mogrify -format png .jpgЦе також добре працює.
opu 웃

Відповідь нижче є кращою , оскільки вона враховує обмеження, встановлені на ARGV.
Еван Керролл

Тут є чудовий посібник: algissalys.com/how-to/… Також охоплює зміну розміру зображення, що корисно, тобто. додавши -розмір 800x змін найдовшої сторони до 800 :)
Craig Lambie

41

Використання ImageMagick .

Спочатку встановіть imagemagick:

sudo apt-get install imagemagick

Спробуйте спочатку перетворити лише одне зображення:

convert image.jpg image.png

Тепер конвертуйте всі:

mogrify -format png *.jpg

EDIT

Вам також потрібно розділити його на шматки, які підходять, щоб уникнути межі кількості, яку ви можете поставити в командному рядку. Це має працювати краще:

find -name '*.jpg' -print0 | xargs -0 -r mogrify -format png

-print0І -0використовуються для обробки прогалин в іменах файлів і -rкошти не працюють mogrify , якщо немає нічого , щоб зробити.

Джерело: https://stackoverflow.com/questions/1010261/running-a-batch-with-imagemagick

EDIT 2 Перемкнено png та jpg відповідно до коментаря @ Glutanimate.

EDIT 3 Змінено png в jpg в останній пропозиції.


Один образ успішно перетворений. Але коли я використав команду для перетворення всіх її показів mogrify.im6: unable to open image ``*.png': No such file or directory @ error/blob.c/OpenBlob/2638.``mogrify.im6: unable to open file ``*.png' @ error/png.c/ReadPNGImage/3667.
opu 웃

Вам доведеться спочатку cdдо цього каталогу. Якщо вони є на робочому столі, запустіть cd ~/Desktopспочатку, а потім спробуйте перетворити ще раз.
Парто

Я змінив каталог
opu 웃

@Parto Я думаю, що так і має бути mogrify -format png *.jpg. ОП запитує про перетворення jpg → png.
Glutanimate

не працював для мене з 14.04 @Parto
talha06

0

Я знаю, що минуло давно, як це питання було поставлено, але є одна блискуча частина програмного забезпечення, про яку не згадувалося, що я багато використовував.

http://photobatch.wikidot.com/ також відомий як Phatch. Він буквально перетворює все, що завгодно, з будь-чого іншого на графічне зображення. Він не оновлювався деякий час, але зараз заявляє, що буде випущений для ubuntu 17.10. Спробувати. Впевнений, ви будете дуже задоволені цим.


2
Спробувавши отримати це програмне забезпечення, у вищезазначеному посиланні відсутня посилання "завантаження" на файл deb, і версія "store" Ubuntu дала мені цю помилку: Детальні помилки менеджера пакунків слідують: apt транзакції повернув результат виходу з ладу Ubuntu v 18.10 можливо? У всякому разі - мій досвід.
Крейг Ламбі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.