Cuantas veces nos han mandado un fichero que ocupaba 80 mb con 20 fotos, de las cuales cada una ocupaba 1.5mb?? a mi realmente más de las que desearía :)

En windows creo que hay algunas utilidades que te comprimen automáticamente las imágenes a la calidad que les indiques, el propio photoshop, le puedes "programar" para que lo haga, pero verdaderamanete es un proceso algo engorroso.

Bien, en linux no conozco de ninguna utilidad que haga esto mismo, seguramente the gimp! pueda hacerlo, pero, ¿para que buscar, si te puedes hacer tu mismo ese programa? pasemos a lo interesante

En linux hay un paquete de utilidades para tratamiento de imágenes que se llama ImageMagick ($sudo aptitude install imagemagick), con ellas, puedes editar cualquier aspecto de la imagen, resolución, brillo, contraste, cambiar a formatos png<>jpg… vamos una maravilla. Bien pensando un poco como hacer uso de esas utilidades primero pensé en hacer un

$convert -quality 50 *.jpg

en el directorio donde tengo las fotos, pero al hacer eso, el ordenador se me ha quedao tostado y no me ha hecho nada, luego he pensado en hacer un pequeño script en bash que vaya recorriendo todos los ficheros de un directorio y automáticamente lo comprima, pues bien eso se hace de la siguiente manera, en un fichero escribimos lo siguiente:
Apunte: Gracias a Juanjo por el apunte, en el for nos podemos ahorar el crear un proceso poniendo *.jpg, para que sólo pille las fotos es decir quedaria así

for i in *.jpg; do

convert -quality 50 $i com$i;

done
hacemos que recorra todos los archivos de un directorio, y lo almacene en la variable i luego en el programa convert le damos como parámetros -quality 50 (puede ser un rango de entre 0-100), a continuación el nombre del fichero que queremos comprimir y por último el nombre del fichero destino

Y con eso todas las fotos del directorio en el que ejecutemos el script, verán su tamaño reducido a la mitad, conservando más o menos la misma calidad de imagen. Y todo de una bastante rápida y aunque pueda parecer una tontería lo hemos hecho nosotros mismos.

13 comentarios a “COMO comprimir fotos automaticamente”

  1. Juanjo Dice:

    Puedes usar patrones del shell en el for, por ejemplo “for i in *; do” o, mucho mejor: “for i in *·jpg; do”. Te ahorras crear un proceso (el del ls) :D

  2. darkomen Dice:

    ostras pues mira eso no lo sabia un buen apunte a ver si me animo, y me miro algo de bash scripting, que con muy poquito se pueden hacer cosas interesantes, ya abuso un poco, en bash sabrias como sustituir espacios en blanco en el nombre de varios ficheros y sustituirlos??

  3. ALONSO Dice:

    INdicar los pasos o donde ir para comprimir fotos

  4. darkomen Dice:

    Alonso, sip hacemos un fichero en el directorio donde tengamos todas las fotos que contenga lo siguiente
    for i in *.jpg; do

    convert -quality 50 $i com$i;

    done
    lo guardamos con el nombre comprimir.sh abrimos una consola, y nos vamos al directorio donde tengamos las fotos con el comando cd una vez en el directorio ejecutamos el fichero anteriormente guardado escribiendo sh comprimir.sh y con eso ya te deberia de funcionar

  5. kovi Dice:

    Soy notavtisimo en esto de linux, y aunque he visto que si funciona, no lo hace con los archivos que su nombre los separa espacios en blanco, ejemplo en “yo 2006.jpg” no funciona pero encanvio en “yo_2006.jpg” si. Alguna solución?

  6. darkomen Dice:

    jeje kovi ese fallo que comentas se nota que es de novato de linux total :P jeje mira te comento. EN linux tener un espacio en un fichero o en una carpeta puede llegar a ser mortal, como estas comprobando. Un espacio en un nombre de fichero le dice al sistema que es un carácter de escape y por lo tanto el programa o script con el que trates no lo ejecuta del todo para poder usar un espacio necesitas ponerlo de forma especial es decir:
    yo\ 2006.jpg
    Este script es muy sencillo y los ficheros con espacio no lo trata. Hace tiempo se me ocurrió hacer uno que te cambiara los nombres con espacios por puntos pero no lo conseguí hacer…
    Así que te recomiendo que siempre que crees carpetas o fichero NO uses espacios, usa PUNTOS que te va a venir muy bien.

  7. kovi Dice:

    Gracias, así lo are.

  8. Comprimir imágenes en ubuntu « Linux y más.. Dice:

    [...] Entonces busqué en el tío Google a ver si había alguna manera de comprimir fotos (en masa, es decir, grandes cantidades) en ubuntu, y me encontré con este post: COMO comprimir archivos automaticamente [...]

  9. Script cambiar resolucion de fotos « /home/darkomen Dice:

    [...] Posted by darkomen under simo , ipv6 , fotos , ~/ , internet  Hace tiempo hice un script para comprimir fotos automáticamente poco tiempo despues RoyalTux lo mejoró . Ya me ha pasado un par de veces que he hecho las fotos [...]

  10. gerardo Dice:

    que programa bajo para comprimir fotos

  11. gerardo Dice:

    por favor recomiendenme uno y en donde lo encuentro

  12. DaVee!!! Dice:

    jaajaa.. no0 enthendii me e kedado0 en eeL camiino0.. me po0driias expLiicar??

  13. darkomen Dice:

    @davee!!! dime en qué te has perdido y te explico :S

Escribe un comentario