Пакетная обработка изображений по условиям

Работа с различными видами графики, изображений, решение проблем

Модератор: Модераторы разделов

Аватара пользователя
yoricI
Сообщения: 2991
ОС: gentoo fluxbox

Пакетная обработка изображений по условиям

Сообщение yoricI »

Здра!
Подскажите пож-ста.
Есть каталог с фотками разного размера. Как лучше преобразовать их выборочно, в зависимости от разрешения?
То есть:
если размер ≥ xxx ; --resize yyy

Чем проверять, не выводить же mediainfo по каждому и сравнивать? Есть такие, которые содержат в себе это "ЕСЛИ", и сразу по условию отработают или пропустят?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21439
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Пакетная обработка изображений по условиям

Сообщение Bizdelnick »

yoricI писал:
22.03.2026 13:04
если размер ≥ xxx ; --resize yyy
Именно так, xxx≠yyy?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2991
ОС: gentoo fluxbox

Re: Пакетная обработка изображений по условиям

Сообщение yoricI »

Логично, пусть будет равно. Тогда:
если размер > xxx ; --resize xxx
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3179
ОС: Gentoo

Re: Пакетная обработка изображений по условиям

Сообщение ormorph »

Я не знаю таких готовых. Посмотрел этот, кода то этот скрипт использовался в качестве плагина spacefm, в параметрах передаётся список файлов для правки.Этот скрипт правит размер без проверки. А так всего за 5-10 минут можно написать такое на python+pillow.
Начало простое:

Shell

from PIL import Image
img = Image.open('изображение.jpg')
А дальше у созданного объекта img, есть параметры получения ширины и высоты, так же метод resize, который создаёт новый объект, такой же как и img, но с другим разрешением. А далее выполняется метод save в новом объекте, в котором в качестве параметра указывается новый файл...
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2991
ОС: gentoo fluxbox

Re: Пакетная обработка изображений по условиям

Сообщение yoricI »

Я уж лучше на шелле. Чтоб не преодолевать порог вхождения python
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21439
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Пакетная обработка изображений по условиям

Сообщение Bizdelnick »

yoricI писал:
23.03.2026 14:34
Логично, пусть будет равно. Тогда:
если размер > xxx ; --resize xxx
Это проще, например magick infile -resize xxx> outfile (то есть надо указать > после размера).
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2991
ОС: gentoo fluxbox

Re: Пакетная обработка изображений по условиям

Сообщение yoricI »

Спасибо, попробую. Хотя это не особо помогает, так как не решает проблему альбом/портрет.
Или можно в два прохода?
600x800>
800x600>
Не зацепит один другой?
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 3179
ОС: Gentoo

Re: Пакетная обработка изображений по условиям

Сообщение ormorph »

yoricI писал:
23.03.2026 17:27
Я уж лучше на шелле.
Получение размеров:

Shell

#!/bin/bash

size=( $(identify -format "%w %h" file.jpg) )

size_width=${size[0]}
size_height=${size[1]}

echo -e "size_width=$size_width\nsize_height=$size_height"
команда конвертирования:

Shell

$ magick file.jpg -resize 200x100! file_200x100.jpg
Если знаешь Bash, то остальное(подсчёты) дело техники.
Спасибо сказали: