Upload
eider-chaves
View
244
Download
3
Embed Size (px)
DESCRIPTION
Existe una forma fácil de manipular imágenes con la Terminal de Ubuntu; Image Magic nos ayudará en esta tarea.
Citation preview
Image Magick
Image Magick es una aplicación que nos permite manipular imágenes a través de la línea de comandos y que sirve para prácticamente todos los formatos. Con ella, también es posible automatizar las acciones sobre las imágenes contenidas en una carpeta (conversión, redimensionado, etc…)
Reducir el peso de las imágenes
Un útil consejo es dirigiros a la carpeta que contiene las imágenes con las que vamos a trabajar y por precaución, copiar las que se deseen redimensionar a un directorio alternativo. Una vez hecho esto ya podemos aplicar el comando adecuado.
mogrify -quality ++ ejemplo.jpgEn ++ escribimos el número deseado, por ejemplo 70
Ejemplo:
mogrify quality 70 try.JPG
En el anterior ejemplo, usé el comando cd para dirigirme al directorio Imágenes, una vez ahí, usé el código referido, con el número 70, sobre la img “try.JPG” con un peso original de 7,1mb, mismo que cambió a 1,1mb en el archivo resultante, conservando su resolución.
Nota: Se supone que al bajarle su peso al archivo, se eliminan los datos Exif (Exchangeable image file format_archivo intercambiable de imagen conjunto de metadatos encapsulados en el fichero de imagen que se almacenan cuando se toma una fotografía.) del mismo.
También podemos hacerlo con todas las imágenes de una carpeta específica, si estando dentro de esta, escribimos *jpg *png etc. en vez del nombre del archivo concreto, con lo cual esta herramienta se vuelve muy útil y rápida para tratar imágenes masivamente.
Ejemplo:
mogrify quality 70 *JPG *png
En el caso anterior, una carpeta (examp), con 14 elementos en su interior, se redujo de 83,4 mb a 22,8mb su peso.
Image Magick
Redimensionar imágenes
Con el siguiente comando se redimensionarán todas las imágenes del directorio en el que nos encontremos a una anchura de 1000 píxeles, manteniendo la relación de aspecto de los archivos originales.
Ejemplo:
mogrify resize 1000 *jpg
Si se quiere tener un tamaño fijo de las imágenes (mi ejemplo es de 800 x 300), se puede especificarlo de esta forma:
mogrify resize 800×300! *.jpg
Para redimensionar una imagen dentro de un directorio y crear una copia de ella sin borrar la original, haremos:
convert -resize ++ imagen nueva_imagen
en ++ ponemos el ancho de la imagen a redimensionar, en micaso 1000.
Ejemplo:
convert resize 1000 P1040322.JPG little.JPG
En el caso anterior, me dirigí a la carpeta “fotrigodicRD”, dentro del directorio “Imágenes” para redimensionar el primer archivo, creando un duplicado suyo, con una medida de 1000px de ancho, con el nombre “little.JPG”. El nuevo archivo queda ubicado dentro del mismo directorio (sin borrar la imagen original) y conserva la relación de aspecto.
En el caso anterior hicimos algo parecido al caso anterior, la diferencia? Le indicamos a la aplicación que el duplicado de la imagen “P1040323.JPG”, denominada “little2.JPG” tenga una altura de 500px, pues anteriormente trabajamos solamente con el ancho de los archivos.
Image Magick
En el ejemplo anterior se redimensionó a un porcentaje del 50% la imagen “P1040325.JPG”; Ahora, su duplicado (Little3.JPG) conserva la relación de aspecto de la original, pero con la mitad de sus medidas y obviamente, con un peso menor.
Convertir imágenes a escala de grises (Espacios de Color)
El tono de gris estará calculado para adecuarse al ojo humano: Gris = 0.299 *Rojo + 0.587 *Verde + 0.114 *Azul.
convert -colorpace gray imagen imagen_byn
Ejemplo:
convert colorspace gray little.JPG gray.JPG
Aunque también podremos transformar a YUV, XYZ, LAB, HSL, etc; también necesitamos que el formato de salida sea compatible con esos espacios de color. Para ver una lista de todos los colorspaces disponibles, digitar en la consola:
convert list colorspace
CMY CMYK Gray HSB HSL HWB Lab Log OHTA Rec601Luma Rec601YCbCr Rec709Luma Rec709YCbCr RGB sRGB Transparent XYZ YcbCr YCC YIQ YpbPr YUV
Bordes.
Para añadir un borde podemos hacer lo siguiente:
convert -bordercolor ++ -border w x h imagen_origen imagen_resultante
++ corresponde al color del borde, w corresponde al tamaño del borde a lo ancho y h es la medida del borde hacia lo alto.
Ejemplo:
convert bordercolor black border 10 x 10 gray.JPG border.JPG
Image Magick
Nota: En la imagen resultante (border.JPG), efectivamente se creó un marco negro, pero vale anotar que este incrementa el tamaño de la imagen que lo posee (10px por cada lado).
Convertir imágenes
Es posible cambiar de formato una imagen, para ello es necesario el siguiente código:
convert imagen.ext original imagen.ext deseada
Ejemplo:
convert cat.png cat.jpj
En el caso anterior de la imagen P1040322.JPG creamos un duplicado, pero con otro nombre y en formato .png (new.png). Podemos asignarle el mismo nombre, pues esto no borrará la original.
Nota: Para conocer los formatos compatibles con esta aplicación podemos usar el siguiente comando:
mogrify list format
Para obtener ayuda:
man mogrify o mogrify help
Algunos comandos útiles de Image Magick:
Obtener información de una imagen:
identify ping image.png
Obtener aún más información:
identify verbose image.png
Conocer la lista de colores utilizados en una imagen:
identify list color image.png
Convertir una imagen PNG en JPG indicando la calidad de conversión:
convert quality 96 image.png image.jpg
Convertir todas las imágenes (*.jpg, *.png) en PDF
convert *png *png etc archivo.pdf
Image Magick
Crear un Favicon :
convert colors 256 resize 16×16 image.png favicon.ico
Crear un negativo de una imagen :
convert negate image.png imagenegate.png
invertir una imagen en forma vertical :
convert flip image.png invertida_vertical.png
invertir una imagen horizontalmente:
convert flop image.png imageinversee.png
Ver GUI de Image Magick:
display image.png
Crear imagen animada
Debemos ordenadamente ubicar las imágenes con las que vamos a trabajar dentro de una carpeta, así la aplicación reconocerá cuál es la primera y la última. Inmersos en nuestra carpeta, abrimos la terminal y digitamos un código similar a este:
convert -delay 100 *imágenes imagen.gif
Ejemplo:
convert delay 100 *JPG nuevaimg.gif
En mi caso, convertí cuatro imágenes en formato JPG de mi carpeta funny en una nueva (animada.gif), con una oscilación de un segundo entre una y otra. El número 100 representa 1 segundo de tiempo y por supuesto, podemos ajustarlo al gusto de cada uno.
Eider J. Chaves C.
For the love of Free Software... ...GNU / Linux