Что такое хорошая программа для пакетного изменения размера 100000 изображений JPG?

21

Программа должна работать в пакетном режиме, чтобы изменить размер всех файлов в папке, а затем сохранить новые файлы в другой папке. Опция для настройки качества jpg тоже будет отличной.

Уве
источник
2
Сочетание Find и ImageMagic.
mspasov

Ответы:

30

Я немного удивлен, что никто не упомянул самый простой, дешевый и наименее технический вариант:

Automator

Сначала откройте Automator, который находится в папке «Приложения».

Далее выберите создание нового рабочего процесса:

Создать рабочий процесс автоматизатора

Затем добавьте следующие шаги в рабочий процесс путем перетаскивания:

шаги рабочего процесса

Когда вы запустите это, Automator собирается:

  1. всплывающее окно с просьбой выбрать несколько файлов (столько, сколько вы хотите)
  2. всплывающее окно с вопросом, где вы хотите сохранить измененные копии
  3. спросить вас, насколько вы хотите, чтобы размер измененных копий был. Вы сможете выбрать фиксированный размер или процент. Все изображения будут изменены к этому размеру или на этот процент.

(Флажок «показывать это действие при запуске рабочего процесса» означает, что рабочий процесс будет приостановлен, отобразит параметр и позволит вам затем изменить его)

Как только вы это сделаете, Automator будет взбивать и сжигать, а когда это будет сделано, он будет подавать звуковые сигналы.

К сожалению, у него нет возможности выбрать качество JPEG. Тем не менее, по цене (бесплатно), это чертовски удобно.

Дэйв Делонг
источник
Это может быть наименее техническим для тех, кто не использует терминал. И, возможно, самый простой, но это не самый дешевый из ответов здесь. Sips включен в сборку Unix для Mac. И ImageMagick также бесплатно.
Markhunte
3
Можно с уверенностью предположить, что Automator для целей этого обсуждения свободен, поскольку разумно предположить, что @mototribe работает под управлением OS X. Меня беспокоит только то, насколько хорошо Automator будет обрабатывать 100 000 изображений, но, предполагая, что они не все в одну папку, я просто продолжал бы кормить ее одной папкой за раз, пока это не будет сделано. Я запустил этот самый рабочий процесс против сотен изображений без труда. Я не вижу причин, почему это не сработало бы против многих тысяч, так как каждое изображение проходило по одному, но я был бы в доверительном режиме, но в режиме проверки.
Яберг
Да, Automator отлично справился со своей задачей. Я пришел сюда, думая: «Я нашел утилиту командной строки, которая бы изменяла размеры изображений» ... Иногда самое простое решение - тоже самое лучшее. Приветствия.
Силуан Жерин
19

Мне нравится использовать ImageMagick. sipsи Automator (который использует идентичный метод изменения размера) заставляет изображения выглядеть слишком размытыми без дополнительной резкости, по моему мнению.

Вы можете установить ImageMagick brew install imagemagickпосле установки Homebrew или sudo port install imagemagickпосле установки MacPorts . Затем выполните команду как это:

mogrify -filter lanczos2 -resize '500x500>' -format jpg -quality 90 -path /tmp/ *.jpg

500x500>делает изображения шире или выше, чем 500px, подходит для 500x500px. 500xбудет всегда изменять ширину до 500 пикселей и 500x500^сделает все изображения не менее 500x500 пикселей. -path /tmp/сохраняет выходные файлы /tmp/вместо изменения файлов на месте.

Lanczos2или Lanczos с 2 лепестками очень похож на Catrom. По сравнению с Lanczos( Lanczos3) они немного менее острые, производят меньше звонких артефактов и создают больше узоров муара. Фильтр по умолчанию для уменьшения размера Triangleизображения, по моему мнению, часто делает изображения слишком размытыми.

-quality 100создает файлы примерно в два раза больше -quality 95, что создает файлы примерно в два раза больше, чем -quality 88.

Больше информации:

http://www.imagemagick.org/Usage/resize/
http://www.imagemagick.org/Usage/filter/
http://lri.me/shell1.txt

Вот аналогичная команда, которая использует sips:

for f in *.jpg; do sips -Z 500 -s format jpeg -s formatOptions 80 "$f" /tmp/; done

-Z 500это как 500x500>в ImageMagick.

Если у других есть менее 100 000 изображений, вы также можете использовать Preview:

В режиме предварительного просмотра использовался тот же метод изменения размеров, что sipsи в Automator, но с 10.7 использовался другой метод . Я предпочитаю ImageMagick, Lanczos2хотя.

