ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Huella C# Programacion


Enviado por   •  30 de Marzo de 2014  •  5.214 Palabras (21 Páginas)  •  1.374 Visitas

Página 1 de 21

jueves, 27 de agosto de 2009

Utilizar lector de huellas en nuestras aplicaciones .net - Segunda parte

En esta entrada le mostraré la forma en la que pueden implementar el lector de huellas digitales (o dactilares) en nuestras aplicaciones .net.

El ejemplo esta hecho en C# con VS 2010, MySQL y la librería de Griaulle (fingerpint SDK 2009); si no recuerdan de donde obtener la librería, pueden consultarlo aquí. Se utilizó, también, el connector/net para enlazar a MySQL con C#.

Lo primero que debemos hacer es instalar el Griaulle Fingerprint SDK 2009, este ejemplo está hecho con la versión 2009 del SDK. Es importante recordar la ruta de la instalación.

Como segundo paso debemos configurar nuestra base de datos, ya que la información se almacenará en dicha base de datos, en el ejemplo realizado tenemos una base de datos llamada “finger” y una tabla llamada “data”, la tabla tiene 5 campos:

Id (int)

texto_asociado (text): en este campo almacenaremos un texto de referencia para identificar el registro

template (mediumblob): aquí almacenaremos el template extraído de la huella.

Imagen (mediumblob): este campo no se utiliza en este ejemplo

Calidad_template (int): sirve para almacenar la calidad del template extraido y almacenado en el campo “template”.

Una vez creado el proyecto en VS, el primer paso es agregar la referencia de la librería de Griaulle a nuestro proyecto, eso lo hacemos con un clic con el botón derecho en el explorador de soluciones (Solution Explorer), en la sección de referencias (references), del menú emergente seleccionamos: Agregar referencia(Add reference), posteriormente seleccionamos la pestaña Examinar (Browse) y tenemos que elegir el directorio de instalación del SDK (en este caso: C:\Program Files\Griaule\Fingerprint SDK 2009\bin\GriauleFingerprintLibrary.dll); realizamos los mismo pasos para el connector/net que nos servirá para la Base de Datos (la dirección en este caso es: C:\Program Files\MySQL\MySQL Connector Net 6.0.4\Assemblies\MySql.Data.dll). Ya que hemos agregado las referencias, podemos iniciar con nuestro proyecto.

En el ejemplo mostrado, hemos diseñado un formulario con 2 opciones:

Registrar: Inserta la información de la huella recién adquirida en la base de datos, junto con el texto asociado.

Identificar: Identifica la huella, comparando la huella recién extraida contra cada una de las huellas almacenadas en la base de datos.

Hace falta una opción importante: Verificar, pero es muy fácil de implementar.

Si no recuerdan lo que significa Identificar, Verificar o algún otro concepto, este es el momento perfecto para consultarlo en este articulo.

Al momento de utilizar el fingerprint SDK, lo que debemos hacer es declarar e inicializar un objeto del tipo FingerprintCore:

GriauleFingerprintLibrary.FingerprintCore core = New GriauleFingerprintLibrary.FingerprintCore();

Después, declaramos los manejadores de los eventos onStatus (se dispara cada vez que un lector de huellas es conectado o desconectado) y onImage (se dispara cada vez que una imagen es adquirida por algún lector):

core.onStatus += new GriauleFingerprintLibrary.StatusEventHandler(core_onStatus);

core.onImage += new GriauleFingerprintLibrary.ImageEventHandler(core_onImage);

Uno de los requisitos para poder utilizar la libreria es “inicializarla”, es decir, indicar que vamos a iniciar el uso de la librería:

core.Initialize();

Hecho esto, podemos indicar al lector que vamos a hacer uso de la captura de huellas:

core.CaptureInitialize();

--------------------------------

Texto agregado el 18/12/2009: Personalmente he optado por declarar los eventos y realizar las inicializaciones correspondientes en el evento load del formulario.

--------------------------------

Hasta este punto hemos iniciado la captura de huellas con nuestro lector y hemos definido la función que se ejecutará cada vez que una huella se adquiere del lector (con el evento onImage) y la función que se ejecuta cuando un lector es conectado o desconectado en nuestro equipo (con el evento onStatus).

En la función que se ejecuta cuando el lector es conectado al equipo, debemos indicarle a la librería que debe iniciar la captura de huellas con ese lector, esto lo hacemos de la siguiente manera:

void core_onStatus(object source,GriauleFingerprintLibrary.Events.StatusEventArgs se)

{

if (se.StatusEventType == GriauleFingerprintLibrary.Events.StatusEventType.SENSOR_PLUG)

{

core.StartCapture(source);

}

}

/*--------Añadido el 09 de Marzo del 2010------------*/

La función onImage que utilizamos en el ejemplo hace una comprobación de la calidad de la imagen obtenida del lector, si es de mala calidad se debe volver a capturar una huella, si es de calidad media se pregunta al usuario si desea continuar y si es de buena calidad se continúa sin ningún problem:

void core_onImage(object source, GriauleFingerprintLibrary.Events.ImageEventArgs ie)

{

buttonOK.Enabled = groupBox1.Enabled = false;

try

{

imagenHuella = ie.RawImage;

core.Extract(imagenHuella, ref templateHuella); // extraemos la informacion de la huella y almacenamos esa informacion en templateHuella

...

Descargar como (para miembros actualizados)  txt (25.4 Kb)  
Leer 20 páginas más »
Disponible sólo en Clubensayos.com