Вопрос: изменение размера / сжатие тысяч изображений до разумных размеров [дубликат]


Возможный дубликат:
Пакетное изменение размера изображений JPEG до фиксированного размера файла
быстрый пакетный ресивер изображений 

У меня есть тысячи изображений (90 ГБ), в основном документы, а также связанные с сотрудниками вещи, такие как копии паспортов и т. Д. Большинство этих документов имеют большой размер и сканируются в высоком DPI (300 или 200). Принимая случайные выборки, средний размер составляет 500 КБ-1 МБ на файл, и я мог бы изменять их размер или сжимать до менее 100 КБ с небольшой работой даже при использовании MSPain. Есть ли какое-то программное обеспечение, которое поможет мне в выполнении этой задачи более простым способом, поскольку их невозможно открыть один за другим и изменить их размер.


4
2018-01-27 17:56


Источник


почему бы не сохранить их на сжатом диске? Было бы намного проще, чем запустить пакетное преобразование. - Keltari
@Keltari не вариант
+1 для опечатки MSPain. Хех, и потому, что это хороший вопрос. - Qqwy
Возможный дубликат быстрый пакетный ресивер изображений, Пакетное изменение размера изображений JPEG до фиксированного размера файла, а также Массовое преобразование фотографий в меньший размер?, - Breakthrough
@Breakthrough Это данные менее 6 месяцев. Это огромный архив. Короче говоря, мне нужно сделать вещи меньше ...


Ответы:


Imagemagick Можно изменять размеры изображений,

convert input.jpg -resize 600x600 output.jpg

Обратите внимание, что это установит максимальный размер для каждой стороны, но сохранит соотношение сторон. Таким образом, размер изображения 1200x1000, измененный с помощью указанной выше команды, будет масштабироваться до 600x500 пикселей, а изображение 1000x1200 будет изменено до 500x600.

Вы можете, конечно, поместить это в скрипт. В bash для преобразования каждого *.jpg в каталоге до 600x600 jpg:

for f in ./*.jpg; do convert "$f" -resize 600x600 "${f%.jpg}-resized.jpg"; done

Чтобы сделать то же самое рекурсивно:

find . -type f -name *.jpg -exec bash -c 'convert "$0" -resize 600x600 "${0%.jpg}-resized.jpg"' {} \;

Я не знаю, как это сделать в командной строке Windows / пакетном скрипте, но я знаю, что это возможно.

Если вы хотите переписать свои оригинальные файлы, вы можете использовать ImageMagick's mogrify команда:

mogrify input.jpg -resize 600x600

Это имеет дополнительное преимущество, заключающееся в возможности использования расширения оболочки, поэтому вы можете изменять размер каждого * .jpg в каталоге без прибегая к циклу for:

mogrify ./*.jpg -resize 600x600

Чтобы использовать его рекурсивно, вам придется отбросить его в команду find, как в случае с convert:

find . -type f -name *.jpg -exec mogrify '{}' -resize 600x600 \;

6
2018-01-27 18:25



Вы также должны посмотреть на соответствующую команду «mogrify» (версия «convert»), которая заменяет исходный файл на измененный размер вместо того, чтобы создавать новый файл с измененным размером. В противном случае вам может потребоваться найти способ удаления оригиналов. - Jost


Xnconvert (переносной) может обрабатывать тысячи изображений

В вашем случае вы можете попробовать

  • установить более низкий DPI
  • изменить размер до более низкого разрешения
  • выбрать другой формат файла
  • выбрать другой метод сжатия

enter image description here


3
2018-01-27 18:45





IrfanView будет выполнять эту работу за вас. Он имеет инструмент «Пакетное преобразование / переименование», с которым вы можете многое сделать, включая изменение размера.

Из это руководство по изменению размера изображений с IrfanView:

  1. Запустите IrfanView и нажмите В ключ. Это приведет вас в пакетный режим.
  2. Добавить все файлы или целые папки для ввода файлов
  3. Измените формат вывода и измените процент качества
  4. используйте параметр «Дополнительно» для изменения размера всех файлов

    enter image description here

Обратите внимание, что IrfanView является бесплатным для только для некоммерческого использования,


2
2018-01-27 18:23





FastStone Photo Resizer - легко и просто. Freeware, хороший графический интерфейс и множество опций. http://www.faststone.org/download.htm


0
2018-01-27 18:03



автоматически ли он определяет разумный размер документов или мне нужно установить фиксированную ширину / высоту?
Вы можете изменить размер изображения на одной стороне (например, длинный) и установить формат вывода (и, например, качество изображения в jpg). В результате вы получаете все фотографии одинакового размера. Я не могу представить себе другого разумного способа уменьшить размер нескольких фотографий. - gglon