Me gustaría tomar una carpeta de imágenes de varios tamaños y recortarlas en un cuadrado de cuadrícula de 600x600, recortado desde el centro de la imagen. ¿Hay algún programa que pueda cambiar el tamaño y recortar automáticamente a estas dimensiones, y luego generar como un archivo .png comprimido? Para imágenes que son más pequeñas que 600x600, me gustaría que el programa aumente el tamaño de la imagen a esa dimensión.
El comando Lote de Photoshop puede hacer esto. Básicamente, se 'grabaría' a sí mismo realizando el recorte, etc. una vez, luego ejecutaría la grabación en todos los archivos que desee. Si desea cambiar automáticamente el tamaño de las imágenes más pequeñas, tendrá que hacer un pequeño scripting.
Irfanview también tiene un procesador por lotes de imágenes integral, pero puede requerir un poco de experimentación para obtener los resultados que desea.
ImageMagick te permite ejecutar comandos en una ventana de comandos de Windows. Debe sentirse cómodo con la creación de archivos por lotes de DOS.
Para ver un ejemplo, consulte la última publicación de esta discusión: http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=21112
Ejemplo relevante de esta publicación del foro:
@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
Primero pensé que quería cambiar el tamaño del lote, lo que muchos programas pueden hacer. Pero luego me di cuenta de que desea hacer una combinación de cambio de tamaño y recorte, y desea que la computadora calcule cómo recortar mejor 600x600 píxeles de la imagen dinámicamente.
Es porque no es un tipo de tarea de "solución verdadera", ya que generalmente es una decisión humana, cómo recortar la imagen, por lo que solo se puede hacer arrancando ciertas condiciones. Por ejemplo, mire la relación de aspecto y cambie siempre el tamaño de la dimensión más corta a X y recorte los píxeles Y (centrado/derecho/izquierdo). Si leí bien su declaración, desea recortar 600 píxeles de X e Y centrados en ambas dimensiones, si ambas dimensiones son 600 o más. ¿Y solo cambiar el tamaño a 600 si una dimensión es menor que 600?
Hace tiempo que quería agregar una función como esta a mi programa "Image View Plus More", y supongo que la configuración de la función debería ser algo como: - tamaño de recorte: ancho x alto - ancho de alineación: centro/izquierda/derecha - altura de alineación: centro/izquierda/derecha - redimensionar: no/si es menor que/si es mayor que/ambos
¿Algún ajuste más que necesites?
Actualización: ya terminé de programar esta función en Image View Plus More 2.4:
http://www.sequoiagrove.dk/tools.php
Cómo hacerlo: instale, arrastre y suelte las imágenes que desea recortar en él, "guarde todo en una nueva carpeta" y asígnele un nombre base o % para usar el nombre de archivo original, y luego en el siguiente cuadro de diálogo seleccione "recortar automáticamente". " y llene los cuadros para el ancho y el alto, y seleccione la alineación "centro" para el alto y el ancho, y marque "cambiar el tamaño si es más pequeño".
Hice un tutorial de cómo hacerlo:
La solución al problema de OP: http://www.youtube.com/watch?v=wBc1s6zuDJM
Otro ejemplo: http://www.youtube.com/watch?v=3nFrnaefsqA
Si le gusta programar, puede usar Python (lenguaje de computadora) y una excelente biblioteca que sabe tiene PIL para recortar, cambiar el tamaño, trazar histogramas, obtener valores de píxeles individuales, etc. a nivel programático. Por lo tanto, puede escribir fácilmente un script simple para encontrar todas las imágenes en una carpeta y realizar la operación.
Este código debería hacer exactamente lo que desea y debería procesar un par de imágenes por segundo, según el tamaño de la imagen:
#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
Cuando comienzas a trabajar en el nivel programático, ¡entonces el cielo es el límite! Incluso es posible detectar caras y recortar alrededor de la cara, lo que le permite recortar de forma inteligente miles de fotos...
[actualizado el 12/09/2012]
ThumbsPlus puede hacer lo que usted solicite. En el menú Imagen, seleccione Proceso por lotes o presione F12 y responda las indicaciones interactivas. Puede agregar múltiples operaciones a un conjunto y guardarlo para uso inmediato y futuro. En el futuro, simplemente acceda al nombre del conjunto que configuró previamente para ejecutarlo automáticamente en un directorio o selección de fotos, o incluso en un árbol de directorios completo.
Al construir el conjunto, se le proporciona una imagen de muestra para ilustrar la opción que ha agregado a las operaciones.
Tenga cuidado al construir el conjunto, ya que el orden de las operaciones es importante.
Sizzlepig.com es una herramienta en línea que hará esto fácilmente, puede configurar el tamaño del "plano" en 600x600 y luego hacer que recorte todas las imágenes.
Para la parte "Para imágenes que son más pequeñas que 600x600, me gustaría que el programa aumente el tamaño de la imagen a esa dimensión". Recomiendo encarecidamente NO intentar mejorar las imágenes, sino tratar de encontrar una fuente de mayor calidad con la que trabajar. Sé que no siempre es posible, pero dará como resultado una salida de mucha mayor calidad que intentar mejorar.
(Trabajo para sizzlepig, pero sigue siendo una gran herramienta)
Irfanview puede hacer lo que estás pidiendo. Su modo por lotes tiene muchas opciones.
Aquí hay un pequeño enlace tutorial: http://gd.tuwien.ac.at/graphics/irfantut/batchcon.html
Irfanview puede hacer esto, pero requiere un poco de configuración.
Utilice la opción de conversión por lotes. Elija "PNG" como su formato de salida. Haga clic en el botón "opciones" al lado del formato de salida y elija la compresión que desea y haga clic en Aceptar
Marque la casilla que dice "Usar opción avanzada" y luego haga clic en el botón "avanzado"
Verás esta ventana
Configure el cambio de tamaño con el lado más corto 600. Asegúrese de marcar "preservar la relación de aspecto" y "usar la función de remuestreo". Desmarque "No ampliar imágenes más pequeñas"
Si está reduciendo drásticamente el tamaño de sus imágenes originales, puede marcar la casilla "nítida" y agregar un valor. Mi requerimiento era para imágenes de tamaño 150x150 y descubrí que necesitaban un valor de nitidez de alrededor de 20 para igualar la calidad de imagen que obtenía de Photoshop. Para sus imágenes de 600x600, es posible que no necesite un valor de nitidez, por lo que puede desmarcar esa opción.
En lugar de usar "recortar", use la configuración "tamaño del lienzo"; asegúrese de marcar la opción
Haga clic en el botón "Configuración" junto a la opción de tamaño de lienzo. Verás esta ventana
Seleccione el método 2 y ancho y alto como 600. Elija la opción "centro" para el ancla
El color del lienzo no importa, ya que en realidad no agregará un borde de imagen
Ahora, en la pantalla avanzada, vuelva a marcar la casilla junto a "orden de procesamiento personalizado" y asegúrese de que el "cambio de tamaño" sea el primero en la lista, es decir, que el cambio de tamaño se realice antes del recorte.
Haga clic en Aceptar
Asegúrese de haber seleccionado los archivos que desea convertir, configure el directorio de salida y luego haga clic en "iniciar lote"
Busque Phatch (Linux, Mac, Windows), es exactamente lo que está buscando: http://photobatch.stani.be/download/index.html
Hay una utilidad con múltiples opciones disponibles en http://pixresizer.software.informer.com/
Este es un buen software. Buen medio, fácil de usar y más rápido en el trabajo. Como hago fotografía, lo uso para procesar imágenes por lotes. Muchas veces necesito reducir el tamaño de las fotos para compartirlas en internet. También probé algún otro software, pero este me pareció bueno. (No estoy asociado con esta empresa.)
No sé por qué nadie lo menciona, pero mi favorito es multipleimageresizer.net . Te permite hacer muchas cosas como recortar, cambiar el formato, el tamaño, agregar texto, marca de agua... etc. en varias imágenes al mismo tiempo.
Este es un ahorro de tiempo real... ¡Lo recomiendo!
Michael Nielsen
marca whitaker