¿Qué software podría usar para cambiar el tamaño de imágenes en bloque de forma periódica?

Tengo una gran colección de imágenes en un montón de carpetas anidadas.

Me gustaría ejecutar algún tipo de proceso (regularmente) que sincronice todas las imágenes a otro lugar en un nuevo tamaño más pequeño. (Me gustaría restringir tanto la altura como el ancho)

Esto me permitirá llevar todas mis imágenes conmigo en baja resolución en mis dispositivos portátiles.

¿Alguna sugerencia para una herramienta que pueda programar (idealmente, me gustaría que solo procese cada imagen una vez)?

¿En qué sistema(s) operativo(s) está(n) interesado(a)?
@Rowland, uso Windows y Linux ... así que cualquier cosa que no sea específica de Mac debería funcionar.
¿Dónde se almacenan sus imágenes y dónde es probable que necesite la conversión? ¿Windows o Linux? Eso haría una pequeña diferencia. ¿Estás de acuerdo con eliminar todas las imágenes existentes antes de crear otras nuevas? ¿Debería estar creando una nueva estructura de carpetas a medida que se duplica?
@drchenstern... Me gustaría evitar el doble procesamiento de un archivo
~ ¿Es solo por el deseo de reducir el tiempo de procesamiento? Estoy pensando que usar algún tipo de sistema basado en Linux funcionará mejor a largo plazo debido a las actividades de manipulación de imágenes de la línea de comandos que ya están escritas para los sistemas Linux.

Respuestas (8)

ImageMagick sería una posibilidad obvia para el escalado en sí. Sin embargo, la programación de una búsqueda de nuevas imágenes y la creación de una copia a escala de cada una no está integrada. Sin embargo, la mayoría de los sistemas operativos tienen capacidad de programación que podría ejecutarlo. Como programador, una cosa que probablemente consideraría sería usar un archivo MAKE para manejar la ejecución de la conversión solo cuando no existiera un objetivo. Sin embargo, la mayoría de la gente normal consideraría que es una forma realmente extraña de hacer las cosas...

Tuve la tentación de escribir un script Ruby para esto... pero si algo ya existe, preferiría usar eso
@Sam Saffron ~ ¿Algún motivo para un script de Ruby? ¿Estará alojado en un sitio web? Creo que este es el tipo de cosas que mejor se ejecutan a través de cron ...

En Windows, Irfanview es otro visor de imágenes gratuito que tiene un buen modo de redimensionamiento/remuestreo por lotes.

Desde un punto de vista de calidad, debería estar interesado en los algoritmos de remuestreo que utiliza la herramienta elegida. Irfanview proporciona control y la elección de una gran cantidad de algoritmos de remuestreo de alta calidad, y las versiones posteriores también brindan control sobre la nitidez de las imágenes remuestreadas.

La nitidez es importante ya que cambiar el tamaño de las imágenes para hacerlas más pequeñas tiende a suavizar las imágenes.

Para usos manuales, Irfanview funciona por lotes en Windows y puede usar gThumb en Linux.

FastStone es gratis y simple, y puede hacer un poco más que cambiar el tamaño.

http://www.faststone.org/

+1 para FastStone, un excelente visor de imágenes y un redimensionador de imágenes muy completo.

XnView es probablemente la respuesta, siempre que use un programador o lo ejecute manualmente de forma regular. Personalmente, uso mi propia secuencia de comandos que ejecuta nconvert para hacer exactamente esto. Nconvert viene con XnView y también está disponible por separado.

XnView es extremadamente poderoso para la conversión por lotes, incluso puede aplicar transformaciones durante el proceso. Lo más importante después de configurar su conversión entre ciertos directorios, puede pedirle que genere un archivo por lotes que haga la misma conversión. Esto será muy útil si desea agregarlo a un programador de tareas o un trabajo cron.

Picasa le permitirá cambiar el tamaño de sus fotos por lotes, y es gratis . Puede seleccionar un montón de imágenes para exportar, luego elegir las dimensiones y la ubicación deseadas. Luego guardará una copia de todas las imágenes que seleccionó en el nuevo tamaño. La ubicación puede ser otra carpeta, o incluso la web.

http://picasa.google.com/

No estoy seguro de que ofrezca programación, pero la sobrecarga en la ejecución del proceso anterior es muy pequeña, en realidad son solo unos pocos clics.

Tiene algunas otras características excelentes que pueden resultarle útiles, definitivamente vale la pena echarle un vistazo.

He estado resolviendo exactamente el mismo problema (tener una copia de baja resolución de mis imágenes para una computadora portátil) y escribí un script de Python llamado thumbtree . Básicamente crea una copia del directorio con una versión reducida de todos los archivos. Utiliza ImageMagick para cambiar el tamaño y verifica las marcas de tiempo para escalar solo los archivos que han cambiado desde que se hizo la copia de baja resolución.

Usualmente uso ImageMagick o GraphicsMagick (menos funciones, pero más rápido, no siempre el mismo resultado). La forma en Linux de programar este procesamiento es escribir un script y colocarlo en el archivo crontab. Para reducir el tiempo de ejecución, puede seleccionar solo las fotos nuevas con find. Si necesita ayuda para escribir un guión de este tipo, por favor pregunte. Yo puedo ayudar con eso.

Como usuario de Linux también uso Nautilus Image Converter . En Ubuntu/Debian puede instalarlo con el nautilus-image-converterpaquete. Agrega una opción de cambio de tamaño en el menú contextual del administrador de archivos. Supongo que usa ImageMagick internamente.

Algunas otras opciones de Linux son:

  • Gimp Batch Processor (un complemento para realizar procesamiento masivo en Gimp, tiene una interfaz gráfica de usuario, parte del gimp-plugin-registrypaquete en Ubuntu) (vea también un mini-tutorial )
  • Batch Queue en digiKam (una herramienta bastante avanzada para el procesamiento masivo, con interfaz gráfica, es bueno si ya eres usuario de digiKam)
  • Modo por lotes de Gimp (extremadamente flexible, pero requiere algo de programación en Scheme; adecuado para el procesamiento programado)

He tenido muy buenos resultados con Digikam y el complemento de cambio de tamaño en Ubuntu. http://www.digikam.org/plugins.html#p5