Popart con imagemagick
sábado, 7 de marzo de 2009Desde que el graffitero aquel sacase su versión popart de Obama han salido cartelería imitando el estilo como para parar un carro.
El efecto conseguido con la fotografía ( excluida la parte correspondiente a la denuncia por infracción de licencias ) es muy resultón y facil de conseguir con Imagemagick desde la linea de consola, en una sola línea ó en dos si ademas queremos la versión vectorizada y editable.
Archivo formato SVG con el resultado final podeis cogerlo aqui
convert DSC_5754.JPG x:
Los mejores resultados se consiguen con retratos de primer plano y con poco «ruido», pero es cuestión de hacer pruebas.
convert DSC_5754.JPG \( -clone 0 -colorspace gray -resize 400x400 -normalize \) -colorspace RGB -delete 0 -insert 0 \( -size 10x2 xc:'rgb(45,60,80)' xc:'rgb(218,52,30)' xc:'rgb(150,175,175)' xc:'rgb(239,234,210)' +append \) -clut x:
La línea principal ya está hecha. Básicamente: convertimos la imagen a escala de grises, normalizamos y reescalamos. A continuación creamos una imagen de 4 bandas de color y mediante -clut reemplazamos los colores de la fotografía con los de esta imagen. La posición y tamaño de estos 4 colores y el brillo de la fotografia determina el aspecto final del reemplazo de colores.
convert DSC_5754.JPG \( -clone 0 -colorspace gray -resize 400x400 -normalize \) -colorspace RGB -delete 0 -insert 0 \( -size 10x2 xc:'rgb(45,60,80)' xc:'rgb(218,52,30)' xc:'rgb(150,175,175)' -size 60x2 xc:'rgb(239,234,210)' +append \) -clut x:
Para conseguir mayor cantidad de «blancos» en resultado final he ampliado el porcentaje de estos mediante -size 60×2. Aumenta 100×2 para fotografias oscuras ó reduce a 30×2 para fotografias claras.
convert DSC_5754.JPG \( -clone 0 -colorspace gray -resize 400x400 -normalize -gaussian-blur 1x2 \) -colorspace RGB -delete 0 -insert 0 \( -size 10x2 xc:'rgb(45,60,80)' xc:'rgb(218,52,30)' xc:'rgb(150,175,175)' -size 60x2 xc:'rgb(239,234,210)' +append \) -clut x:
Ahora desenfocamos un pelín la imagen original para suavizar el contorno de lineas eliminar algo de ruido, -gaussian-blur 1×2
convert DSC_5754.JPG \( -clone 0 -colorspace gray -resize 400x400 -normalize -gaussian-blur 1x2 \) -colorspace RGB -delete 0 -insert 0 \( -size 10x2 xc:'rgb(45,60,80)' xc:'rgb(218,52,30)' xc:'rgb(150,175,175)' -size 60x2 xc:'rgb(239,234,210)' +append \) -clut
-bordercolor gray50 -border 1 -bordercolor white -border 20x20 final.png
A continuación incorporamos un margen blanco y un pequeño borde gris y la guardamos el resultado como final.png.
Para vectorizar y obtener un archivo SVG editable con inkscape bastaría con hacer (el resultado lo puedes ver al principio de esta página).
autotrace --color-count=4 -output-file=final.svg --output-format=svg --despeckle-level=20 --corner-threshold=3 final.png
28 de November, 2024 @ 19:40