/// <summary> /// Creates instance from raw T* /// </summary> /// <param name="ptr"></param> internal static DescriptorExtractor FromRawPtr(IntPtr ptr) { if (ptr == IntPtr.Zero) throw new OpenCvSharpException("Invalid DescriptorExtractor pointer"); var extractor = new DescriptorExtractor { extractorPtr = null, ptr = ptr }; return extractor; }
/// <summary> /// Creates instance from raw T* /// </summary> /// <param name="ptr"></param> internal static DescriptorExtractor FromRawPtr(IntPtr ptr) { if (ptr == IntPtr.Zero) { throw new OpenCvSharpException("Invalid DescriptorExtractor pointer"); } var extractor = new DescriptorExtractor { extractorPtr = null, ptr = ptr }; return(extractor); }
/// <summary> /// Create feature detector by detector name. /// </summary> /// <param name="descriptorExtractorType"> /// </param> /// <returns></returns> public static DescriptorExtractor Create(string descriptorExtractorType) { if (String.IsNullOrEmpty(descriptorExtractorType)) { throw new ArgumentNullException("descriptorExtractorType"); } // gets cv::Ptr<DescriptorExtractor> try { IntPtr ptr = NativeMethods.features2d_DescriptorExtractor_create(descriptorExtractorType); DescriptorExtractor detector = FromPtr(ptr); return(detector); } catch (OpenCvSharpException) { throw new OpenCvSharpException( "DescriptorExtractor name '{0}' is not valid.", descriptorExtractorType); } }