LINUX.ORG.RU

Конвеерная обработка фотографий

 ,


0

3

На диске накопилось тыщи фотографий большого исходного размера, например, 3072 x 2304 px.

Они занимают много места, в тоже время не всегда нужная такая большая разрешающая способность, потому хочется их сжать до более компактного размера, например, до 1024 x 768 и т.п.

Вручную обработать в GIMP такое огромное количество фотографий нереально.

Есть ли способ обработки всех фотографий в папке конвеерно?
Например, скриптом в бешике, который запускает какую-то утилиту для сжатия.

★★★★★

Да, вообще существует огромное количество программ для массовой обработки изображений.
Я как-то выбирал из них что-то юзабельное. Все они оказались говном, но большая часть работала.
Если тебе не нужно ничего необычного сверх обычного ресайза, то вероятно справится даже та хрень с помощью которой ты эти фотки просматриваешь.

Usruser
()
Последнее исправление: Usruser (всего исправлений: 1)

Рекомендую ImageMagick, утилита convert, в частности

Sahas ★★★★☆
()

Хватит просто скрипта с перебором всех файлов и вызова imagemagic, одна строка.

Zhbert ★★★★★
()

Во сколько плюшек есть, оказывается! :-) Хотя не ожидал, что хоть одна найдется.

Что же из них наиболее подходящее, как по вашему?

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

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)

Сижу чешу репу. Я то 50мп равы храню.

Удивительно прям. (профдеформация, да)

dk__
()
for C in $(ls *.jpg)
do
    ffmpeg -i $C -vf "scale=1024x768" ./out/$C
done
Silver_Cat
()
Ответ на: комментарий от caoutchouckcha

Про ^конкретное^ использование parallel так ничего и не понял, ну и фиг с ним.

Важнее другое. Например, guetzli оказался невероятно прожорливым и медленным -
читайте _https://webformyself.com/szhatie-jpeg-s-pomoshhyu-guetzli/

К тому же мне не нужно сохранять исходные размеры, а уменьшать их.

Потому испробовал предложенную caoutchouckcha команду

find . -name '*.jpg' -exec mogrify -resize 1024x768\> {} \;
для обработки 86 фотографий 3072 x 2304, размерами 1.5...1.8 MB и общим объемом 149 MB.

Обработка заняла всего 17 секунд, общий объем уменьшился до 19 MB, т.е. в 8 раз.

Полученные результаты даже без параллельной обработки меня более чем устроили.

Единственное, пропорции исходных и полученных фотографий одинаковы - 1.3333, так что пропорции не нарушаются.
Но если они будут разные, то наверное, они нарушатся?

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

Upd. Про «for C ...done» прочел только что, чем оно лучше?

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)
Ответ на: комментарий от chukcha

Но если они будут разные, то наверное, они нарушатся?

Нет.

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

https://imagemagick.org/script/mogrify.php

https://imagemagick.org/script/command-line-processing.php

caoutchouckcha
()
Ответ на: комментарий от caoutchouckcha

caoutchouckcha
Спасибо, все получилось! Фотки теперь сжимаются просто на ура :-)

chukcha ★★★★★
() автор топика

1000 фото 3072 x 2304 px ?

купите хранилище, сударь

DILIN ★★★★★
()

imagemagic

$ cd $

$ for i in `ls`; do convert -resize '1920' -quality 65 $i $i; done
amd_amd ★★★★★
()
26 декабря 2023 г.
Ответ на: комментарий от chukcha

До сих пор пользуюсь этим замечательным скриптом, спасибо автору -

find . -name '*.jpg' -exec mogrify -resize 1024x768\> {} \;
Но сколько не изучал доки, не понял назначение в конце строки 2-х символов -
\>
Какую роль они выполняют?
Потому что скрипт работает как с ними, так и без них.

chukcha ★★★★★
() автор топика

большого исходного размера, например, 3072 x 2304 px

Ты путаешь разрешение и вес, даже такое разрешение может весить немного, если хоть что-то понимаешь в форматах и тонкостях конвертирования

neocrust ★★★★★
()
Ответ на: комментарий от chukcha

Кто они?

Не знаю как другие, а я иногда печать фотографий заказываю.

grem ★★★★★
()
Ответ на: комментарий от chukcha

спасибо автору

Ой как мы заговорили, а в других тредах ты меня говном поливал.

Но сколько не изучал доки, не понял назначение в конце строки 2-х символов

Плохо читал. Ссылки скинул тебе в этом же треде выше, там все описано.

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

anonymous
()

Кощунство какое, аж передернуло.

pekmop1024 ★★★★★
()
Ответ на: комментарий от anonymous

Ой как мы заговорили, а в других тредах ты меня говном поливал.

Я зря людей не обижаю, а если было такое, то значит, было за что.

И вообще, вылазь из анонимусов как все нормальные люди, а то вас таких развелось тут, что не поймешь, с кем общаюсь.

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 1)

Видео не забудь пережать до 240p и музыку – в mp3 64 kbps. Кучу места освободишь.

Tigger ★★★★★
()
Ответ на: комментарий от Tigger

Облизательно! :=)

Но насчет 2-х символов вы все слабаки - тыкаете в доки и усё.
Так я и сам умею, а вот объяснить по-русски без выпендрежа - вам слабо.

chukcha ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.