示例#1
0
        public double GetOrientation(SpeededUpRobustFeaturePoint point)
        {
            // Get rounded feature point data
            int x = (int)Math.Round(point.X, 0);
            int y = (int)Math.Round(point.Y, 0);
            int s = (int)Math.Round(point.Scale, 0);

            // Get the orientation (for rotation invariance)
            return(GetOrientation(x, y, s));
        }
示例#2
0
        public void Compute(SpeededUpRobustFeaturePoint point)
        {
            int x = (int)System.Math.Round(point.X, 0);
            int y = (int)System.Math.Round(point.Y, 0);
            int s = (int)System.Math.Round(point.Scale, 0);

            if (_invariant)
            {
                // Get the orientation (for rotation invariance)
                point.Orientation = this.GetOrientation(x, y, s);
            }

            // Extract SURF descriptor
            point.Descriptor = this.GetDescriptor(x, y, s, point.Orientation);
        }