Как найти изображение с наибольшей шириной в группе изображений?

Как найти изображение с наибольшей шириной в группе изображений?

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

решение1

Эта команда (определена из ImageMagick) выводит изображение с наибольшей шириной:

identify -format "%w %h %f\n" *.png | sort -n -r -k 1  | head -n 1

-формат "%w %h %f = ширина, высота, имя файла

Результат: wh image.png

Источник: Найти самые большие размеры изображения в папке: https://unix.stackexchange.com/questions/155544/найти-самые-большие-размеры-изображения-в-папке

Если ваши изображения находятся не в одной папке, откройте терминал и запустите этот скрипт из папки, содержащей подкаталоги.

find . -iname "*.png" -type f -exec identify -format "%w %h %f\n" '{}' \;      | sort -n -r -k 1 | head -n 1

Примечание: Если у вас есть более одного изображения с одинаковой шириной, будет показан только один результат. Чтобы получить список всех изображений, отсортированных по ширине, удалите head -n 1 из команды precernt.

решение2

Эта команда выполнит поиск ширины изображения в текущем каталоге.

Прежде чем устанавливать imageinfo, выполните следующие действия:

sudo apt install imageinfo

Затем введите эту команду

find . -maxdepth 1 -type f -iregex ".*/.*\.\(jpg\|jpeg\|png\|tiff\|bmp\svg\)" \
    -exec bash -c "echo -ne {}'  '; imageinfo --width {}; echo " \;\
    | sort -k2 -n

Если вам нужен только самый большой, добавьте вертикальную черту к команде выше.

... | tail -n 1

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