Últimos Cambios |
||
Blog personal: El hilo del laberinto |
Última Actualización: 28 de julio de 2010 - Miércoles
Cuando subo fotos a mi web las proceso un poco. Nada de retoque, sino cosas como enderezar las fotografías giradas (mi cámara no tiene sensor de gravedad, así que hay que hacerlo a mano), recomprimirlas para que tengan un tamaño razonable, etc.
Hace tiempo lo hacía a mano, con el "GIMP", pero era una tarea muy lenta y proclive a errores. En una actualización del GIMP la tarea se volvió más tediosa aún, así que me puse a buscar alternativas. Idealmente automatizadas.
Tras investigar durante un tiempo, he llegado al siguiente proceso, bastante limpio y rápido. Como ventaja adicional, estas operaciones conservan la información EXIF de la cámara, algo que no ocurría con mi procesamiento manual original.
Los pasos son los siguientes:
Para saber si es el caso, basta con mirar las fotografías con un visor (que interprete la información de posición presente en el EXIF de las fotos). Si las fotos tomadas "inclinadas" aparecen derechas, entonces la cámara dispone de sensor de gravedad, y nuestro visor la interpreta. En este caso hacemos:
jhead -autorot *.jpg
Este comando rota las imágenes que lo necesitan, y copia y actualiza su información EXIF para indicar que ya están "derechas".
Si la cámara no guarda información de los sensores de gravedad, hay que girarlas de forma manual:
jhead -cmd "jpegtran -rotate 90 &i > &o" *.jpg
Este comando gira las imágenes 90 grados en sentido antihorario, copiando la información EXIF a la nueva versión.
jhead -dt -cmd "djpeg &i | cjpeg -quality 85 -optimize -progressive > &o" *.jpg
Este comando descomprime las fotos y las vuelve a comprimir de nuevo al nivel de calidad seleccionado. Naturalmente, esta operación implica una pérdida de calidad (con suerte, inapreciable). Los parámetros "optimize" y "progressive" generan ficheros más pequeños.
El comando en sí copia también la información EXIF. El parámetro "-dt" elimina el posible "thumbnail" de la imagen, que no nos sirve para nada en la versión web, que puede no corresponder ya con la realidad (si hemos girado la foto) y que, en resumen, ocupa espacio inútil.
Los pasos anteriores generan fotos "derechas", comprimidas con el nivel de calidad deseado y manteniendo la información EXIF original (salvo el "thumbnail").
El último comando introduce pérdidas, pero en mis pruebas puedo ejecutarlo de forma repetida sin pérdida apreciable de calidad. Eso es bueno. Lo que no lo es tanto es que si recomprimimos con calidad 85 una fotografía cuyo nivel de calidad ya estaba fijado más bajo, la imagen resultante medirá más que la original, sin haber ganado nada de calidad. Por ello lo ideal es, por un lado, comparar el tamaño de las imágenes procesadas con las originales (que guardamos en el primer punto, ¿recuerdas?) y, por otro lado, sacar las fotografías al máximo nivel de calidad posible, salvo que tengamos la memoria de la cámara achuchada.
Todos los comandos indicados ("jhead", "jpegtran", "cjpeg", "djpeg") tienen opciones interesantes, que es buena idea conocer. Vale la pena echarle un ojo a los manuales.
Más información sobre los OpenBadges
Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS