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

Я хотел бы взять папку с изображениями разных размеров и обрезать их до квадрата сетки 600x600, вырезанного из середины изображения. Есть ли программа, которая может автоматически изменять размер и обрезать до этих размеров, а затем выводить в виде сжатого файла .png? Для изображений размером менее 600x600 я бы хотел, чтобы программа увеличивала размер изображения до этого размера.

Я проверил свой Irfanview, и его пакетная обрезка статична, есть только возможность начать с углов и фиксированное смещение. Он не может выполнить центрирование и условное изменение размера, запрошенное OP. Он не подходит для переменных размеров изображения.
Я очень надеялся , что XnConvert может сделать то, что вам нужно, но, как и IrfanView, он не будет выполнять обрезку по центру для изображений произвольного размера.

Ответы (11)

Пакетная команда Photoshop может сделать это. По сути, вы должны «записать» себя, выполняя обрезку и т. Д. Один раз, а затем запустить запись для всех файлов, которые вы хотите. Если вы хотите автоматически изменять размер меньших изображений, вам придется написать небольшой скрипт.

Irfanview также имеет комплексный пакетный процессор изображений, но может потребоваться немного экспериментов, чтобы получить желаемые результаты.

ImageMagick позволяет запускать команды в командном окне Windows. Вам должно быть удобно создавать пакетные файлы Dos.

Пример см. в последнем сообщении в этом обсуждении: http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=21112 .

Соответствующий пример из этого сообщения на форуме:

@echo off

cd C:\Users\user\Desktop\New\New folder

convert *.jpg -fuzz 10%% -trim -write %%02d_trim.png -scale "x1!" txt:

convert *_trim.png -crop 209x329+0+0 -fuzz 10%% -trim +repage %%02d_left.png

convert *_trim.png -crop 173x336+227+0 -fuzz 10%% -trim +repage %%02d_right.png

@pause
Лучше всего, если соответствующие части внешних ресурсов цитируются или обобщаются здесь. Внешние ссылки потенциально могут отключиться в любое время, что сделает недействительным ответ, содержащий только ссылку. В предоставленной вами ссылке есть ответ, однако я бы попросил вас процитировать соответствующую команду здесь, в вашем ответе, чтобы сделать ее более жизнеспособной.

Сначала я подумал, что вы хотите изменить размер пакета, что могут сделать многие программы. Но потом я понял, что вы хотите выполнить комбинацию изменения размера и обрезки, и вы хотите, чтобы компьютер вычислил, как лучше всего динамически вырезать 600x600 пикселей из изображения.

Это потому, что это не задача типа «единственное верное решение», как это обычно вызывает человеческое суждение, как обрезать изображение, поэтому это можно сделать только путем начальной загрузки определенных условий. Например, посмотрите на соотношение сторон и всегда изменяйте размер кратчайшего измерения на X и обрезайте Y (по центру/справа/слева) пикселей. Если я правильно прочитал ваше заявление, вы хотите обрезать 600 пикселей по осям X и Y по центру обоих измерений, если оба измерения равны 600 или более. И изменить размер до 600, только если одно измерение меньше 600?

Я давно хотел добавить подобную функцию в свою программу «Image View Plus More», и я думаю, что настройки функции должны быть примерно такими: - размер обрезки: wxh - выравнивание по ширине: по центру/слева/справа - выравнивание по высоте: по центру/влево/вправо - изменить размер: нет/если меньше/если больше/оба

Какие еще настройки вам нужны?

Обновление: я закончил программирование этой функции в Image View Plus More 2.4:

http://www.sequoiagrove.dk/tools.php

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

Я сделал учебник, как это сделать:

Решение проблемы с ОП: http://www.youtube.com/watch?v=wBc1s6zuDJM

Другой пример: http://www.youtube.com/watch?v=3nFrnaefsqA .

