/// <summary> /// Creates instance from raw pointer T* /// </summary> /// <param name="ptr"></param> internal static DescriptorMatcher FromRawPtr(IntPtr ptr) { if (ptr == IntPtr.Zero) throw new OpenCvSharpException("Invalid DescriptorMatcher pointer"); var detector = new DescriptorMatcher { detectorPtr = null, ptr = ptr }; return detector; }
/// <summary> /// Creates instance from cv::Ptr<T> . /// ptr is disposed when the wrapper disposes. /// </summary> /// <param name="ptr"></param> internal static DescriptorMatcher FromPtr(IntPtr ptr) { if (ptr == IntPtr.Zero) throw new OpenCvSharpException("Invalid cv::Ptr<DescriptorMatcher> pointer"); var ptrObj = new Ptr<DescriptorMatcher>(ptr); var detector = new DescriptorMatcher { detectorPtr = ptrObj, ptr = ptrObj.Obj }; return detector; }
/// <summary> /// The constructor. /// </summary> /// <param name="dextractor">Descriptor extractor that is used to compute descriptors for an input image and its keypoints.</param> /// <param name="dmatcher">Descriptor matcher that is used to find the nearest word of the trained vocabulary for each keypoint descriptor of the image.</param> public BOWImgDescriptorExtractor(Feature2D dextractor, DescriptorMatcher dmatcher) { if (dextractor == null) { throw new ArgumentNullException(nameof(dextractor)); } if (dmatcher == null) { throw new ArgumentNullException(nameof(dmatcher)); } ptr = NativeMethods.features2d_BOWImgDescriptorExtractor_new1( dextractor.PtrObj, dmatcher.PtrObj); }
/// <summary> /// Creates instance from raw pointer T* /// </summary> /// <param name="ptr"></param> internal static DescriptorMatcher FromRawPtr(IntPtr ptr) { if (ptr == IntPtr.Zero) { throw new OpenCvSharpException("Invalid DescriptorMatcher pointer"); } var detector = new DescriptorMatcher { detectorPtr = null, ptr = ptr }; return(detector); }
/// <summary> /// Creates instance from cv::Ptr<T> . /// ptr is disposed when the wrapper disposes. /// </summary> /// <param name="ptr"></param> internal static DescriptorMatcher FromPtr(IntPtr ptr) { if (ptr == IntPtr.Zero) { throw new OpenCvSharpException("Invalid cv::Ptr<DescriptorMatcher> pointer"); } var ptrObj = new Ptr <DescriptorMatcher>(ptr); var detector = new DescriptorMatcher { detectorPtr = ptrObj, ptr = ptrObj.Obj }; return(detector); }