internal Tico2003Features(List<Minutia> minutiae, OrientationImage dImg) { Minutiae = new List<OBMtiaDescriptor>(minutiae.Count); for (short i = 0; i < minutiae.Count; i++) { OBMtiaDescriptor mtiaDescriptor = new OBMtiaDescriptor(minutiae[i], dImg); Minutiae.Add(mtiaDescriptor); } }
internal Tico2003Features(List <Minutia> minutiae, OrientationImage dImg) { Minutiae = new List <OBMtiaDescriptor>(minutiae.Count); for (short i = 0; i < minutiae.Count; i++) { OBMtiaDescriptor mtiaDescriptor = new OBMtiaDescriptor(minutiae[i], dImg); Minutiae.Add(mtiaDescriptor); } }
internal double Compare(OBMtiaDescriptor mtiaDesc) { double sum = 0; for (int i = 0; i < 72; i++) { var or1 = Orientations[i]; var or2 = mtiaDesc.Orientations[i]; if (!double.IsNaN(or1) && !double.IsNaN(or2)) { double diffOr = Math.Abs(or1 - or2); double difAng = (2 / Math.PI) * diffOr; sum += Math.Exp(-16 * difAng); } } return sum / 72; }
internal double Compare(OBMtiaDescriptor mtiaDesc) { double sum = 0; for (int i = 0; i < 72; i++) { var or1 = Orientations[i]; var or2 = mtiaDesc.Orientations[i]; if (!double.IsNaN(or1) && !double.IsNaN(or2)) { double diffOr = Math.Abs(or1 - or2); double difAng = (2 / Math.PI) * diffOr; sum += Math.Exp(-16 * difAng); } } return(sum / 72); }