123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- using OpenCVForUnity.CoreModule;
- using OpenCVForUnity.UtilsModule;
- using System;
- using System.Collections.Generic;
- using System.Runtime.InteropServices;
- namespace OpenCVForUnity.Features2dModule
- {
- // C++: class FlannBasedMatcher
- /**
- * Flann-based descriptor matcher.
- *
- * This matcher trains cv::flann::Index on a train descriptor collection and calls its nearest search
- * methods to find the best matches. So, this matcher may be faster when matching a large train
- * collection than the brute force matcher. FlannBasedMatcher does not support masking permissible
- * matches of descriptor sets because flann::Index does not support this. :
- */
- public class FlannBasedMatcher : DescriptorMatcher
- {
- protected override void Dispose(bool disposing)
- {
- try
- {
- if (disposing)
- {
- }
- if (IsEnabledDispose)
- {
- if (nativeObj != IntPtr.Zero)
- features2d_FlannBasedMatcher_delete(nativeObj);
- nativeObj = IntPtr.Zero;
- }
- }
- finally
- {
- base.Dispose(disposing);
- }
- }
- protected internal FlannBasedMatcher(IntPtr addr) : base(addr) { }
- // internal usage only
- public static new FlannBasedMatcher __fromPtr__(IntPtr addr) { return new FlannBasedMatcher(addr); }
- //
- // C++: cv::FlannBasedMatcher::FlannBasedMatcher(Ptr_flann_IndexParams indexParams = makePtr<flann::KDTreeIndexParams>(), Ptr_flann_SearchParams searchParams = makePtr<flann::SearchParams>())
- //
- public FlannBasedMatcher() :
- base(DisposableObject.ThrowIfNullIntPtr(features2d_FlannBasedMatcher_FlannBasedMatcher_10()))
- {
- }
- //
- // C++: static Ptr_FlannBasedMatcher cv::FlannBasedMatcher::create()
- //
- public static FlannBasedMatcher create()
- {
- return FlannBasedMatcher.__fromPtr__(DisposableObject.ThrowIfNullIntPtr(features2d_FlannBasedMatcher_create_10()));
- }
- #if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR
- const string LIBNAME = "__Internal";
- #else
- const string LIBNAME = "opencvforunity";
- #endif
- // C++: cv::FlannBasedMatcher::FlannBasedMatcher(Ptr_flann_IndexParams indexParams = makePtr<flann::KDTreeIndexParams>(), Ptr_flann_SearchParams searchParams = makePtr<flann::SearchParams>())
- [DllImport(LIBNAME)]
- private static extern IntPtr features2d_FlannBasedMatcher_FlannBasedMatcher_10();
- // C++: static Ptr_FlannBasedMatcher cv::FlannBasedMatcher::create()
- [DllImport(LIBNAME)]
- private static extern IntPtr features2d_FlannBasedMatcher_create_10();
- // native support for java finalize()
- [DllImport(LIBNAME)]
- private static extern void features2d_FlannBasedMatcher_delete(IntPtr nativeObj);
- }
- }
|