Software de manipulación de imágenes gratuito y de código abierto
ImageMagick , que se invoca desde la línea de comandos como magick
, es un paquete de software multiplataforma gratuito y de código abierto [3] para mostrar, crear, convertir, modificar y editar imágenes rasterizadas . ImageMagick fue creado por John Cristy en 1987, puede leer y escribir más de 200 formatos de archivos de imagen . Se usa ampliamente en aplicaciones de código abierto.
Historia
ImageMagick fue creado en 1987 por John Cristy cuando trabajaba en DuPont , para convertir imágenes de 24 bits (16 millones de colores) a imágenes de 8 bits (256 colores), para que pudieran visualizarse en la mayoría de las pantallas de la época. Fue lanzado libremente en 1990 cuando DuPont acordó transferir los derechos de autor a ImageMagick Studio LLC , que todavía es actualmente la organización encargada del mantenimiento del proyecto. [5] [6] [7]
En mayo de 2016, se informó que ImageMagick tenía una vulnerabilidad a través de la cual un atacante puede ejecutar código arbitrario en servidores que usan la aplicación para editar imágenes cargadas por el usuario. [8] Los investigadores de seguridad de Cloudflare observaron el uso de la vulnerabilidad en intentos de piratería activos. [9] La falla de seguridad se debió a que ImageMagick invocó herramientas de backend sin verificar primero adecuadamente para asegurarse de que la ruta y los nombres de archivo estén libres de comandos de shell incorrectos. [10] La vulnerabilidad no afectó a las distribuciones de ImageMagick que incluían una política de seguridad configurada correctamente . [ cita requerida ]
Características y capacidades
El software consta principalmente de una serie de utilidades de interfaz de línea de comandos para manipular imágenes. ImageMagick no tiene una interfaz gráfica de usuario robusta para editar imágenes como Adobe Photoshop y GIMP , pero sí incluye, para sistemas operativos tipo Unix , una GUI nativa básica de X Window (llamada IMDisplay) para renderizar y manipular imágenes y bibliotecas API para muchos lenguajes de programación. El programa utiliza números mágicos para identificar formatos de archivos de imagen .
Varios programas, como Drupal , MediaWiki , phpBB y vBulletin , pueden utilizar ImageMagick para crear miniaturas de imágenes si están instalados. Otros programas, como LyX , también utilizan ImageMagick para convertir imágenes.
ImageMagick tiene un enlace Perl completamente integrado llamado PerlMagick, [11] así como muchos otros: G2F ( Ada ), MagickCore ( C ), MagickWand ( C ), ChMagick ( Ch ), ImageMagickObject ( COM+ ), Magick++ ( C++ ), JMagick ( Java ), L-Magick ( Lisp ), NMagick ( Neko / Haxe ), MagickNet ( .NET ), PascalMagick ( Pascal ), MagickWand para PHP ( PHP ), IMagick ( PHP ), PythonMagick ( Python ), RMagick ( Ruby ) y TclMagick ( Tcl/Tk ).
Conversión de formato de archivo
Una de las características básicas y completamente implementadas de ImageMagick es su capacidad de convertir de manera eficiente y precisa imágenes entre diferentes formatos de archivo (utiliza el comando convert
para lograr esto).
Cuantización de color
El número de colores de una imagen se puede reducir a un número arbitrario ponderando los valores de color más destacados presentes entre los píxeles de la imagen.
Una capacidad relacionada es el efecto artístico de posterización , que también reduce la cantidad de colores representados en una imagen. La diferencia entre esto y la cuantificación de color estándar es que, mientras que en la cuantificación estándar la paleta final se selecciona en función de una ponderación de la prominencia de los colores existentes en la imagen, la posterización crea una paleta de colores distribuidos de manera uniforme en todo el espectro representado en la imagen. Mientras que con la cuantificación de color estándar todos los valores de color finales son los que estaban en la imagen original, los valores de color en una imagen posterizada pueden no haber estado presentes en la imagen original, sino que están entre los valores de color originales.
Dithering
Se proporciona un control preciso del tramado que se produce durante las modificaciones de color y sombreado, incluida la capacidad de generar tramado de medios tonos .
Reescalado de líquidos
En 2008, se agregó soporte para el cambio de escala de líquidos . [12] Esta característica permite, por ejemplo, cambiar la escala de imágenes 4:3 a imágenes 16:9 sin distorsionar la imagen.
Efectos artísticos
ImageMagick incluye una variedad de filtros y funciones destinadas a crear efectos artísticos:
OpenCL
ImageMagick puede usar OpenCL para utilizar una tarjeta gráfica acelerada ( GPU ) para el procesamiento. [13]
Color profundo
La versión Q8 admite componentes de hasta 8 bits por píxel ( escala de grises de 8 bits, color RGB de 24 o 32 bits ). La versión Q16 admite componentes de hasta 16 bits por píxel (escala de grises de 16 bits, color RGB de hasta 48 o 64 bits).
Otro
A continuación se muestran algunas otras características de ImageMagick:
- Conversión de formato : convierte una imagen de un formato a otro (por ejemplo, PNG a JPEG ).
- Transformar: redimensionar, rotar, recortar, voltear o recortar una imagen. (Se aplican estas funciones sin pérdida de generación en archivos JPEG, siempre que sea posible).
- Transparencia: hace invisibles partes de una imagen.
- Dibujar: añadir formas o texto a una imagen.
- Decorar: añadir un borde o marco a una imagen.
- Efectos especiales: desenfocar, enfocar, umbralizar o matizar una imagen.
- Animación: ensambla un archivo de animación GIF a partir de una secuencia de imágenes.
- Texto y comentarios: inserte texto descriptivo o artístico en una imagen.
- Identificación de imagen: describe el formato y los atributos de una imagen.
- Compuesto: superponer una imagen sobre otra.
- Montaje: yuxtaponer miniaturas de imágenes en un lienzo de imágenes.
- Distorsión de píxeles generalizada: corrige o induce distorsiones de la imagen, incluida la perspectiva.
- Morfología de formas: extraer características, describir formas y reconocer patrones en imágenes.
- Soporte de imágenes en movimiento: lee y escribe los formatos de imagen comunes utilizados en el trabajo cinematográfico digital.
- Calculadora de imágenes: aplica una expresión matemática a una imagen o canales de imagen.
- Transformada de Fourier discreta : implementa DFT directa e inversa.
- Gestión del color: gestión precisa del color con perfiles de color o en su lugar, compresión o expansión gamma incorporada según lo exija el espacio de color.
- Imágenes de alto rango dinámico: representan con precisión la amplia gama de niveles de intensidad que se encuentran en escenas reales, desde la luz solar directa más brillante hasta las sombras más oscuras y profundas.
- Cifrar o descifrar una imagen: convertir imágenes ordinarias en un galimatías ininteligible y viceversa.
- Compatibilidad con píxeles virtuales: acceso cómodo a píxeles fuera de la región de la imagen.
- Compatibilidad con imágenes grandes: lea, procese o escriba tamaños de imágenes de megapíxeles, gigapíxeles o terapíxeles.
- Soporte de subprocesos de ejecución: ImageMagick es seguro para subprocesos y la mayoría de los algoritmos internos se ejecutan en paralelo para aprovechar las aceleraciones que ofrecen los chips de procesadores multinúcleo .
- Procesamiento distribuido heterogéneo: ciertos algoritmos están habilitados para OpenCL para aprovechar las aceleraciones que ofrece la ejecución en conjunto en plataformas heterogéneas que consisten en CPU, GPU y otros procesadores.
- Caché de píxeles distribuido: descarga el almacenamiento de píxeles intermedio a uno o más servidores remotos.
Distribución
ImageMagick es multiplataforma y funciona en Microsoft Windows y sistemas similares a Unix, incluidos Linux , macOS , iOS , Android , Solaris , Haiku y FreeBSD . El código fuente del proyecto se puede compilar para otros sistemas, incluidos AmigaOS 4.0 y MorphOS . Se ha ejecutado en IRIX . [14]
Software relacionado
GraphicsMagick es una bifurcación de ImageMagick 5.5.2 creada en 2002, que enfatiza la estabilidad entre versiones de la API de programación y las opciones de línea de comandos. GraphicsMagick surgió como resultado de diferencias irreconciliables en el grupo de desarrolladores. [15]
Véase también
Referencias
- ^ "Historia". ImageMagick . Archivado desde el original el 14 de marzo de 2018 . Consultado el 18 de marzo de 2018 .
El Dr. Pensak tuvo que convencer a la alta gerencia de DuPont. ... De cualquier manera, ImageMagick no estaría disponible hoy sin que DuPont transfiriera los derechos de autor a ImageMagick Studio LLC. ImageMagick se publicó en el grupo comp.archives de Usenet el 1 de agosto de 1990.
- ^ "7.1.1-35" . Consultado el 16 de julio de 2024 .
- ^ abc «ImageMagick: Licencia». ImageMagick . Archivado desde el original el 26 de octubre de 2016. Consultado el 26 de octubre de 2016 .
- ^ "Licencia de ImageMagick". spdx.org .
- ^ "ImageMagick: Historia". www.imagemagick.org . ImageMagick Studio. Archivado desde el original el 29 de octubre de 2016 . Consultado el 18 de octubre de 2016 .
- ^ Hajdarbegovic, Nermin (12 de febrero de 2019). "ImageMagick: ¿Cómo manipular gráficos desde la línea de comandos?". whoishostingthis.com . Archivado desde el original el 29 de septiembre de 2020. Consultado el 18 de agosto de 2020 .
- ^ "ImagenMagick". computerhope.com . 27 de febrero de 2019 . Consultado el 18 de agosto de 2020 .
- ^ "Exploits descontrolados: los piratas informáticos atacan un error crítico en el procesamiento de imágenes". Ars Technica. 2016. Archivado desde el original el 25 de septiembre de 2016. Consultado el 26 de septiembre de 2016 .
- ^ "Dentro de ImageTragick: las cargas útiles reales que se utilizan para hackear sitios web". CloudFlare. 2016. Archivado desde el original el 1 de octubre de 2016. Consultado el 26 de septiembre de 2016 .
- ^ Williams, Chris (4 de mayo de 2016). "Los ataques de secuestro de servidores para ImageMagick son tan triviales que te harán gritar". The Register . Archivado desde el original el 23 de diciembre de 2017. Consultado el 22 de diciembre de 2017 .
- ^ LLC, ImageMagick Studio. «PerlMagick, Perl API @ ImageMagick». imagemagick.org . Archivado desde el original el 10 de mayo de 2017. Consultado el 22 de mayo de 2017 .
- ^ "Registro de cambios de ImageMagick". Archivado desde el original el 6 de junio de 2016 . Consultado el 29 de julio de 2021 .
- ^ "ImageMagick: Arquitectura". Archivado desde el original el 1 de junio de 2016 . Consultado el 6 de enero de 2010 .
- ^ "API de Magick++: Instalar Magick++". imagemagick.org . Archivado desde el original el 8 de mayo de 2017 . Consultado el 22 de mayo de 2017 .
- ^ "Presentación del proyecto GraphicsMagick". Lista de correo de desarrolladores de ImageMagick. 15 de marzo de 2003.
Lectura adicional
- Montabone, Sebastian (2010). Procesamiento de imágenes digitales para principiantes: uso de herramientas gratuitas para fotógrafos. Apress. ISBN 978-1-4302-2841-7.
Enlaces externos
Wikimedia Commons tiene medios relacionados con ImageMagick .
- Sitio web oficial
- Política de seguridad de ImageMagick: Política de seguridad de ImageMagick: las mejores prácticas lo alientan a configurar una política de seguridad que se adapte a su entorno local
- Ejemplos de IM: ejemplos de uso de CLI: proporciona muchos ejemplos pequeños que demuestran su amplia gama de capacidades.
- Scripts ImageMagick de Fred: proporciona una gran cantidad de scripts de shell que utilizan ImageMagick para realizar tareas más complejas
- Cómo automatizar las pruebas estructurales de PDF con ImageMagick: demuestra las funciones de conversión, comparación y cotejo de ImageMagick.