Я загрузил сравнение различных вариантов на http://19a5b0.s3-website-us-west-2.amazonaws.com/imagemagick-osx-resizing/index.html .

LRI
источник
1
Я хотел бы предупредить вас об использовании mogrify: это конвертирует файлы на месте, перезаписывая оригинальные! Если что-то пойдет не так, вы потеряли свои файлы! Лучше использовать convert(также из ImageMagick).
Курт Пфайфл
1
@KurtPfeifle Это не так, если вы указываете -pathпараметр (который в convertнастоящее время не имеет).
Lri
Если вы едете на скорости, sipsвозможно, это лучший выбор. При быстром тестировании с 1000 JPG ~ 5 МБ изменение размера до ширины 800 пикселей заняло ~ 1 мин. с sipsи ~ 8 мин. с mogrify(с очищенными буферными дисками, используя GNU Parallel на четырехъядерном процессоре).
Стефан Шмидт
13

ImageMagick - это программа интерфейса командной строки, созданная для этой цели. Использование и установка ImageMagick может пугать, но этот пакет манипуляций с изображениями является наиболее мощным, с которым я когда-либо сталкивался. Поскольку установка из исходных текстов может быть проблемой для пользователей OS X, я советую вам использовать Homebrew .

Чтобы установить ImageMagick с помощью Homebrew, запустите этот oneliner в своем терминале:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Homebrew теперь установлен, после установки рекомендуется следовать рекомендациям установщика. Теперь мы устанавливаем ImageMagick используя brew.

brew install imagemagick

ImageMagick теперь установлен, и его convertпрограмма может быть использована для ваших целей. Чтобы преобразовать большое изображение JPG в маленькое изображение PNG, вы можете запустить

convert input.jpg -geometry 800x600 output.png

Чтобы ответить на ваш вопрос «Как изменить размер всех файлов в папке и сохранить их в другой папке», вы можете запустить следующий скрипт.

# create output dir
mkdir -p "../resized"

# Convert all .jpg files in the current folder
for image in *.jpg; do
    convert $x -geometry 800x600 resized/$x
done

ImageMagick может конвертировать более 100 различных форматов изображений, и почти все трюки, которые вы можете сделать с помощью Photoshop, вы можете сделать с помощью ImageMagick.

the_karel
источник
спасибо, это то, что я в конечном итоге использовал - однако я установил его на Drupal, так как я импортирую изображения в Drupal.
Uwe
@the_karel, я только что улучшил ваш предыдущий пост. Надеюсь, ты не возражаешь.
Кузен Кокаин
7

Несколько человек упомянули ImageMagick. Вот рецепт: для простоты предположим, что все файлы находятся в одной папке (а в папке больше ничего нет). Откройте окно терминала, перейдите в эту папку и запустите

mkdir ../resized
for x in *.jpg; do convert -geometry 800x600 $x ../resized/$x

где вы замените 800x600 на любой размер, который вы хотите.

Преимущества включают в себя большую гибкость в ImageMagick convert, например, возможность выбирать различные параметры качества для целевого изображения или параметр изменения размера в процентах. Или вы можете использовать -geometry 800x800, в этом случае соотношение сторон будет сохранено, но максимальная ширина и высота будет 800 пикселей.

Недостатки очевидны: требуется определенное знакомство с командной строкой, а также готовность просматривать параметры командной строки convertдля нужных вам настроек. Это не задача для слабонервных.

Харальд Ханче-Олсен
источник
4

Я второй GraphicConverter . Я был зарегистрированным пользователем в течение 16 лет. Его основная цель - редактирование изображений с пакетной обработкой, и он имеет хороший пользовательский интерфейс для разработки пользовательских рабочих процессов и их сохранения.

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

Вот некоторая информация со страницы GraphicConverter, объясняющая их функции редактирования изображений в пакетной обработке .

Пакетное преобразование с дополнительными функциями

GraphicConverter предлагает вам сложную пакетную обработку, которая полностью автоматизирует повторяющиеся задачи, применяемые к выбору изображений:

  • Конвертируйте все выбранные исходные изображения легко и быстро в новый формат - независимо от того, есть ли 5 ​​или 5000 файлов изображений; вы просто определяете тип конвертации и задаете детали
  • В процессе преобразования вы можете применить до 60 дополнительных пакетных функций, таких как вращение, изменение размера, изменение разрешения и т. Д.
  • Автоматизируйте удаление Mac OS Ressourcefork перед загрузкой документов, если при совместном размещении файлов изображений в Интернете возникают проблемы с совместимостью
  • Создавайте каталоги в формате HTML для публикации в Интернете и подбирайте цвета, размеры и т. Д. В соответствии с вашими индивидуальными требованиями (см. Примеры).
  • Переименовать подборку документов по специальным критериям быстро и легко
  • Объединяйте картинки вместе (например, для QuickTime VR)
  • Вставлять или извлекать информацию IPTC в или из различных форматов документов
  • и многое другое ...

