Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 5 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mié Ago 30, 2006 11:00 pm
Mensajes: 255
Ubicación: Cali - Colombia

Nota Publicado: Dom Oct 30, 2011 4:08 pm 
Arriba  
Hola a todos,
Hace rato que nos posteaba, pero bueno, aquí seguimos presente.
Estoy un un proyecto, donde se hace el manejo de un dispositivio biometrico, este es un fingerprint, estoy haciendo el uso de unalibrería de GrFinger.
He seguido un manual (aquí dejo el manual), y bueno todo ha salido bien.
El caso es, que la forma como estoy haciendo la verificación de la huella no es como la mas optima, ya que cuando hago el proceso de identificación, primero voy a la base de datos, saco todos las personas registradas, luego recorro la lista generada y ahí hago uso de la librería para comparar la huella almacenada en la bd contra la actual a verificar. Este proceso se esta tomando un tiempo que ya para el usuario es incomodo.
Ahora si vamos a ver algo de código y de ideas que eh tenido.
En inserción cuando hago el registro de una persona y su huella hago esto:
Estructura de la tabla
Código:
CREATE TABLE proveedor
(
  prvnro smallint NOT NULL,
  prvnit character(10) NOT NULL,
  prvnom character(100) NOT NULL,
  prvape1 character(60) NOT NULL,
  prvape2 character(60) NOT NULL,
  prvnom1 character(60) NOT NULL,
  prvnom2 character(60) NOT NULL,
  prvnomc character(60) NOT NULL,
  prvdir character(100) NOT NULL,
  prvtel character(10) NOT NULL,
  prvhuella bytea NOT NULL,
  CONSTRAINT proveedor_pkey PRIMARY KEY (prvnro)
)

Sentencia de inserción
Código:
strSql = "insert into PROVEEDOR(PRVNIT, PRVNOM, PRVAPE1, PRVAPE2, PRVNOM1, PRVNOM2, PRVNOMC, PRVDIR, PRVTEL, PRVHUELLA)"
                        + " values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

Parate de ejecución de la sentencia de inserción
Código:
pstSentencia.setBinaryStream(10, aProveedor.getBytPrvhuella(), aProveedor.getLenDataHuella());


Ahora quiero hacer un Select donde PRVHUELLA sea igual a lo capturado por el dispositivo y he tratado de hacer esto:
Código:
String strSql = "select * from PROVEEDOR where PRVHUELLA = ?)";

pstSentencia.setBinaryStream(1, new ByteArrayInputStream(template.getData()), template.getData().length);

Pero no funciona.
Nota la variable template, esta basada según este javadocs.
Me he sentado en el pgAdmin a revisar el tema y he logrado lanzar esta consulta:
Código:
select * from PROVEEDOR where PRVHUELLA::text like '%247%377%001%035-%';

Y por lo menos logro retornar un registro.

¿Cómo se puede hacer esta consulta desde Java?

Gracias.

_________________
ceduardo
[Linux USER #462524 ][Debian]
http://www.calinuxeros.org
IRC: irc.freenode.net Channels: (#debian-es – #debian)

 Perfil Email  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mié Nov 28, 2007 12:00 am
Mensajes: 1361
Ubicación: En la X del explorer (pulse para llamar)

Nota Publicado: Lun Oct 31, 2011 12:17 pm 
Arriba  
Yo optaría por realizar una conversión.

Los datos que tienes es un array de bytes (no necesariamente caracteres), y eso habría que convertirlo a lo que espera la sentencia select: un string (o su equivalente).

_________________
Descargue el gestor de mp3 "Music Manager" -> (mmlf)
Última versión del gestor "Music Manager" -> (jmmm)

 Perfil  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mié Ago 30, 2006 11:00 pm
Mensajes: 255
Ubicación: Cali - Colombia

Nota Publicado: Mié Nov 02, 2011 12:44 pm 
Arriba  
Helo, revisando mas a fondo el tema, por ahí pille que a pesar de que el dispositivo genera un binario para la huella, este nunca sera igual a la primera vez que se almaceno, estoy diseñando otra forma de realizar mi validación.

Salu2.

_________________
ceduardo
[Linux USER #462524 ][Debian]
http://www.calinuxeros.org
IRC: irc.freenode.net Channels: (#debian-es – #debian)

 Perfil Email  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mié Nov 28, 2007 12:00 am
Mensajes: 1361
Ubicación: En la X del explorer (pulse para llamar)

Nota Publicado: Mié Nov 02, 2011 5:40 pm 
Arriba  
Ahora que lo dices, me vienen a la cabeza las típicas películas policiacas cuando tienen que cotejar huellas... :!:

Habría que mirar cómo puedes cuantificar el porcentaje de acierto de la huella (como en las películas, que te dicen que la huella es de un señor con un X% de acierto), pero aún así tendrías que extraer todas las huellas.

Lo único que se me ocurre para limitar la búsqueda es (pensando en una imagen) eliminar aquellas que tienen un ancho o alto diferente al almacenado. Aún así no creo que elimines muchas ya que el margen de aceptabilidad (en principio pondría unos +/- 5mm) puede o no ser adecuado o no filtrar nada.

_________________
Descargue el gestor de mp3 "Music Manager" -> (mmlf)
Última versión del gestor "Music Manager" -> (jmmm)

 Perfil  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mié Abr 18, 2007 11:00 pm
Mensajes: 1209
Ubicación: Cojutepeque, El Salvador C. A.

Nota Publicado: Mié Nov 02, 2011 6:43 pm 
Arriba  
hola ceduardo, no se si es una desconsideracion mia pero te pondre un link de un proyecto de reconocimiento biometrico:

http://sourceforge.net/projects/biometricsdk/

y otro de oracle

http://developers.sun.com/identity/refe ... ation.html

suerte y exitos en tu trabajo.

_________________
Grüße...
Maiku

Full linux alchemist!!!

 Perfil WWW  
Mostrar mensajes previos:  Ordenar por  
 [ 5 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO