Herramienta de cambio de tamaño de imagen para Ubuntu
11
Tengo alrededor de 500 imágenes y necesito cambiar el tamaño de cada una en 6 tamaños diferentes . ¿Puede haber scripts o software? además mi plataforma es ubuntu .
Luego puedes hacer un pequeño script bash para convertirlos a tus 6 tamaños:
#!/bin/bash
# List all the formats you wish to have
SIZES="640x480 800x600 1024x768"
# pass directory as first argument to the script
# Use '.' (current directory) if no argument was passed
DIR=${1:-.}
find $DIR -type f | while read file; do
for size in $SIZES; do
# Resize and rename DSC01258.JPG into DSC01258_640x480.JPG, etc.
# Remove the ! after $size if you do not wish to force the format
convert -resize "${size}!" "$file" "${file%.*}_${size}.${file##*.}"
done
done
Guarde el script como, por ejemplo convert.sh, y ejecute:
chmod +x convert.sh
./convert.sh /path/to/directory # path is optional, it takes '.' as default
Editar: edité la secuencia de comandos para asegurarme de no anular los archivos al cambiar el tamaño, pero cambiarles el nombre a, por ejemplo, DSC01258_640x480.JPG, y usar convertir en lugar de, mogrifyya que los archivos cambian de nombre. También desinfecté un poco las variables, no duele.
Probé el script con archivos png y funcionó bien. Debería funcionar para todo tipo de formatos de imagen compatibles con ImageMagick:
$ file wave_bible_bot/*
wave_bible_bot/wave_bible_bot1.png: PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2.png: PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3.png: PNG image, 565 x 384, 8-bit/color RGB, non-interlaced
$ ./resize.sh wave_bible_bot/
$ file wave_bible_bot/*
wave_bible_bot/wave_bible_bot1_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1.png: PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2.png: PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3.png: PNG image, 565 x 384, 8-bit/color RGB, non-interlaced
Si instala ImageMagick como mencionó Sathya, hay una buena interfaz gráfica de usuario para facilitar el cambio de tamaño nautilus-image-converter.
Para instalarlo:
sudo apt-get install nautilus-image-converter
Reinicie nautilus (o cierre la sesión y vuelva a iniciarla). Agregará "Cambiar tamaño de imágenes" y "Rotar imágenes" a su menú contextual como se muestra aquí:
Simplemente resalte todas las imágenes que desea cambiar de tamaño, haga clic con el botón derecho, seleccione Cambiar tamaño de imágenes y obtendrá esta interfaz:
Use la opción "Agregar" y agregue un nombre personalizado a sus imágenes redimensionadas. Es posible que desee agregar un tamaño como 1024x768 O puede hacer 6 copias de sus imágenes en diferentes carpetas, luego use la opción para cambiar el tamaño de las imágenes en su lugar en cada carpeta para sobrescribirlas con nuevas imágenes que tengan diferentes dimensiones. Cambiar el tamaño de las imágenes en su lugar siempre sobrescribirá las imágenes seleccionadas, ¡así que tenga cuidado con lo que seleccione!
Realmente debería haber varias referencias a la mogrifyherramienta en el convertmanual de. ... Busqué unos cuarenta y cinco minutos, pero no fue hasta que encontré otra publicación que pude comenzar a mirar en la dirección correcta.
Para beneficio de otros, esta línea hizo exactamente lo que necesitaba. Tomó alrededor de cincuenta JPG de 2meg a 3meg (en el mismo directorio) y los bajó a 80 a 120 kb. Y, por supuesto, dejó todos sus nombres "exactamente" iguales.
mogrify *.jpg -quality 75 -resize "640x480>" *
Y, nuevamente en beneficio de otros:
*.jpg ... realiza el comando mogrify en todos los JPG en el directorio.
-quality 75 ... reduce la calidad jpg al 75%, que es suficiente para ver en línea.
-resize "640x480>" ... hace que todas las imágenes cambien de tamaño a 640x480 (observe el ">" al final. Eso hace que las imágenes sean más pequeñas pero 'no' más grandes ... ... y no olvide las comillas; son importantes.
Yo recomendaría phatch. Su GUI es mucho más flexible que lo que ofrecen imagemagick y nautilus y también tiene una interfaz de línea de comandos, si necesita escribir un script. Puedes instalarlo con
He creado una herramienta fácil de usar: Picture Resize . Utiliza imagemagick detrás de la escena. Cuando esté instalado, creará un ícono en su escritorio de Linux. Puede arrastrar y soltar una o varias imágenes, o una carpeta de imágenes, y creará una copia redimensionada de cada imagen. El tamaño que desea se puede cambiar fácilmente haciendo clic derecho en el icono del escritorio.
Respuestas:
Intenta usar ImageMagick . Primero, instálalo:
Luego puedes hacer un pequeño script bash para convertirlos a tus 6 tamaños:
Guarde el script como, por ejemplo
convert.sh
, y ejecute:Editar: edité la secuencia de comandos para asegurarme de no anular los archivos al cambiar el tamaño, pero cambiarles el nombre a, por ejemplo, DSC01258_640x480.JPG, y usar convertir en lugar de,
mogrify
ya que los archivos cambian de nombre. También desinfecté un poco las variables, no duele.Probé el script con archivos png y funcionó bien. Debería funcionar para todo tipo de formatos de imagen compatibles con ImageMagick:
fuente
Si instala ImageMagick como mencionó Sathya, hay una buena interfaz gráfica de usuario para facilitar el cambio de tamaño
nautilus-image-converter
.Para instalarlo:
Reinicie nautilus (o cierre la sesión y vuelva a iniciarla). Agregará "Cambiar tamaño de imágenes" y "Rotar imágenes" a su menú contextual como se muestra aquí:
Simplemente resalte todas las imágenes que desea cambiar de tamaño, haga clic con el botón derecho, seleccione Cambiar tamaño de imágenes y obtendrá esta interfaz:
Use la opción "Agregar" y agregue un nombre personalizado a sus imágenes redimensionadas. Es posible que desee agregar un tamaño como 1024x768 O puede hacer 6 copias de sus imágenes en diferentes carpetas, luego use la opción para cambiar el tamaño de las imágenes en su lugar en cada carpeta para sobrescribirlas con nuevas imágenes que tengan diferentes dimensiones. Cambiar el tamaño de las imágenes en su lugar siempre sobrescribirá las imágenes seleccionadas, ¡así que tenga cuidado con lo que seleccione!
fuente
Puede usar ImageMagick: Primero instale ImageMagick
A continuación, cd a la ubicación donde están tus imágenes:
A continuación, cree directorios de acuerdo con su tamaño de imagen
Copie las imágenes en el directorio donde desea transformar
Luego, cambie el directorio al otro directorio
Luego, use una herramienta llamada
mogrify
proporcionada por la biblioteca ImageMagick para cambiar el tamañoEsto cambiará el tamaño a todo
640*480
,!
le dice a forzar la relación de aspecto.No sé las secuencias de comandos Bash, por lo que no es tan automatizado.
fuente
Realmente debería haber varias referencias a la
mogrify
herramienta en elconvert
manual de. ... Busqué unos cuarenta y cinco minutos, pero no fue hasta que encontré otra publicación que pude comenzar a mirar en la dirección correcta.Para beneficio de otros, esta línea hizo exactamente lo que necesitaba. Tomó alrededor de cincuenta JPG de 2meg a 3meg (en el mismo directorio) y los bajó a 80 a 120 kb. Y, por supuesto, dejó todos sus nombres "exactamente" iguales.
Y, nuevamente en beneficio de otros:
*.jpg
... realiza el comando mogrify en todos los JPG en el directorio.-quality 75
... reduce la calidad jpg al 75%, que es suficiente para ver en línea.-resize "640x480>"
... hace que todas las imágenes cambien de tamaño a 640x480 (observe el ">" al final. Eso hace que las imágenes sean más pequeñas pero 'no' más grandes ... ... y no olvide las comillas; son importantes.*
... y no olvides esto al final del comando.fuente
Yo recomendaría phatch. Su GUI es mucho más flexible que lo que ofrecen imagemagick y nautilus y también tiene una interfaz de línea de comandos, si necesita escribir un script. Puedes instalarlo con
fuente
Gimp viene con modo por lotes. ver Modo de lote GIMP .
fuente
He creado una herramienta fácil de usar: Picture Resize . Utiliza imagemagick detrás de la escena. Cuando esté instalado, creará un ícono en su escritorio de Linux. Puede arrastrar y soltar una o varias imágenes, o una carpeta de imágenes, y creará una copia redimensionada de cada imagen. El tamaño que desea se puede cambiar fácilmente haciendo clic derecho en el icono del escritorio.
fuente
Si está buscando una GUI en lugar de una herramienta de línea de comandos, eche un vistazo a BIR: https://github.com/agronick/BIR
fuente