 private void marcar(){  
        fplib = new JSGFPLib();
       
        ret = fplib.Init(SGFDxDeviceName.SG_DEV_AUTO);
        ret = fplib.OpenDevice(-1);
        
        if (fplib != null){
        
        ret = fplib.GetDeviceInfo(deviceInfo);
        int[] quality = new int[1];
        int v_encontro = 0;
        long nfiqvalue ;
       
        while(quality[0] <= 74){
           BufferedImage img1gray = new BufferedImage(deviceInfo.imageWidth, deviceInfo.imageHeight, BufferedImage.TYPE_BYTE_GRAY);
           byte[] imageBuffer1 = ((java.awt.image.DataBufferByte) img1gray.getRaster().getDataBuffer()).getData();
           fplib.GetImageQuality(deviceInfo.imageWidth, deviceInfo.imageHeight, imageBuffer1, quality);
           ret = fplib.GetImageEx(imageBuffer1,5000, 0, 50);
           long ret2 = fplib.GetImageQuality(deviceInfo.imageWidth, deviceInfo.imageHeight, imageBuffer1, quality);
           nfiqvalue = fplib.ComputeNFIQ(imageBuffer1, deviceInfo.imageWidth, deviceInfo.imageHeight);
           SGFingerInfo fingerInfo = new SGFingerInfo();
           fingerInfo.FingerNumber = SGFingerPosition.SG_FINGPOS_LI;
           fingerInfo.ImageQuality = quality[0];
           fingerInfo.ImpressionType = SGImpressionType.SG_IMPTYPE_LP;
           fingerInfo.ViewNumber = 1;
           fplib.GetTemplateSize(vrfMin, size);
           this.jlb_mensaje.setText("Calidad de Imagen [" + quality[0] + "] --- NFIQ = [" + nfiqvalue + "]" );
           if (fplib != null && quality[0] > 74)
           {  
            this.jlbl_dedo.setIcon(new ImageIcon(img1gray.getScaledInstance(jlbl_dedo.getWidth(),jlbl_dedo.getHeight(),Image.SCALE_DEFAULT)));
            /*creo la plantilla para mostrar la imagen de la huella digital */
            ret = fplib.CreateTemplate(fingerInfo, imageBuffer1, regMin1);
            
            v_codigo = this.txt_idcontrato.getText();
            v_where = " where id_contrato = ";
            v_where = v_where +  v_codigo  + " and ubicacion = 1";
           //Se arma la consulta con la tabla de empleados en el caso de esta prueba solo trae una huella
            conexion fbc = new conexion();

            fbc.consulta("*","HUELLAS","",v_where);
             // trae todos las huellas registrada del personal asignado
            try {
                
                //if (fbc.vresultSet.next()){
                    long iError;
                    long secuLevel = 5;
                    boolean[] matched = new boolean[1];
                    /*trae la huella guardada en el campo huella_dedo */
                   
                    if(fbc.vresultSet.next()){
                                            
                      imageBuffer1 = fbc.vresultSet.getString("huella_dedo").getBytes();
                    
                      matched[0] = true;
                    
		      // verifico la imagen de la base de datos con la capturada
		
		      iError = fplib.MatchTemplate(imageBuffer1,regMin1, secuLevel, matched); 
                      
                      System.out.println(matched[0]);
                     if (matched[0] == true){
                        v_encontro = 1;
                       this.jlb_mensaje.setText("Registrado");
                      }else{
                         this.jlb_mensaje.setText("No Registrado");
                     }
                    }
                    
            } catch (SQLException ex) {
                JOptionPane.showMessageDialog(null,"Personal No registra Huella consulte con RR.HH."); 
            //ret = fplib.CreateTemplate(fingerInfo, imageBuffer1, regMin2);
            }      

           }
        }
        fplib.Close();
        }
    }