Foros del Web » Programación para mayores de 30 ;) » Java »

Java Imaging and Graphics Library (JIGL)

Estas en el tema de Java Imaging and Graphics Library (JIGL) en el foro de Java en Foros del Web. Hola a Todos , alguien a trabajado con la libreria para java JIGL (Java Imaging and Graphics Library)... http://rivit.cs.byu.edu/jigl/ .... q me colabore con algunos ...
  #1 (permalink)  
Antiguo 15/07/2005, 15:47
Avatar de cesniel  
Fecha de Ingreso: julio-2005
Ubicación: Cali, Colombia
Mensajes: 7
Antigüedad: 18 años, 9 meses
Puntos: 0
Java Imaging and Graphics Library (JIGL)

Hola a Todos ,
alguien a trabajado con la libreria para java JIGL (Java Imaging and Graphics Library)... http://rivit.cs.byu.edu/jigl/ .... q me colabore con algunos archivos para iniciar procesamiento de imagenes avanzado con Java...

Muchas Gracias a todos

Saludos
Cesniel
  #2 (permalink)  
Antiguo 15/07/2005, 15:56
 
Fecha de Ingreso: junio-2005
Mensajes: 286
Antigüedad: 18 años, 10 meses
Puntos: 2
dale un vistazo a ImageJ, facil y bueno para procesamiento de imagenes, especialmente imagenes medicas.
Nunca el probado el Java Imaging, pero si he escuchado acerca de el. Que tipo de procesamiento quieres hacer?
  #3 (permalink)  
Antiguo 15/07/2005, 16:16
Avatar de cesniel  
Fecha de Ingreso: julio-2005
Ubicación: Cali, Colombia
Mensajes: 7
Antigüedad: 18 años, 9 meses
Puntos: 0
Gracias Willie,
estoy realizando una aplicacion sobre reconocimiento de matriculas vehiculares a partir de imagenes, entonces necesito realizarle el procesamiento a las imagenes en Java... para realizar una aplicacion portable dado que ya tengo bastante avanzado pero en MatLab... por ahora lo mas avanzado q e encontrado para esto es el JIGL ... pero no e podido manejarlo bien... tambien mire el API 2D de java pero es muy limitado, dado q necesito trabajar directamente con los pixeles de las imagenes...
  #4 (permalink)  
Antiguo 15/07/2005, 16:20
Avatar de cesniel  
Fecha de Ingreso: julio-2005
Ubicación: Cali, Colombia
Mensajes: 7
Antigüedad: 18 años, 9 meses
Puntos: 0
me serian muy utilices algunos archivos para partir de ellos....
  #5 (permalink)  
Antiguo 15/07/2005, 16:42
 
Fecha de Ingreso: junio-2005
Mensajes: 286
Antigüedad: 18 años, 10 meses
Puntos: 2
hmm, si, el ImageJ es lo que buscas, porque puedes accesar los pixeles directamente. Puedes usar el jar ij.jar que trae los mecanismos para hacer esto. O puedes hacer un plug-in para el ImageJ, pero supongo que tu aplicacion tiene que correr sola, asi que entonces solo utilizarias el API de ImageJ. Ejemplos....dejame ver si encuentro unos plug-ins que escribi hace algun tiempo...
  #6 (permalink)  
Antiguo 15/07/2005, 17:49
 
Fecha de Ingreso: junio-2005
Mensajes: 286
Antigüedad: 18 años, 10 meses
Puntos: 2
Aqui un plug-in bastante simple (mas el estilo no es bueno). La parte donde accesas los pixels es en run() con las loops. Esto lo que hace es una segmentacion basada en dsos valores (los thresholds) (intensity clipping).

Código:
/**
 * <p>Title: Test</p>
 * <p>Description: Test</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author Willie
 * @version 1.0
 */

import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.*;
import ij.plugin.filter.PlugInFilter;

public class test_java implements PlugInFilter {

int T1, T2;

    public int setup(String arg, ImagePlus imp) {
        return DOES_8G + DOES_STACKS + SUPPORTS_MASKING;
    }



        public void run(ImageProcessor ip) {

                T1 = T2 = 0;
                getThreshold();
                byte[] pixels = (byte[])ip.getPixels();
                int width = ip.getWidth();
                Rectangle r = ip.getRoi();
                int offset, i;




                for (int y=r.y; y<(r.y+r.height); y++) {
                  offset = y*width;
                  for (int x=r.x; x<(r.x+r.width); x++) {
                    i = offset + x;
                        if ( ((int) (0xff & pixels[i]))< T1){
                                pixels[i] = (byte)(T1);
                        }
                        else{
                                if ( ((int) (0xff & pixels[i])) > T2){
                                        pixels[i] = (byte)(T2);
                                }
                        }

                  }
                }
} //run

    /**
     *	Creates a dialog box, allowing the user to enter the requested
     *	width, height, x & y coordinates, slice number for a Region Of Interest,
     *  option for oval, and option for whether x & y coordinates to be centered.
     */
    void getThreshold() {
        int x = 1,y = 1;
        GenericDialog gd = new GenericDialog("Specify Thresholds", IJ.getInstance());
        gd.addNumericField("T1",T1, 0); //last number is how many decimals
        gd.addNumericField("T2",T2, 0);
        /*gd.addNumericField("Height:", iHeight, 0);
        gd.addNumericField("X Coordinate:", iXROI, 0);
        gd.addNumericField("Y Coordinate:", iYROI, 0);
        gd.addNumericField("Slice:", iSlice, 0);*/
//        gd.addCheckbox("Oval", oval);
//boolean test1 = false;
//        gd.addCheckbox("Centered",test1);

        gd.showDialog();

        if (gd.wasCanceled()) {
            //bAbort = true;
            return;
        }

/*
        iWidth = (int) gd.getNextNumber();
        iHeight = (int) gd.getNextNumber();
        iXROI = (int) gd.getNextNumber();
        iYROI = (int) gd.getNextNumber();
        iSlice = (int) gd.getNextNumber();
        oval = gd.getNextBoolean();
        centered = gd.getNextBoolean();*/
    }


}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:47.