static void insertaHuellasDesdeCarpeta() { // Inicializa la carpeta de imagenes //DirectoryInfo di = new DirectoryInfo(@"C:\Users\PC_STE_19\Documents\Visual Studio 2015\Projects\BiometricFinger\images"); DirectoryInfo di = new DirectoryInfo(@"C:\Users\PC_STE_19\Desktop\DEDOS_SECUGEN"); Console.WriteLine("No search pattern returns:"); List <Usuario> usuarios = new List <Usuario>(); using (var context = new db_Entidades()) { foreach (var fi in di.GetFiles()) { AfisEngine Afis = new AfisEngine(); //Bitmap image1 = (Bitmap)Image.FromFile(@"C:\Users\PC_STE_19\Documents\Visual Studio 2015\Projects\BiometricFinger\images\" + fi.Name, true); Bitmap image1 = (Bitmap)Image.FromFile(@"C:\Users\PC_STE_19\Desktop\DEDOS_SECUGEN\" + fi.Name, true); Fingerprint f = new Fingerprint(); f.AsBitmap = image1; Usuario usu = new Usuario(); Person persona = new Person(); persona.Fingerprints.Add(f); Afis.Extract(persona); usu.username = fi.Name; usu.finger = f.AsIsoTemplate; usuarios.Add(usu); Console.WriteLine(fi.Name); context.Usuario.Add(usu); } context.SaveChanges(); } }
private Usuario verificaHuella(Fingerprint fingerPrint) { Usuario usuarioVerificado = null; using (var context = new db_Entidades()) { UsuarioAFIS usuarioABuscar = new UsuarioAFIS(); usuarioABuscar.Fingerprints.Add(fingerPrint); //Creamos Objeto AfisEngine el cual realiza la identificación de usuarios AfisEngine Afis = new AfisEngine(); // Marcamos límite para verificar una huella como encontrada Afis.Threshold = 50; Afis.Extract(usuarioABuscar); //Obtenemos los usuarios registrados en la base de datos var usuariosBBDD = context.Usuario.ToList(); //Lista de tipo UsuarioAFIS, los cuales rellenamos con plantillas de huellas dactilares e id de usuario de la base de datos List <UsuarioAFIS> listaUsuariosAFIS = new List <UsuarioAFIS>(); foreach (var usuario in usuariosBBDD) { Fingerprint fingerPrintAUX = new Fingerprint(); fingerPrintAUX.AsIsoTemplate = usuario.finger; UsuarioAFIS usuarioAFIS_AUX = new UsuarioAFIS(); usuarioAFIS_AUX.id = usuario.id; usuarioAFIS_AUX.Fingerprints.Add(fingerPrintAUX); listaUsuariosAFIS.Add(usuarioAFIS_AUX); } //Realiza la busqueda UsuarioAFIS usuarioEncontrado = Afis.Identify(usuarioABuscar, listaUsuariosAFIS).FirstOrDefault() as UsuarioAFIS; if (usuarioEncontrado == null) { Console.WriteLine("No se ha encontrado"); //cS.enviaCadena("NO IDENTIFICADO"); usuarioVerificado = null; } else { //Obtenemos la puntuación de los usuarios identificados float puntuacion = Afis.Verify(usuarioABuscar, usuarioEncontrado); usuarioVerificado = usuariosBBDD.Find(x => x.id == usuarioEncontrado.id); //cS.enviaCadena("IDENTIFICADO"); //cS.enviaCadena(usuarioCompleto.username); Console.WriteLine("Encontrado con: {0:F3}, Nombre: {1}", puntuacion, usuarioVerificado.username); } } return(usuarioVerificado); }