public ClsRetorno getImage(String ruta, Huella.Dedo tipoDedo) { if (this.scanner == null) { MessageBox.Show("Escanner no encontrado", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Error); return(null); } if (!this.scanner.IsSensorOn) { MessageBox.Show("Escanner desconectado", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Error); //this.Dispose(); return(null); } byte[] template = new byte[MAX_TEMPLATE_SIZE]; int templateSize; int enrollQuallity; this.ufs_res = this.scanner.ClearCaptureImageBuffer(); this.ufs_res = this.scanner.CaptureSingleImage(); this.ufs_res = this.scanner.Extract(template, out templateSize, out enrollQuallity); ruta += "_" + ((int)tipoDedo).ToString() + ".bmp"; this.ufs_res = this.scanner.SaveCaptureImageBufferToBMP(ruta); return(new ClsRetorno(enrollQuallity, ruta, template)); }
private void InitializeScanners() { try { WriteLog("Initializing scanners"); UFS_STATUS ufsRes = _scannerManager.Init(); if (ufsRes == UFS_STATUS.OK) { } else { string error = string.Empty; UFScanner.GetErrorString(ufsRes, out error); WriteLog(error, false); //init failed probably problem with license btnCapture.IsEnabled = false; return; } btnCapture.IsEnabled = UpdateScannersList() > 0; } catch (Exception ex) { WriteLog(ex.Message, true); } }
private void CaptureTemplate(object sender, RoutedEventArgs e) { try { UFScanner scanner = GetSelectedScanner(); if (scanner == null) { return; } this.Cursor = Cursors.Wait; scanner.ClearCaptureImageBuffer(); UFS_STATUS ufsRes = scanner.CaptureSingleImage(); if (ufsRes == UFS_STATUS.OK) { UFS_STATUS capturingStatus = ExtractTemplate(scanner); } else { string error = string.Empty; UFScanner.GetErrorString(ufsRes, out error); WriteLog(error, false); } } catch (Exception exc) { WriteLog(exc.Message, true); } this.Cursor = Cursors.Arrow; }
private int initializeScanner() { oScannerManager = new UFScannerManager(null); oUFS = oScannerManager.Init(); if (oUFS == UFS_STATUS.OK) { return(oScannerManager.Scanners.Count); } else { return(0); } }
public bool iniciarScanner() { this.ScannerManager = new UFScannerManager(this); this.ufs_res = this.ScannerManager.Init(); //get firts scanner this.scanner = this.ScannerManager.Scanners[0]; if (this.scanner == null) { MessageBox.Show("Escanner no encontrado", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } setParametros(); return(true); }
public string getFingerprintTemplates() { initializeBioStarMini(); int nNumScanners = initializeScanner(); if (nNumScanners > 0) { UFScanner oScanner; int[] nTemplateSize = new int[2]; int nEnrollQuality; oScanner = oScannerManager.Scanners[0]; oScanner.Timeout = 5000; oScanner.TemplateSize = MAX_TEMPLATE_SIZE; oScanner.DetectCore = false; for (int i = 0; i < 2; i++) { oScanner.ClearCaptureImageBuffer(); oUFS = oScanner.CaptureSingleImage(); if (oUFS == UFS_STATUS.OK) { oScanner.Extract(oTemplates[i], out nTemplateSize[i], out nEnrollQuality); Thread.Sleep(1000); } else { i--; } } for (int i = 0; i < 2; i++) { sOutputTemplates += encodeBytesToHex(oTemplates[i]); } uninitializeScanner(); } return(sOutputTemplates); }
private UFS_STATUS ExtractTemplate(UFScanner scanner) { try { byte[] template = new byte[TemplateBufferSize]; int enrollQuality = 0; UFS_STATUS ufsRes = scanner.Extract(template, out _templateSize, out enrollQuality); if (ufsRes == UFS_STATUS.OK) { if (template.Length != TemplateBufferSize) { //WriteLog(true, "Invalid template size, try again"); //return UFS_STATUS.ERR_NOT_GOOD_IMAGE; byte[] tmp = new byte[TemplateBufferSize]; for (int i = template.Length - 1; i < tmp.Length; i++) { tmp[i] = 0; } template = tmp; } WriteLog("Template capturing completed"); WriteLog(string.Format("Template quality is {0}", enrollQuality)); if (enrollQuality < Settings.MinimalTemplateQualityPercent) { MessageBoxResult result = MessageBox.Show("The quality of captured template is too low for using it, Would you like to retry template capturing?", "Poor template quality", MessageBoxButton.YesNo, MessageBoxImage.Information); if (result == MessageBoxResult.Yes) { CaptureTemplate(this, null); } } else { _template = Encoding.ASCII.GetString(TemplateConverter.ConvertToSynelTemplateFormat(template)); System.Drawing.Bitmap bitm = null; int resolution = 0; scanner.GetCaptureImageBuffer(out bitm, out resolution); fingerImage.Source = loadBitmap(bitm); } } else { string error = string.Empty; UFScanner.GetErrorString(ufsRes, out error); WriteLog(error, false); } return(ufsRes); } catch (Exception exc) { WriteLog(exc.Message, true); } return(UFS_STATUS.ERROR); }
public void apagarScanner() { this.ufs_res = this.ScannerManager.Uninit(); }
public string GetCardID() { try { Log("Start Get Card ID"); byte[][] DBTemplate = null; int[] DBTemplateSize = null; int[] DBSerial = null; int DBTemplateNum; int nMatchIndex; // Initialize scanners UFS_STATUS ufs_res = new UFS_STATUS(); int nScannerNumber; ufs_res = m_ScannerManager.Init(); nScannerNumber = m_ScannerManager.Scanners.Count; if (nScannerNumber <= 0) { strLastError = "There are no suprema scanner"; Log(strLastError); return(""); } m_Scanner = m_ScannerManager.Scanners[0]; // Database m_Database = new UFDatabase(); if (m_szConnectionString != null) { m_ufd_res = m_Database.Open(m_szConnectionString, "", ""); } // Create matcher m_Matcher = new UFMatcher(); if (!ExtractTemplate(m_bTemplate1, out m_nTemplateSize1)) { m_ScannerManager.Uninit(); m_Database.Close(); return(""); } m_ScannerManager.Uninit(); //Identify loyee fingerprint :GetTemplateListWithSerial m_ufd_res = m_Database.GetTemplateListWithSerial(out DBTemplate, out DBTemplateSize, out DBTemplateNum, out DBSerial); //Identify employee fingerprint :Identify m_ufm_res = m_Matcher.Identify(m_bTemplate1, m_nTemplateSize1, DBTemplate, DBTemplateSize, DBTemplateNum, 5000, out nMatchIndex); string m_strUserID = ""; int m_nFingerIndex = 0; string memo = ""; int x = 0; if (nMatchIndex >= 0 && DBSerial != null) { m_ufd_res = m_Database.GetDataBySerial(DBSerial[nMatchIndex], out m_strUserID, out m_nFingerIndex, m_bTemplate1, out m_nTemplateSize1, null, out x, out memo); } else { m_strUserID = ""; } if (m_ufm_res != UFM_STATUS.OK) { return(""); } Log(m_strUserID.Replace('\0', ' ').Trim()); return(m_strUserID.Replace('\0', ' ').Trim()); } catch (Exception ex) { strLastError = "Unkown Error Happened:\n" + ex.Message; Log(strLastError); return(""); } }