Recordemos que todos los procedimientos los estamos realizando en la clase procedimientos.Util así que vayamos a dicha clase y creamos un método de nombre identificarPersona() que no recibe argumentos de ningún tipo, en un principo quedará de la siguiente manera:
/** * Identifica a una persona registrada por medio de su huella digital */ public void identificarPersona(){ }Ya que tenemos la definición del método debemos de brindarle un comportamiento pero para decirle qué hacer primero debemos entenderlo. Para identificar una persona se necesita tomar una muestra de la huella digital y posteriormente compararla con todas aquellas entre las cuales se encuentra la persona, en este caso, entre todas las huellas registradas, si encontramos un registro que coincida entonces tenemos a la persona que buscamos.
En código se traduce a lo siguiente:
Primero obtenemos todas las huellas de la base de datos...
ResultSet rsIdentificar = identificarStmt.executeQuery();...posteriormente iteramos a través de todos los resultados...
while(rsIdentificar.next()){...en cada iteración obtenemos la plantilla de la huella almacenada...
byte templateBuffer[] = rsIdentificar.getBytes("huehuella");...y la creamos para posteriormente utilizarla...
Template referenceTemplate = new Template(templateBuffer);...ya que tenemos la plantilla de la base de datos la comparamos con la actual almacenando el resultado de la comparación en una variable...
boolean coinciden = fingerprintSDK.verify(template,referenceTemplate);...si coinciden hacemos lo pertinente y rompemos el ciclo de iteración y lo cerramos...
if (coinciden){ ui.showImage(GrFingerJava.getBiometricImage(template, fingerprint, fingerprintSDK)); JOptionPane.showMessageDialog(ui, "La huella es de "+rsIdentificar.getString("huenombre")); return; } }...si hemos buscado en todas las huellas y no se encuentra se lo indicamos al usuario...
JOptionPane.showMessageDialog(ui, "No existe ningún registro que coincida con la huella.");...y listo!
Al finalizar debemos de encerrar el código entre algunos try-catch para evitar errores al momento de compilar, el método completo queda así:
/** * verifica la huella digital actual contra otra en la base de datos */ public void identificarPersona() { try { //Obtiene todas las huellas de la bd ResultSet rsIdentificar = identificarStmt.executeQuery(); //Si se encuentra el nombre en la base de datos while(rsIdentificar.next()){ //Lee la plantilla de la base de datos byte templateBuffer[] = rsIdentificar.getBytes("huehuella"); //Crea una nueva plantilla Template referenceTemplate = new Template(templateBuffer); //compara las plantilas (actual vs bd) boolean coinciden = fingerprintSDK.verify(template,referenceTemplate); //Si encuentra correspondencia dibuja el mapa //e indica el nombre de la persona que coincidió. if (coinciden){ ui.showImage(GrFingerJava.getBiometricImage(template, fingerprint, fingerprintSDK)); JOptionPane.showMessageDialog(ui, "La huella es de "+rsIdentificar.getString("huenombre")); return; } } //Si no encuentra alguna huella que coincida lo indica con un mensaje JOptionPane.showMessageDialog(ui, "No existe ningún registro que coincida con la huella."); } catch (SQLException e) { e.printStackTrace(); } catch (GrFingerJavaException e) { e.printStackTrace(); } }Posteriormente lo único que debemos hacer es mandarlo llamar desde el botón de 'Identificar' y listo! hemos terminado con las 3 funciones principales de un sistema de identificación de huellas digitales, solo necesitas adaptar estos métodos a tu aplicación y tendrás funcionalidad total.
El plan no es terminar con esta serie de tutoriales con este artículo sino ahondar en procedimientos un tanto más especializados como comparaciones realizadas directamente por el servidor (en aplicaciones cliente-servidor) para quitar tráfico a la red por medio de un servidor de aplicaciones, sin embargo, espero sus comentarios y opiniones al respecto, y si tienen alguna consulta dejen su correo para hacerles llegar mi respuesta lo antes posible ya que no he podido contestar los comentarios aquí directamente...
:::Actualización:::
A petición de algunos de ustedes, aquí les dejo una liga para descargar el proyecto en formato comprimido:
****Actualización (08/08/2012)****
A petición de todos les dejo la lista de todos los artículos de este tutorial.
- Parte 1: http://monillo007.blogspot.com/2008/08/programacin-de-un-lector-de-huella.html
- Parte 2: http://monillo007.blogspot.com/2008/08/programacin-de-un-lector-de-huella_20.html
- Parte 3: http://monillo007.blogspot.com/2008/09/programacin-de-un-lector-de-huella.html
- Parte 4: http://monillo007.blogspot.com/2008/09/programacin-de-un-lector-de-huella_03.html
- Parte 5: http://monillo007.blogspot.com/2008/10/programacin-de-un-lector-de-huella.html
Tus comentarios y/o preguntas son bienvenidos.
Si el código te fue útil te invito a que me ayudes a difundirlo desde los botones sociales (Twitter, Facebook, Google+).
De igual manera puedes suscribirte al blog para que los nuevos artículos lleguen a tu bandeja de correo o lector de Feedsfavorito desde los enlaces del lado derecho de la página.
Estimado Monillo:
ResponderBorrarhe seguido con mucho interes esta guia, y la agradezco profundamente, pero ruego que, por favor, puedas mandar un archivo zip o algo para probarlo en vivo, porque definitivamente Java es la solucion a nuestro problema, pero sigo sin poder hacer andar el compilador...sirve el jcreator para estos efectos? cualquier guia se agradece...
Atte,
un ignorate fan de Java
Monillo
ResponderBorrarGracias por este tutorial, era lo que estaba buscando, me gusto mucho pq al fin encontre algo con java, estaba ya optando por solucion en .NET, pero te agradeceria si es posible los fuentes en un .zip, por alguna razon, no se que me falta pero no me ejecuta bien en NB.
Gracias
Att
Un Java Fan
Que tal Monillo..
ResponderBorrarHe seguido muy de cerca este tutorial y la verdad me saco de apuros. Te felicito por la aportacion a la comunidad de desarrolladores.
Solo una pregunta, sabes si la libreria de griaule deja de funcionar a los 90 dias ??
Me gustaria estar en contacto mas de cerca este es mi blog y mail http://omixisc.blogspot.com ofm.isc@gmail.com
Bytes...
Saludos monillo!!
ResponderBorrarEstoy muy interesado en este tutorial, muy buenopor cierto, al igual que mis compañeros si puedes facilitar un zip, te lo agradeceria mucho estoy inmerso en un proyecto en java de este estilo y me ayudaria mucho tu aportacion, mi correo es s_alcu@hotmail.com Gracias!
Gracias a todos por sus comentarios, les comento que ya subí el proyecto de NetBeans para que puedan descargarlo, chequen la parte final del artículo para obtener el vínculo.
ResponderBorrarSaludox.
muy buen aporte pero tengo dudas este programa hace la funcion de scanner como hacer para que tembien haga la funcion como lector y cada vez que quiera accesar a una carpeta me pida introducir la huella y que la corrobore no se si e entendido bien lo que hace el programa mi correo es jmorenolopez@hotmail.com
ResponderBorrarquisiera saber si tienes este programa de detector de huellas desarrollado en .net si es asi me lo podrias mandar en .zip a jmorenolopez@hotmail.com
ResponderBorrargracias
George,
ResponderBorrarPrimero que nada disculpa la tardanza en contestarte, te comento que no tengo el proyecto en .net, de hecho el fin de estos 5 tutoriales es que se aprenda y se entienda la programación como tal, no solamente compartir el proyecto para su descarga. Saludox.
Hola buen dia
ResponderBorrarHe seguido tu guia (felicidades esta muy bien)y todo me funciona perfecto desde netbeans, pero cuando armo un jar y lo quiero ejecutar desde linea de comandos me envia un error donde me dice que no puede leer la licencia
¿Que puedo hacer para solucionar este error?
Saludos y desde ya mil gracias por tu ayuda y atención
Verifíca que las librerías de grfingerjava y mysql estén dentro de la carpeta de la última versión del jre de java (c:/archivos de programa/java/jreX.XX/lib/ext), si te sigue dando el error indícame tal cual lo que aparece en la consola para verificar exactamente de qué se trata.
ResponderBorrarSaludox.
Hola,
ResponderBorrarAntes de nada quería felicitarte por la guía, un gran trabajo. En mi caso particular yo necesito algo más sencillo, sólo tengo que conectar el detector de huella digital a mi aplicación de login (realizada en java), para que cuando pase la huella se autentifique en la aplicación, es decir, no necesito mostrar la huella ni nada de eso, sólo que se autentifique, la idea es comprar el DigitalPersona 4000B que es el mismo que has utilizado tú, ¿crees que con la parte del paquete de procedimientos es sufiente?, ¿vés necesario que compre la SDK Gold/Premium que viene con el DigitalPersona?. Muchas gracias de antemano.
Un Saludo
Fernando
Primero que todo gracias por el desarrollo de este proyecto, que ha sido de gran ayuda para nosotros.
ResponderBorrarTe sugerimos cosas como:
1- ¿Como es posible quitar la pantalla de licencia de griaule?, por acá hubo un conocido que lo hizo pero no ha querido colaborarnos con ese apunte.
2- en nuestro caso el proyecto estamos trabajando la aplicación desde un "Java Desktop Application", ademas no estamos capturando la huella desde el frame principal (que si lo utilizamos como formulario de logeo) y el JFrame en el que estamos capturando la huella se abre despues, sin embargo cuando cerramos este jFrame(en el cual se encuentra implementado todo tu proyecto) y volvemos y le damos iniciar sesion (esto sin cerrar toda la aplicacion) y volvemos a logear y entrar al Jframe aparece un error al inicializar la captura (GrFingerJavaException) y ademas no capturar la huella.
Esas son los dos únicas huellas digo comentarios que tenemos al respecto del proyecto, por lo demás esta EXCELENTE!!!
nos gustaría estar en contacto con ustedes, si puedes agregame a tu correo, el mio es:
umov@hotmail.com.
gracias.
BBBIIIIIEEENNNNN muchas gracias llevo un bune rato siguiendo tutoriales y arreglandomelas y al final casi temrino pero me da errores, espero que con el ejemplo pueda completar mi proyecto gracias
ResponderBorrarHola soy Belen te habia dejado un comentario en la parte 1 porque no habia visto la continuación de tu artículo que en verdad es muy bueno, te felicito!!, ok, ya probe el ejemplo y me da este error To run this application from the command line without Ant, try:
ResponderBorrarjava -jar "C:\Users\princesa\Desktop\lector\EjemploLectorHuellas\EjemploLectorHuellas\dist\EjemploLectorHuellas.jar"
y por cierto lo voy a intentar para trabajando con servlets luego te digo como me fue te agradezco y de nuevo felicidades
Saludos amigo, gracias a tu estupendo manual logramos realizar el registro, verificacion e identificacion de huellas con el lector Nigten Hamster II.
ResponderBorrarTengo una duda, lo que pasa es que por ahora estamos trabajando con el SDK gratuito de Griaule, tenemos pensado compralo porque es para uso de una empresa. El problema es que por ahora cada que ejecutamos la aplicacion para el registro de huellas, puede que la aplicacion se ejecute o no. El numero maximo de veces que lo ejecutamos para que funcionara fueron 24 veces,osea que 24 veces la aplicacion no se abrio, aveces la aplicacion se abre a la primera, pero no siempre. Me gustaria saber si al comprar el SDK esto dejara de pasar.
PD:No hemos probado con tu codigo.
Gracias por tu ayuda
wey te amo!
ResponderBorrarMuchas gracias por tu aporte,
ResponderBorrarte pondre de referencia. Ahora, mas bien, tengo una consulta. Estoy aplicando un sistema de seguridad remoto y estaba pensando en usar biometria como metodo de acceso. Tu crees q sea posible mediante un concentrador VPN SSL acceder a la VPN y asi poder entrar al aplicativo, previamente teniendo la lectora de huella dactilar??. Te envio mis datos para poder enviarte el grafico de mi propuesta.
Saludos,
Jorge G
Mis datos son: guardiajgd@hotmail.com
ResponderBorrarOye muchisimas gracias por este tutorial, funciona perfectamente con mi scanner Upek
ResponderBorrarLo unico malo es que el Griaule es de paga, debería haber un desarrollo de SDK libre, los que anduve buscando no le llegaron a lo que hace Griaule, pero es muy buena iniciativa.
Gracias por el articulo, ahora podré sacar adelante mi proyecto.
me ha dejado fascinado todo este tutorial mi amigo, te felicito. note que lo realicaste en aprox. 2 meses. yo tengo planeado realizar un sistema de control de asistencia, y un bonche de informacion tan detallada y precisa como la de tus blogs me da los animos suficientes para realizarlo. gracias y sigue asi
ResponderBorrarsaludos
me puedes pasar el Link para descargar todo el codigo de tu aplicacion. de antemano gracias.
ResponderBorrareste es mi correo ck0z@hotmail.com
HOLA SALUDOS QUISIERA SABER SI ME DUEDES AYUDAR CON LA APLICACION QUE ESTA EN TU BLOG YA LA TERMINE PERO CUANDO LA EJECUTO SALE EL SIGUIENTE ERROR
ResponderBorrarException in thread "main" java.lang.UnsatisfiedLinkError: no grfingerjava in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1709)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at com.griaule.grfingerjava.GrFingerJavaNative.loadLibrary(GrFingerJavaNative.java:46)
at com.griaule.grfingerjava.GrFingerJavaNative.(GrFingerJavaNative.java:28)
at com.griaule.grfingerjava.GrFingerJava.setLicenseDirectory(GrFingerJava.java:96)
at procedimientos.Util.setFingerprintSDKNativeDirectory(Util.java:106)
at interfaz.PantallaPrincipal.main(PantallaPrincipal.java:238)
Java Result: 1
QUISIERA SABER SI ME FALTA ALGUNA LIBRERIA YA REVISE LOS PASOS DE LA PRIMERA PARTE
Hola que tal! me puedes pasar el Link para descargar todo el codigo de tu aplicacion? te anticipo que no soy programador java, pero lo intento, nada mas que me lo encargaron en mi trabajo y al principio lo hice con visual basic y me funciona muy bien, de hecho lo tengo con MySql, pero el nuevo Jefe lo quiere implementar en Java, de antemano gracias.
ResponderBorrareste es mi correo gedworl@gmail.com
Para los qe no les funciona el enlace por alguna razon es esta.
ResponderBorrarhttp://www.mediafire.com/?5fyytuuidny
hola, interesante el desarrollo de esta aplicacion, pero me resulta una pregunta y no se si ya te la han hecho, pero como puedo adaptar este tipo de desarrollo a uno que esta ya creado en php y lo que necesito es incorporarle la opcion de lectura de huellas y verificacion en la base de datos??
ResponderBorraragradeceria tu respuesta--
Qué tal,
ResponderBorrarEs posible integrar un módulo de este tipo en una aplicación php por medio de un applet.
Hola, primero que todo te felicito por este excelente tuto, aun no lo implemento pero lo he leído todo y esta muy claro, además que las imágenes y las secciones de código están muy detalladas, pero te quiero hacer una pregunta, veo que en el método verify(String nom) se hace la consulta a la BD filtrando el registro por el nombre y al obtenerlo se compara el mapa de la huella, con lo cual me imagino que sera muy eficiente la búsqueda, pero mi pregunta recae en el escenario en el cual no se solicite por ejemplo el nombre sino que solo con la huella se realice la búsqueda, como me lo imagino seria realizar una búsqueda de todas las huellas e iterar el resultado y allí realizar una comparación una a una de cada huella de la BD contra la que buscamos, pero esto a simple vista es costoso en tiempo y recursos si pensamos que se tengan muchos usuarios registrados en la tabla ( no se 1000 o mas pensando en grande ), ahora bajo este escenario que te planteo ves una solución que sea mejor que la que pienso yo? es que la verdad aunque esa opción es la mas básica no veo muchas alternativas.
ResponderBorrarTe repito muchas gracias.
Hola,
ResponderBorrarhe revisado el tutorial y me ha parecido muy bueno, la información es verdaderamente útil. Veo que entre las preguntas que te hicieron está la integración a un programa php, yo trabajo en lenguaje java pero sobre plataformas Web, y tengo precisamente esa idea, como puedo hacer funcionar el lector pero en entorno web?, ya me lo había imaginado con una applet pero me preocupa la idea de que salga un applet muy pesado, y además como superar el tema de permisos para acceder los drivers que se necesitan, me gustaría ponerme en contacto contigo para llevarlo a cabo como proyecto open source.
hola antes que nada estube le yendo el post y megusto por que voy a realizar un proyecto parecido pero necesito descargar tu proyecto para que le pueda enter mejor a un que lo que tu dices esta muy claro lo que me refiero es verlo como trabaja y no lo puedo descargar de link
ResponderBorrarmegustaria que lo mandaras a mi correo,
mi correo es pelon_12luis@hotmail.com por favor lo necesito te lo agradeceria mucho, y eres muy bueno programando felecidades.
hola ke tal amigo...recien acabo de ver tu blog y me parecio super interesante por la manera en que explicas este ejemplo...de verdad muchas gracias m sirvio un buen...
ResponderBorraraaa y para los ke no han podido descargar el ejemplo comprimido...este es el link
http://www.mediafire.com/?5fyytuuidny
aMIGO MUCHISIMAS GRACIAS POR TU APORTE... QUISIERA PEDIRTE UN GRANDE FAAVOR... AL TRATAR DE CORRER EL PROGRAMA ME SALE UN EROR DE UNA DLL pthreadVC2.dll Y NO SE COMO REPARLO... TE AGRADECERIA SI PUDIERAS COLABORARME... DE VERDAD LO NECESITO... MUCHAS GRACIAS
ResponderBorrarHola a todos , quiero agradecer a Monillo007 por esta excelente guía. Esta muy bien explicada y clara de entender.
ResponderBorrarEstuve leyendo la parte de Identificar a una persona y en el ejemplo se plantea que hay que traer todas las huellas e ir comprobando una a una para saber saber que persona es. Aparte de esta forma de que otra podemos identificar una persona .. no se algo como un WHERE en la BD ; ya que si los datos en la tabla son muy grandes ( 10.000.0000.000)registros creo que seria un proceso costoso y lento.
Muchas gracias por sus opiniones sobre esta duda.
"Para identificar una persona se necesita tomar una muestra de la huella digital y posteriormente compararla con todas aquellas entre las cuales se encuentra la persona, en este caso, entre todas las huellas registradas, si encontramos un registro que coincida entonces tenemos a la persona que buscamos."
gaso
ola estoy com un probrema com las importaciones que se ocupan en el programa no me funciona unas importaciones son las siguentes import com.griaule.grfingerjava.FingerprintImage;
ResponderBorrarimport com.griaule.grfingerjava.GrFingerJava;
import com.griaule.grfingerjava.GrFingerJavaException;
import com.griaule.grfingerjava.IFingerEventListener;
import com.griaule.grfingerjava.IImageEventListener;
import com.griaule.grfingerjava.IStatusEventListener;
import com.griaule.grfingerjava.MatchingContext;
import com.griaule.grfingerjava.Template;
me dice el netbeans que no existe tal importaciones
si me pueden ayudar xfa.
gracia.
HOLA HE SEGUIDO TU PROYECTO, YO TRABAJO EN GOBIERNO DEL ESTADO DE MÉXICO COMO DESARROLDOR Y HE TRATADO DE HECHAR ANDAR ALGO SIMILAR PERO TENGO UN PROBLEMA PARA COMPARAR LAS HUELLAS ¿PRODRIAS COLGAR EL PROYECTO PARA QUE VEA LA RUTINA DE COMPARACIÓN CON LA BD? YA QUE EN DONDE LA TENIAS YA NO ESTA DISPONOBLE.
ResponderBorrarTE MANDO MIS CORREOS
abo270381@hotmail.com
gabriel.correa@edomex.gob.mx
DE ANTEMANO GRACIAS!!!!!!!
alguien me puede pasar el link de la 4ta parte porque no la encuentro porfavor se los agradeceria mucho y si acaso tienen el archivo de descarga tambien porque no me permite descargalo
ResponderBorrarQué tal,
ResponderBorrarAl inicio de este artículo están los links a todas las demás partes.
Un saludo.
Hola estimado amigo...
ResponderBorrarHe probado su proyecto que esta espectacular, pero al momento de compilar para LANZARLO... me da el siguiente ERROR... :
Exception in thread "main" java.lang.UnsatisfiedLinkError: no grfingerjava in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1709)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at com.griaule.grfingerjava.GrFingerJavaNative.loadLibrary(GrFingerJavaNative.java:46)
at com.griaule.grfingerjava.GrFingerJavaNative.(GrFingerJavaNative.java:28)
at com.griaule.grfingerjava.GrFingerJava.setLicenseDirectory(GrFingerJava.java:96)
at procedimientos.Util.setFingerprintSDKNativeDirectory(Util.java:106)
at interfaz.PantallaPrincipal.main(PantallaPrincipal.java:238)
Java Result: 1
QUISIERA SABER SI ME FALTA ALGUNA LIBRERIA YA REVISE LOS PASOS DE LA PRIMERA PARTE y NO LOGRE CONSEGUIR NADA.
MUCHAS GRACIAS POR TU AYUDA...
Qué tal,
ResponderBorrarTe comento que la excepción es por que el programa no encuentra los archivos dll en el registro del sistema operativo, verifica que dichos archivos (mencionados en la parte 1) se encuentren en la carpeta c:\windows\system32\ en caso de Xp, para otros sistemas operativos habría que verificar la ruta.
Un saludo.
Muchas gracias ya lo encontre de casualidad todavia tendras el proyecto comprimdo?
ResponderBorrarmi correo es iga_3@hotmail.com
Saludos!
Ya lo hize jalar y todo pero no me enciende el lector de huella ¬¬ intente con dos distintos modelos y si me funcionan en el sample del griaule pero en el proyecto nomas no prende =/
ResponderBorrarBuenas amigo, muy buen tutorial, actualmente me encuentro buscando alternativas para echar a andar el lector eikon, buscando y buscando me encontre con esta pagina, me he descargado tu proyecto de netbeans pero al generar el jar y ejecutarlo, que el lo primero que debo hacer al iniciar el programa? Lo pregunto porque las lineas verdes a que haces referencia no me aparecen, por otro lado si le doy al boton guardar me da una excepcion nullpointerexception en el boton guardar.
ResponderBorrarAgradeceria cualquier ayuda de tu parte, mi mail es magroberth@gmail.com
Hola muy bueno el tutorial, pero no de deja descargar, depronto un mirror para descargarlo
ResponderBorrargracias
Hola Monillo:
ResponderBorrarComo muchos aqui hemos venido siguiendo los tutoriales, y en lo personal me parece un graqn logro para los que estamos en esta area y de seguro que nos ayudara en gran medida.
Al correr el codigo que nos dejaste yo tuve unos problemillas, en algunos casos no me corria por eso me dirijo hacia para pedirte que talvez me pudieras enviar el codigo a mi correo eddy_usb2008@hotmail.com.
De antemano te agradezco por este gran tutorial.
Atte: Edson.
Aquí el enlace:
ResponderBorrarhttp://www.mediafire.com/?5fyytuuidny
Saludox!
Buenisimo, muy claro y sencillo de explicar... anuque yo creo que su elaboracion tuvo su grado de dificultad.. muy bien! :)
ResponderBorrarHola muchas gracias por el tuto , quisiera saber si hay alguna manera de hacer las pruebas sin necesitadad de tener un dispositio , podria hacerce con el lector que tiene el mismo pc?
ResponderBorrarQué tal,
ResponderBorrarEs probable que funcione, revisa la lista de lectores compatibles directamente en www.griaule.com.
Saludos.
hola muy bueno tu tutorial pero a mi me da un problema que no eh podido resolver a la hora de identificar
ResponderBorrarcom.griaule.grfingerjava.GrFingerJavaException: Unknown error
at com.griaule.grfingerjava.MatchingContext.verify(MatchingContext.java:338)
at procedimientos.Util.identificarPersona(Util.java:234)
at interfaz.PantallaPrincipal.btnIdentificarActionPerformed(PantallaPrincipal.java:265)
at interfaz.PantallaPrincipal.access$400(PantallaPrincipal.java:28)
at interfaz.PantallaPrincipal$4.actionPerformed(PantallaPrincipal.java:165)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6267)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Qué tal,
ResponderBorrarQué sistema operativo, versión del SDK y lector tienes?
Saludos.
hola el sistema operativo es windows 7, sdk 2009 y lector es digital persona 4000b
ResponderBorrarQué tal Hector,
ResponderBorrarTe comento que este tutorial está basado en la versión 2007 del SDK, el 2009 es bastante parecido pero tiene sus diferencias, para verificar el por qué de tu error será necesario (por lo pronto) que te pongas en contacto con el soporte de Griaule directamente o en su defecto que utilices el 2007 con otro lector ya que el que utilizas tiene problemas de compatibilidad.
Saludos.
y tambien ya hice la prueba con el sdk 2007. como te digo si me deja guardar y verificar pero a la hora de identificar me da ese error
ResponderBorrarTe recomiendo entonces probar con el proyecto que se puede descargar desde el final del artículo para descartar cualquier posibilidad, si corre sin problemas verifica las diferencias entre ambos proyectos.
ResponderBorrarIgual pruebas y me dices cómo te fue.
Hola Luis he tenido inconvenientes para descargar la aplicacion y probarla ya que he tratado el paso a paso y no he podido lograr su buen funcionamiento te agradezco si me puedes colaborar para poder hacer efectiva la descarga.
ResponderBorrarAquí el link:
ResponderBorrarhttp://www.mediafire.com/?5fyytuuidny
Si aún no puedes descargarlo deja tu correo y te lo mando.
Saludos.
Esta parte de Aqui me salen error en tdo caso si tienes la libreriaz podriaz subirlo para descargarlos
ResponderBorrarimport com.griaule.grfingerjava.FingerprintImage;
import com.griaule.grfingerjava.GrFingerJava;
import com.griaule.grfingerjava.GrFingerJavaException;
import com.griaule.grfingerjava.IFingerEventListener;
import com.griaule.grfingerjava.IImageEventListener;
import com.griaule.grfingerjava.IStatusEventListener;
import com.griaule.grfingerjava.MatchingContext;
import com.griaule.grfingerjava.Template;
Qué tal, al final del artículo tienes la liga para la descarga.
ResponderBorrarSaludos.
UNA PREGUNATA... SERA QUE SE PUEDE UTILIZAR CON EL LECTOR DE HUELLA DIGITAL DE MI LAPTOP... ES UNA HP....
ResponderBorrarQué tal,
ResponderBorrarExiste un listado de lectores compatibles directamente en la página del fabricante www.griaule.com.
Saludos.
muchas gracias por este aporte, en serio y muy bacano el blog
ResponderBorrarsaludos y sigue asi
Primero que todo muchas gracias por el tutorial de "Programación de un lector de huella digital en Java" me funciono perfectamente con el lector óptico Microsoft. Ahora lo quise trabajar con un lector de sensor capacitivo, Zvetco P6000 que se encuentra en la lista de lectores compatibles de Griaule, el problema que se me presenta es que cuando coloco por primera vez la huella me la reconoce muy normal, sin embargo al intentar poner otra huella ya sea para realizar cualquier acción no la lee ni la reconoce sólo se queda con la primera imagen que tomó. No se a que se pueda deber este problema pero agradecería cualquier colaboración que me pudieras brindar.
ResponderBorrarsaludos amigo gracias por el tutorial de "Programación de un lector de huella digital en Java" me funciono perfectamente pero me gustaria que me ayudaras o me orientaras en como cambiar el estilo a la huella que se dibuja en el panel .. colores
ResponderBorrarHOLA SE ME HACE UN TANTO COMPLICADO AUNQUE ESTA MUY FACIL LA GUIA NO ME CORRE YA INTENTE DESCARGAR EL FINGERINSTALLER2007 DESDE TUS ENLACES PERO YA TODOS CASI ESTAN FUERA EN SU LUGAR DESCARGUE EL 2009 E HICE TODO DEACUERDO A LA ESTRUCTURAS PERO AL REEDIRECCIONAR LAS LIBRERIA YA NO ME APARECEN CIERTAS CARPETAS COMO LA EXT CREO QUE POR ALLI ES LO QUE ME ESTA CAUSANDO EL PROBLEMA OJALA Y PUEDAS RESUBIR TU PROYECTO COMPLETO PAR QUE TRATAR DE CORRERLO GRACIAS
ResponderBorrarQué tal,
ResponderBorrarPara cambiar los colores se debe utilizar el método setBiometricImageColors(), la información de su uso se localiza directamente en el javadoc del SDK de Griaule (usualmente en C:\Program Files\Griaule\Fingerprint SDK Java 2007\doc\javadoc).
Para descargar el proyecto completo puedes ir a http://830d9902.tinylinks.co. Te recomiendo utilizar el SDK 2007 ya que es el que se utilizó para este tutorial y no se tuvo ningún problema. Puedes descargarlo desde el siguiente enlace:
http://min.us/mvfrHo#1o
Saludos.
Hola, quisiera saber si hay alguna forma de calcular el tiempo que tarda en reconocer la huella desde que se pone el dedo en el sensor. Había pensado en definirlo en el OnFingerDown y/o OnFingerUp pero no estoy segura de como sería.
ResponderBorrarGracias, Johana
Qué tal Johana,
ResponderBorrarHe revisado el SDK y al parecer no hay un método que lo calcule tal cual, por lo cual tendrías que hacerlo manualmente mediante Hilos (aquí un artículo al respecto).
Otra opción sería que en el método verificar iniciaras guardando la hora (con segundos y milisegundos) en que comienza el proceso y al identificar la huella hicieras el cálculo del tiempo que transcurrió entre el inicio y el fin del proceso.
Espero haberte dado una idea :). Saludos.
Gracias por la idea estoy mirando como resolverlo porque necesito calcular el tiempo que pasa desde que pongo el dedo en el lector hasta que se ve la imagen en la aplicación con el template y todo. Johana
ResponderBorrarBuenas noches, mira quería preguntar como podría volver a cargar una plantilla que tenga en la base de datos a la aplicación porque tengo una base de datos muy grande y no puedo contar con las personas registradas para que vuelvan a poner su huella e identificarlas. Necesito simular que se puso la huella así no sea toda la imagen lo que se muestre. Muchas gracias. Karen
ResponderBorrarsaludos luis navarro tengo este codigo pero nose como implementarlo me puede ayudar lo saque de aqui
ResponderBorrarhttp://lisbioid.googlecode.com/svn-history/r6/trunk/Biometrico/src/Controlador/Main.java
// Sets the colors of biometric display
public void setBiometricDisplayColors(Color minutiaeColor,
Color minutiaeMatchColor, Color segmentColor,
Color segmentMatchColor, Color directionColor,
Color directionMatchColor) {
try {
// set new colors for BiometricDisplay
GrFingerJava.setBiometricImageColors(minutiaeColor,
minutiaeMatchColor, segmentColor, segmentMatchColor,
directionColor, directionMatchColor);
} catch (GrFingerJavaException e) {
// write error to log
//ui.writeLog(e.toString());
}
}
Saludos Luis navarro e estado investigando para cambiar el estilo y es sobre grafico pero de eso no se mucho pude modificar esta linea 1 por la linea 2 y me muestra la huella pero en negro me podrias ayudar como asignarle otro colo saludos te agrecedeceria ante mano..
ResponderBorrar//Se dibuja la imagen
1 // g.drawImage(fingerprintImage, transX, transY, width, height, null);
2 boolean drawImage = g.drawImage(fingerprint, transX, transY, width, height, Color.blue, nombre);
hola monillo007, como puedo resolver este error, segui los pasos al pie de la letra, utilizo las herramientas que manejaste en el tutorial, pero no entiendo por que sale este error
ResponderBorrarcom.griaule.grfingerjava.GrFingerJavaException: License not found or read error
at com.griaule.grfingerjava.MatchingContext.createContext(MatchingContext.java:60)
at com.griaule.grfingerjava.MatchingContext.(MatchingContext.java:103)
at procedimientos.Util.inicializarCaptura(Util.java:61)
at interfaz.PantallaPrincipal.(PantallaPrincipal.java:41)
at ejemplolectorhuellas.Main.main(Main.java:25)
Java Result: 1
Qué tal,
ResponderBorrarEl error se debe a que no localiza el archivo de licencia que necesita para ejecutarse, verifica que lo indicado en la parte 1 del tutorial se haya realizado completa y correctamente.
Saludos.
Hola monillo puedes volver a subir el proyecto en formato comprimido? esque sale borrado!
ResponderBorrarbuenos aportes eh, estoy probando con los colores... Mi pregunta va si se puede manipular las luces con griaule del hardware, por ejemplo del nitgen hamster ii, y si no como podria manipular para este hardware... espero q alguno me responda... Ah si corre muy bien con el SDK2009, por lo menos no tengo problemas... haber como me ira luego... espero una respuesta gracias...
ResponderBorrarDisculpa puedes resubir tu proyecto? El link esta caido. Saludos!!!
ResponderBorrarHola, excelente tuto :).
ResponderBorrarTodo muy bien explicado como para no preguntar xD pero aquí voy :P.
¿Cómo haría para que la imagen (de la huella) me muestre en otra ventana sin iniciar una nueva instancia de fingerprint?
Saludos.
Pd. Todo funciona muy bien.
Funciona muy bien pero pasa muy seguido que identica una huella que no corresponde, ¿ha alguien más le sucede lo mismo?.
ResponderBorrarHola a tos tengo un lector de Biomini Suprema y el SDK no lo Reconose si alguien me puede ayudar a resulver este pequeño proble se lo agradesco de antemano
ResponderBorrarMi hermano muchas gracias, que Dios te siga dando conocimiento, muy bien explicado y de facil comprension, de verdad gracias.
ResponderBorrarIsaac P. B.
Solo una pregunta busque la liga para descargar el proyecto, pero no lo encontre, porfa me lo podrias pasar, ya sea que me respondas por aca o si me hace el favor de enviarmelo a mi correo, de antemano muchas muchas gracias.
emails: cibereternet@hotmail.com, techno-cyber@hotmail.com
Hola Luis, de casualidad sabes como puedo comprar la licencia???, esque me meti a la pagina y vi varios sdk, pero no vi el que es compatible con java, de antemano gracias, saludos.
ResponderBorrarEnvíame un correo a monillo007@gmail.com para hacerte llegar la información. Saludos.
ResponderBorrargracias Luis, excelente tuto ....yo tengo 10 licencias pero para el sdk de escritorio ("Fingerprint SDK 2007) y aunque hay una carpeta de java en "samples" no me funciona.
ResponderBorrarserá q estoy haciendo algo mal o es por q tengo que adquirir por separado la el sdk JAVA?
(por cierto captcha mas complicado)
Hola que tal mi estimado Luis Navarro me parese mas que excelente tu tutorial ya que nos ayudas a varios con este gran aporte de programacion.
ResponderBorrarTe comento que empeze con este proyecto y segui los pasos que has realizado hasta ahorita pero al momento de ejecutarlo me sale el siguiente error:
===========================================================
========= GRIAULE BIOMETRICS FINGERPRINT SDK 2009 =========
========= =========
========= TRIAL VERSION =========
========= 30-Day Evaluation =========
========= =========
========= Buy licenses at =========
========= www.griaulebiometrics.com =========
========= This trial license expired =========
========= 125 days ago =========
===========================================================
com.griaule.grfingerjava.GrFingerJavaException: Unknown error
at com.griaule.grfingerjava.MatchingContext.createContext(MatchingContext.java:95)
at com.griaule.grfingerjava.MatchingContext.(MatchingContext.java:138)
at procedimientos.Util.inicializarCaptura(Util.java:34)
at interfaz.PantallaPrincipal.(PantallaPrincipal.java:32)
at interfaz.PantallaPrincipal.main(PantallaPrincipal.java:184)
Java Result: 1
si me pudieras ayudar te lo agradeseria muchisisismo saludos desde Zacatecas mexico
Hola.. muchas gracias por tu aporte... solamente que he estado trabajando con el SDK 2009 y existe problemas cuando intento correr el programa y el 2007 que mencionas no lo encuentro por ningun lado... me podrias decir donde descargar el 2007 o mandarmelo porfavor?? raul.lerma3@gmail.com
ResponderBorrarMuchas Gracias...
Por que cuando mando a llamar el frame donde se lee la huella desde otro frame(un menu principal) me manda el error de "com.griaule.grfingerjava.GrFingerJavaException: License not found or read error", pero cuando lo corro directamente me funciona bien.
ResponderBorraramigo me puedes mandar a mi correo el fingerprint sdk java 2007 por favor juanvm7910@hotmail.com o juanvama7910@gmail.com
ResponderBorrarsaludos amigo me puede pasar un link para descargar el fingerprint sdk java 2007 a mi correo es jamith.m@hotmail.com o ha este mercadojamith@gmail.com
ResponderBorrarexcelente tutorial 10/10
ResponderBorrarHola me interesa mucho, al final dice que es un formato comprimido, me lo puedes mandar a mi correo libra_gemelo18@live.com.mx es que lo estube checando y no salen algunas imagenes!!
ResponderBorrarEl archivo ya no esta podrías subirlo nuevamente, gracias
ResponderBorrarSi, por favor sube el proyecto nuevamente es que ya no existe, si puedes en mega o por otro servidor, gracias de antemano.
ResponderBorrarQue buen tutorial solo que no eh podido compilar me salen errores me gustaria que pusieras nuevamente el link ya que quise bajar el zip pero no me deja, gracias
ResponderBorrarhola monillo007 de casualidad podrias subir la base para probar el ejemplo, por que nuestro virdi foh01 no hace nada cuando colocamos el dedo en el lector
ResponderBorraraL FINAL ME SALE ERROR ME PUEDES AYUDAR
ResponderBorrarimport com.griaule.grfingerjava.FingerprintImage;
import com.griaule.grfingerjava.GrFingerJava;
import com.griaule.grfingerjava.GrFingerJavaException;
import com.griaule.grfingerjava.IFingerEventListener;
import com.griaule.grfingerjava.IImageEventListener;
import com.griaule.grfingerjava.IStatusEventListener;
import com.griaule.grfingerjava.MatchingContext;
import com.griaule.grfingerjava.Template;
todas estas librerias pueden ser usadas tambien en eclipse rodrirchz@gmail.com
ResponderBorrarAlguien tiene el codigo o el proyecto de netbeans lo corro y no me funciona!! para nada!!! mi correo ronyargueta@yahoo.es
ResponderBorrarEsta caido el link de descarga...¡¡
ResponderBorrarPorfavor Alguien Puede enviarme el archivo ? el proyecto ? algo en un rar porfavor ? gracias de antemano
ResponderBorrarmaster_guaja@hotmail.com
porfavor
Buenas por favor si alguien que dispone del proyecto o los fuentes si podria enviarmelo, a mi email mikelquevedo@gmail.com
ResponderBorrarHola monillo podrías volver a poner el archivo ya que el link esta caído y no se pude descargar. gracias.
ResponderBorrarPara los que tienen problemas en descargar del link, este es el enlace directo:
ResponderBorrarhttp://www.mediafire.com/file/5fyytuuidny/EjemploLectorHuellas.rar
Me ayudó muchísimo éste proyecto para un proyecto que hice. Lo máximo.