Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Java / Procesamiento de imágenes en java con ImageMagick

Procesamiento de imágenes en java con ImageMagick

Por jc mouse lunes, agosto 26, 2019

im4java es una interfaz pura de Java para la línea de comandos de ImageMagick. La interfaz de la línea de comandos de IM es bastante estable, por lo que su programa Java (y la biblioteca im4java) funcionarán en muchas versiones de IM. im4java también proporciona una mejor interfaz OO (el «lenguaje» de la línea de comando IM con su notación de operación de posfijo se traduce muy fácilmente en notación OO).

Algunas de sus características son:

  • Admite la mayoría de los comandos de ImageMagick
  • Permite la reutilizacion de una línea de comando varias veces para diferentes conjuntos de imágenes.
  • Las opciones y operadores se traducen en nombres de métodos similares que ImageMagick.
  • Compatibilidad con BufferedImage, es decir, puede usar BufferedImages como entrada a los comandos IM y salida de los comandos IM a una imagen Buffered.
  • Soporta GraphicsMagick, jpegtran, ufraw, exiftool, dcraw
  • Procesamiento paralelo de múltiples imágenes de entrada

im4java se encuentra con licencia LGPL.

Para obtener más detalles sobre el proyecto, visite la página http://im4java.sourceforge.net/

DESCARGA

Puede descargar la ultima versión en https://sourceforge.net/projects/im4java/files/

EJEMPLO

A continuación implementamos un ejemplo paso a paso del uso de im4java con el IDE Netbeans, java 8 y el Sistema Operativo Linux. Se aplicaran sobre una imagen algunos comandos de ImageMagick para aplicar el efecto Polaroid.

Paso 1. 

Crear un proyecto en Netbans «Example Imagemagick» y agregar el *.jar im4java tal cual se muestra en la siguiente imagen:

im4java ejemplo

Paso 2.

Buscar una imagen a procesar y colocarla en la base del proyecto.

sagiri cosplay

Paso 3.

Para usar im4java se necesitan objetos de dos clases: Un ImageCommand como ConvertCmd y una Operación como IMOperation. El ImageCommand es más o menos estático, crearía una instancia una vez y la reutilizaría durante la vida útil de su programa. Las excepciones a esta regla son los casos de uso más avanzados. Por el contrario, la Operación es el objeto de ajuste de todas las opciones de línea de comandos que tiene la intención de pasar al comando dado.

En la clase Main.java pega el siguiente código y ejecuta

import java.io.IOException;
import org.im4java.core.ConvertCmd;
import org.im4java.core.IM4JavaException;
import org.im4java.core.IMOperation;
/**
 * @see https://www.jc-mouse.net/
 * @author mouse
 */
public class Main {

    public static void main(String[] args) {
        try{
            // Se crea comando
            ConvertCmd cmd = new ConvertCmd();

            // Se crea operacion
            IMOperation op = new IMOperation();
            //archivo origen
            op.addImage("sagiri_izumi.png");
            op.bordercolor("snow");
            op.background("gray");        
            op.polaroid(5.0);            
            //imagen de destino
            op.addImage("sagiri.png"); 
        
            // Ejecuta operacion
            cmd.run(op);
            System.out.println("FIN");
        }catch( IOException| InterruptedException| IM4JavaException ex){
            System.err.println(ex.getMessage());
        }
    }

}

Si no obtuvimos ningún problema, se creara un nuevo archivo de imagen con las operaciones indicadas.

ClariS Polaroid efecto

enjoy!

Tags

Artículos similares

Contar segundos (Problema Resuelto)

El problema dice asi: Se desea contar los segundos que se presiona un JButton en un formulario. Solución: Para resolver[...]

Crea un reproductor de video con VLCJ y Java

VLC Media Player es un reproductor multimedia de código abierto muy popular desarrollado por el proyecto VideoLAN. VLCJ[...]

Crear componentes en tiempo de ejecución con Netbeans

🙂 Una de las preguntas más buscadas por programadores java es la de crear componentes swing en tiempo de ejecución, eso[...]

PicarOS: Sistema Operativo Educativo para niños

PicarOS Diego es una distribución GNU/Linux basada en Debian enfocada principalmente en la educación dentro del aula rec[...]

Bloquear pantalla cliente

En este tutorial crearemos una aplicación que bloqueara toda la pantalla de la PC y no nos dejara realizar ninguna tarea[...]

JToggleButton y base de datos

En este tutorial veremos una forma de trabajar con el swing  JToggleButton y una base de datos para dar respuesta a una[...]