введите описание изображения здесь


источник
4

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

Сделайте так, путем изменений этого target_width 120 значения для ваших нужд и сохранения сценария. Теперь перетащите ваши изображения на сохраненный скрипт-файл, чтобы начать изменять их размер.


Откройте редактор скриптов и создайте следующий новый скрипт:

-- save in Script Editor as Application
-- drag files to its icon in Finder

on open some_items
  repeat with this_item in some_items
    try
      rescale_and_save(this_item)
    end try
  end repeat
end open


to rescale_and_save(this_item)
  tell application "Image Events"
    launch
    set the target_width to 120
    -- open the image file
    set this_image to open this_item

    set typ to this_image's file type

    copy dimensions of this_image to {current_width, current_height}
    if current_width is greater than current_height then
      scale this_image to size target_width
    else
      -- figure out new height
      -- y2 = (y1 * x2) / x1
      set the new_height to (current_height * target_width) / current_width
      scale this_image to size new_height
    end if

    tell application "Finder" to set new_item to ¬
    (container of this_item as string) & "scaled." & (name of this_item)
    save this_image in new_item as typ

  end tell
end rescale_and_save

Оригинальный источник

V2R
источник
3

Предварительный просмотр, безусловно, является хорошим решением для изменения размера. Есть и другие приятные бесплатные опции, такие как ImageMagic (утилита командной строки), Preview или что-то еще плюс Automator и т. Д.

Однако, если это является частью вашей работы и вам нужна настоящая гибкость, специальное приложение сэкономит вам много времени и предложит гораздо больше возможностей. Многие пользователи выбрали наш пакетный ресайзер изображений Resize Sense ( http://veprit.com/resizesense ) за его выдающуюся гибкость и удобство.

Отказ от ответственности: я разработчик. Вы лучше судите Resize Sense самостоятельно. Вступительное видео на веб-сайте продукта расскажет вам, что именно такого особенного в Resize Sense. Есть бесплатная демо-версия.

VeprIT
источник
2

Графический конвертер

Лучшее для этого ..

Роберт
источник
7
Можете ли вы объяснить, почему GC является лучшим вариантом?
Натан Гринштейн
Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить здесь основные части ответа и предоставить ссылку для справки.
daviesgeek
1

Я обычно импортирую все изображения в iPhoto, а затем экспортирую их в разные размеры. Я сделал это на партиях из 300 или около того изображений, но никогда в том масштабе, который вы хотите. Тем не менее, это может быть вариант.

Синестетическая симфония
источник
1

Никто не упомянул Apple Aperture.

Хотя это ни в коем случае не самое дешевое, оно поставляется с множеством других вещей, которые могут оказаться полезными. Это в основном заменяет iPhoto, а затем некоторые. Это делает 95% того, для чего фотографы обычно используют Photoshop. (Это не будет делать пламенный текст. :-)

Но если вам не нужны другие вещи, которые дает вам Aperture, я поддерживаю и подход ImageMagick - если вас не пугает загрузка, установка и запуск программ из командной строки, и подход Automator, который, несмотря на претензии @ markhunte, бесплатен. ,

Ян Стейнман
источник
-1

Я использую виноXQuartz ) и IrfanView . Конечно, вы также можете использовать imagemagick из командной строки. Для вина и имиджмейка я бы порекомендовал Homebrew .

irfanview в вине на OS X

iolsmit
источник
Я использовал Irfanview более 10 лет на ПК и мне это нравится. Но у них нет версии для Mac?
Uwe
1
Я подозреваю, что они имеют в виду, что они запускают IrFranView под вином. Wine позволяет запускать программное обеспечение Windows в других операционных системах. С Wine вы можете устанавливать и запускать эти приложения так же, как в Windows. На снимке экрана отчетливо видны окна типа Mac (кнопки вверху) с графическим интерфейсом окон ПК
markhunte
5
Использование Wine с Windows-приложением - это излишнее количество вещей, которые вы можете сделать изначально.
Маттео