Смотрите мой ответ, я написал код на питоне.
Да, теперь это не так статично, но вы уверены, что ОП заинтересован в программировании редактирования своего изображения?
Я понятия не имею. ОП просто попросил программу, поэтому я написал ее.
Как видите, теперь я добавил эту функцию, и у меня есть идеи по улучшению, например, «показать на примере» (на просматриваемой в данный момент фотографии), поэтому вам не нужно ограничивать себя центрированием или выравниванием по краям. Конечно, мне нужно было бы выяснить, как обобщить этот пример на разные соотношения сторон и размеры.
Хороший! На чем написана ваша программа и доступен ли исходный код?
Я делаю это в Visual Studio C++ с помощью MFC. Отсюда и олдскульный вид. Мой дизайн прост, работайте с изображениями, видя изображение, а не полэкрана, заполненного инструментами, и не делайте его зависимым от DLL, поэтому это один exe-файл. Это означает, что я не использую никаких библиотек, кроме тех, что включены, кроме библиотеки jpeg и dcraw, но они скомпилированы непосредственно в исполняемый файл. Это делает работу с ним невероятно быстрой. Это моя программа "открыть с помощью" по умолчанию. С каждой функцией я спрашиваю себя: «Какой самый простой способ добиться желаемого результата всего за несколько кликов».
К сожалению, это означает, что с этим трудно начать, так как вы должны знать приемы (например, как использовать обратные переходы и буферы 1-9). Вот почему я начал делать уроки. Говоря об этом, я сделал функцию «автообрезка на примере». Чтобы показать это, я сделал новый урок — на этот раз с реальным случаем.
вашему установщику msi требуются права администратора для установки, каким-либо образом вы можете изменить свой установщик, чтобы он устанавливался пользователем, как и другие приложения?

Если вам нравится программировать, вы можете использовать Python (компьютерный язык) и отличную библиотеку, в которой есть PIL для обрезки, изменения размера, построения гистограмм, получения отдельных значений пикселей и т. д. на программном уровне. Таким образом, вы можете легко написать простой скрипт для поиска всех изображений в папке и выполнения операции.

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

#Python 2.7, PIL 1.1.7

import Image
import glob
import os

#Function to resize image, preserving aspect ratio
def resizeAspect(im, size):
    w,h = im.size
    aspect=min(size[0]/float(w), size[1]/float(h))
    return im.resize((int(w*aspect),int(h*aspect)),Image.ANTIALIAS)

imgList=glob.glob('C:/icons/*.png')         #Find all png images in a directory

for img in imgList:                              #Loop through all found images
    im = Image.open(img)                         #open the image
    print "resizing:",os.path.basename(img)
    w,h = im.size                                #Get image width and height
    if min(w,h)<600:                             #Check if either dimension is smaller then 600
        im=resizeAspect(im,(600,600))            #Re-size Image
        w,h = im.size                            #update image size
    center = [int(w/2.0),int(h/2.0)]             #Calculate Center
    box = (center[0]-300, center[1]-300, center[0]+300, center[1]+300) #Defines a box where you want it to be cropped
    croppedIm = im.crop(box)                     #Crop the image
    #croppedIm.show()                            #Show the cropped image
    fileName, fileExtension=os.path.splitext(img)
    croppedIm.save(fileName+'_crop.png', "PNG")  #Save the cropped image

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

[обновлено 12.09.2012]

ThumbsPlus может сделать то, что вы просите. В меню «Изображение» выберите «Пакетная обработка» или нажмите F12 и ответьте на интерактивные подсказки. Вы можете добавить несколько операций в набор и сохранить его для немедленного использования, а также для использования в будущем. В будущем просто получите доступ к названию набора, которое вы ранее настроили, чтобы автоматически запускать его в каталоге или выбранных фотографиях или даже во всем дереве каталогов.

При сборке набора вам предоставляется образец изображения, иллюстрирующий вариант, который вы добавили к операциям.

Будьте внимательны при построении набора, так как важен порядок операций.

Sizzlepig.com — это онлайн-инструмент, который легко сделает это, вы можете установить размер «чертежа» 600x600, а затем обрезать все изображения по центру.

