示例#1
0
        /*
         * /// <summary>
         * /// Create a Cuda SURF detector using the specific parameters
         * /// </summary>
         * /// <param name="detector">The surf detector where the parameters will be borrow from</param>
         * /// <param name="featuresRatio">Max features = featuresRatio * img.size().srea().</param>
         * public CudaSURFDetector(MCvSURFParams detector, float featuresRatio = 0.01f)
         * : this((float)detector.HessianThreshold, detector.NOctaves, detector.NOctaveLayers, (detector.Extended != 0), featuresRatio, (detector.Upright != 0))
         * {
         * }*/

        /// <summary>
        /// Create a Cuda SURF detector
        /// </summary>
        /// <param name="hessianThreshold">The interest operator threshold.</param>
        /// <param name="nOctaves">The number of octaves to process.</param>
        /// <param name="nOctaveLayers">The number of layers in each octave.</param>
        /// <param name="extended">True, if generate 128-len descriptors, false - 64-len descriptors.</param>
        /// <param name="featuresRatio">Max features = featuresRatio * img.size().srea().</param>
        /// <param name="upright">If set to true, the orientation is not computed for the keypoints</param>
        public CudaSURFDetector(
            float hessianThreshold = 100.0f,
            int nOctaves           = 4,
            int nOctaveLayers      = 2,
            bool extended          = true,
            float featuresRatio    = 0.01f,
            bool upright           = false)
        {
            _ptr = ContribInvoke.cudaSURFDetectorCreate(hessianThreshold, nOctaves, nOctaveLayers, extended, featuresRatio, upright);
        }