Як сортувати зображення в папки, виходячи з роздільної здатності?


9

Фон: у мене папка, повна збережених зображень на робочому столі. Я хотів би помістити їх у папки, виходячи з їхньої роздільної здатності - 1024x768 і т. Д. Створення папок на льоту - це бонус. Наразі всі зображення знаходяться у папці, але деякі з них знаходяться у підпапках. Я можу їх злити вручну, якщо це полегшить справи.

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

Я використовую Mac OS X, але я не проти встановлення додаткових додатків для цього (MacPorts?) Або навіть використання іншої ОС (у мене зараз встановлено налаштування Windows XP, Windows Vista та Ubuntu 9 в межах VMWare ).

Будь-яка допомога буде вдячна! Дякую!

Відповіді:


11

Я знаю, що це тема понад рік (вибачте з цього приводу), але я думаю, що комусь може знадобитися повний робочий сценарій, так ось це. Взявши ідеї тут і склавши в сценарій, який ми отримуємо.

#!/bin/bash

for image in *.jpg;
    do res=$(identify -format %wx%h\\n $image);
    mkdir -p $res;
    mv $image $res;
done

4

Серйозно, дякую за відповідь! Я повернувся до цього, більш досвідченим, і більшість коментарів тут мають більше сенсу.

Я трохи змінив сценарій @ zatatlan, щоб розмістити пробіли у файлах файлів та додати більше розширень файлів.

#!/bin/bash

shopt -s nullglob # The script spits errors if this is not set and there are, say, no *.png files.
for image in *.jpg *.JPG *.jpeg *.JPEG *.gif *.GIF *.bmp *.BMP *.png *.PNG;
    do res=$(identify -format %wx%h\\n "$image");
    mkdir -p $res;
    mv "$image" $res;
done

3

Для виявлення роздільної здатності зображення можна використовувати imagemagick . Загорніть його в петельку і ось ви йдете. Я не буду чекати, поки я повернусь додому, коли минеш, так що ось щось на голові. Синтаксис, мабуть, помиляється, але це може дати вам декілька підказок.

for image in $(`*.jpg`) do
   res=`identify $image | grep -o 'Resolution:'`
   if [ ! -d $res ]; then
     mkdir $res
   fi

   mv $image $res
done

Сценарій створює каталоги на льоту. І bash, і imagemagick доступні для Mac.


Ви можете зробити сценарій трохи коротшим і простішим, замінивши ifблок на простий mkdir -p $res.
Райан К. Томпсон

2

Є сортер Amok EXIF

AmoK Exif Sorter може перейменовувати зображення та переміщувати чи копіювати їх у довільні папки.
Папки можна назвати відповідно до даних exif.

Пропонує огляд попереднього перегляду імен файлів, інтегрованого перегляду зображень та зображень exif, перетягування та зменшення зображень, перегляду мініатюр, автоматичної перевірки оновлення та профілів для різних камер та користувачів.

Також підтримує відео файли за датою створення, файли, відформатовані IPTC.

Написано в JAVA , працює на всіх платформах, що підтримують JRE5.
Ознайомтесь зі списком функцій за посиланням.

Не відволікайтеся на німецьку мову.
Потягніть вниз Spracheі виберіть Englisch, перезавантажте програму.


1

Команда ідентифікації ImageMagick може дати вам ширину та висоту в пікселях, наприклад

~$ identify -format %w_%h\\n *jpg 
2868_3429
1056_960

Ви можете помістити це в скрипт bash як частину циклу for для циклу, а для безпеки скопіюйте файли в каталог, який названий таким же, як і роздільна здатність (перевірте, чи він існує, і створити, якщо ні).


0

Основний спосіб, який дасть приблизний порядок роздільної здатності, - це організація за розміром файлу. Це щось, що повинно бути вбудовано в будь-яку ОС, тому вам нічого особливого не потрібно. ВЕЛИКИЙ нюанс цього полягає в тому, що формат ваших фотографій повинен бути однаковим, щоб це працювало. Це не ідеальне рішення, але це може бути простий пробіл, поки ви не знайдете щось, що насправді відповідає рахунку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.