Для части «Для изображений размером менее 600x600 я бы хотел, чтобы программа увеличила размер изображения до этого размера». Я настоятельно рекомендую НЕ пытаться масштабировать изображения, а попытаться найти источник более высокого качества для работы. Я знаю, что это не всегда возможно, но это приведет к гораздо более высокому качеству вывода, чем попытка масштабирования.

(Я работаю на sizzlepig, но это все равно отличный инструмент)

Пожалуйста, смотрите часто задаваемые вопросы . Здесь можно упомянуть свои собственные вещи, но вы должны сказать об этом.
Прохладный. Добро пожаловать на сайт, оставайтесь здесь, отвечайте и задавайте другие вопросы. :)

Irfanview может сделать то, о чем вы просите. Его пакетный режим имеет множество опций.

Вот небольшая ссылка на учебник: http://gd.tuwien.ac.at/graphics/irfantut/batchcon.html

Irfanview может это сделать, но требует небольшой настройки.

Используйте опцию пакетного преобразования. Выберите «PNG» в качестве выходного формата. Нажмите кнопку «Параметры» рядом с выходным форматом, выберите желаемое сжатие и нажмите «ОК».

Установите флажок «Использовать дополнительные параметры», затем нажмите кнопку «Дополнительно».

Вы увидите это окно

Расширенные настройки Irfanview

Настройте изменение размера с самой короткой стороной 600. Убедитесь, что вы отметили «сохранить соотношение сторон» и «использовать функцию повторной выборки». Снимите флажок «Не увеличивать изображения меньшего размера».

Если вы резко уменьшаете размер ваших исходных изображений, вы можете поставить галочку в поле «резкость» и добавить значение. Моим требованием были изображения размером 150x150, и я обнаружил, что им нужно значение резкости около 20, чтобы соответствовать качеству изображения, которое я получал из фотошопа. Для ваших изображений 600x600 вам может не понадобиться значение резкости, поэтому вы можете снять этот флажок.

Вместо использования «обрезки» используйте настройку «размер холста» — убедитесь, что вы отметили эту опцию.

Нажмите кнопку «Настройки» рядом с параметром размера холста. Вы увидите это окно

Параметры размера холста Irfanview

Выберите метод 2, а также ширину и высоту 600. Выберите параметр «центр» для якоря.

Цвет холста не имеет значения, так как на самом деле он не добавит границу изображения.

Теперь на расширенном экране снова поставьте галочку напротив "пользовательский порядок обработки" и убедитесь, что "ресайз" стоит первым в списке - т.е. чтобы ресайз делался до обрезки.

Нажмите ОК

Убедитесь, что вы выбрали файлы, которые хотите преобразовать, настроили выходной каталог, а затем нажмите «Начать пакет».

Ищите Phatch (Linux, Mac, Windows), это именно то, что вы ищете: http://photobatch.stani.be/download/index.html

На http://pixresizer.software.informer.com/ есть утилита с несколькими опциями.

Это хорошее программное обеспечение. Хорошее средство, простое в использовании и быстрое в работе. Поскольку я занимаюсь фотографией, я использую его для обработки изображений в пакетном режиме. Много раз мне нужно уменьшить размер фотографий, чтобы поделиться ими через Интернет. Я также пробовал некоторые другие программы, но нашел это хорошим. (Я не связан с этой компанией.)

Софт хороший? Почему? Вы связаны с компанией?
Привет Пол, Да, это хорошее программное обеспечение. Хорошее средство, простое в использовании и быстрое в работе. Поскольку я занимаюсь фотографией, я использую его для обработки изображений в пакетном режиме. Я также пробовал некоторые другие программы, но они оказались хорошими. Нет!, я не связан с этой компанией.
Махеш, можешь ли ты взять свои комментарии и отредактировать свой ответ? Не все читают комментарии. И расскажите нам об этом больше и больше, мы будем рады знать!

Не знаю, почему никто не упоминает об этом, но мне больше всего нравится multiimageresizer.net . Он позволяет вам выполнять множество действий, таких как обрезка, изменение формата, размера, добавление текста, водяных знаков и т. д. на нескольких изображениях одновременно.

Это реально экономит время. Я рекомендую!