public Descriptor(Exterma exterma, KeyPoint keyPoint, double[] vector) { if (vector.Length != 128) { throw new NotImplementedException(); } this.exterma = exterma; this.Orientation = keyPoint.Orientation; this.Magnitude = keyPoint.Magnitude; this.vector = vector; this.m_Norm = 0; this.m_Norm = Math.Sqrt(Descriptor.InnearMultiplication(this, this)); }
public static double CalculateAngle(Descriptor first, Descriptor second) { return(Math.Acos(Math.Round(Descriptor.InnearMultiplication(first, second) / (first.Norm * second.Norm), 15))); }