public bool enroll(IrisImage irisImage, string name) { try { irisImage.ProcessIris(); } catch (Exception e) { //throw new Exception("Processing Error. Iris Rejected."); } try { IrisDBEntry Entry = new IrisDBEntry(); Entry.id = Guid.NewGuid(); Entry.name = name; Entry.InputImage = irisImage.InputImage; Entry.IrisCode = irisImage.Iris.FullIrisCode; DB.Insert(Entry); return(true); } catch (Exception e) { throw new Exception("Database Error!"); } }
public bool enroll(IrisImage irisImage, string name) { try { irisImage.ProcessIris(); } catch(Exception e) { //throw new Exception("Processing Error. Iris Rejected."); } try { IrisDBEntry Entry = new IrisDBEntry(); Entry.id = Guid.NewGuid(); Entry.name = name; Entry.InputImage = irisImage.InputImage; Entry.IrisCode = irisImage.Iris.FullIrisCode; DB.Insert(Entry); return true; } catch (Exception e) { throw new Exception("Database Error!"); } }
public bool Match(IrisImage FirstImage, IrisImage SecondImage) { Iristhread1 = new Thread(() => ThreadProcess(FirstImage)); Iristhread1.Start(); Iristhread2 = new Thread(() => ThreadProcess(SecondImage)); Iristhread2.Start(); while (Iristhread1.ThreadState != ThreadState.Stopped || Iristhread2.ThreadState != ThreadState.Stopped) { Thread.Sleep(10); } //Image<Gray, Byte> andImage = new Image<Gray, Byte>(60, 240); //CvInvoke.cvAnd(mask1, mask2, andImage, IntPtr.Zero); return(Match(FirstImage.Iris.FullIrisCode, SecondImage.Iris.FullIrisCode)); }
public IrisDBEntry Match(IrisImage FirstImage) { FirstImage.ProcessIris(); int count = DB.Count(); List <IrisDBEntry> Entries; for (int i = 0; i < count; i += Math.Min(6, count - i)) { Entries = DB.Select(); foreach (var entry in Entries) { bool result; //Thread MatchThread = new Thread(() => { result = MatchThread(FirstImage.Iris.FullIrisCode, entry.IrisCode); }); result = Match(FirstImage.Iris.FullIrisCode, entry.IrisCode); if (result) { return(entry); } } } return(null); }
public bool Match(IrisImage FirstImage, IrisImage SecondImage) { Iristhread1 = new Thread(() => ThreadProcess(FirstImage)); Iristhread1.Start(); Iristhread2 = new Thread(() => ThreadProcess(SecondImage)); Iristhread2.Start(); while(Iristhread1.ThreadState != ThreadState.Stopped || Iristhread2.ThreadState != ThreadState.Stopped) { Thread.Sleep(10); } //Image<Gray, Byte> andImage = new Image<Gray, Byte>(60, 240); //CvInvoke.cvAnd(mask1, mask2, andImage, IntPtr.Zero); return Match(FirstImage.Iris.FullIrisCode, SecondImage.Iris.FullIrisCode); }
private void ThreadProcess(IrisImage iris) { iris.ProcessIris(); Thread.CurrentThread.Abort(); }
public IrisDBEntry Match(IrisImage FirstImage) { FirstImage.ProcessIris(); int count = DB.Count(); List<IrisDBEntry> Entries; for (int i = 0; i < count; i += Math.Min(6, count - i)) { Entries = DB.Select(); foreach (var entry in Entries) { bool result; //Thread MatchThread = new Thread(() => { result = MatchThread(FirstImage.Iris.FullIrisCode, entry.IrisCode); }); result = Match(FirstImage.Iris.FullIrisCode, entry.IrisCode); if (result) { return entry; } } } return null; }