341 lines
14 KiB
C#
341 lines
14 KiB
C#
|
|
|||
|
using OpenCVForUnity.CoreModule;
|
|||
|
using OpenCVForUnity.UtilsModule;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Runtime.InteropServices;
|
|||
|
|
|||
|
namespace OpenCVForUnity.Features2dModule
|
|||
|
{
|
|||
|
|
|||
|
// C++: class BRISK
|
|||
|
//javadoc: BRISK
|
|||
|
|
|||
|
public class BRISK : Feature2D
|
|||
|
{
|
|||
|
|
|||
|
protected override void Dispose (bool disposing)
|
|||
|
{
|
|||
|
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
|
|||
|
try {
|
|||
|
if (disposing) {
|
|||
|
}
|
|||
|
if (IsEnabledDispose) {
|
|||
|
if (nativeObj != IntPtr.Zero)
|
|||
|
features2d_BRISK_delete (nativeObj);
|
|||
|
nativeObj = IntPtr.Zero;
|
|||
|
}
|
|||
|
} finally {
|
|||
|
base.Dispose (disposing);
|
|||
|
}
|
|||
|
#else
|
|||
|
return;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
protected internal BRISK (IntPtr addr)
|
|||
|
: base (addr)
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
// internal usage only
|
|||
|
public static new BRISK __fromPtr__ (IntPtr addr)
|
|||
|
{
|
|||
|
return new BRISK (addr);
|
|||
|
}
|
|||
|
|
|||
|
//
|
|||
|
// C++: static Ptr_BRISK cv::BRISK::create(int thresh, int octaves, vector_float radiusList, vector_int numberList, float dMax = 5.85f, float dMin = 8.2f, vector_int indexChange = std::vector<int>())
|
|||
|
//
|
|||
|
|
|||
|
//javadoc: BRISK::create(thresh, octaves, radiusList, numberList, dMax, dMin, indexChange)
|
|||
|
public static BRISK create (int thresh, int octaves, MatOfFloat radiusList, MatOfInt numberList, float dMax, float dMin, MatOfInt indexChange)
|
|||
|
{
|
|||
|
if (radiusList != null)
|
|||
|
radiusList.ThrowIfDisposed ();
|
|||
|
if (numberList != null)
|
|||
|
numberList.ThrowIfDisposed ();
|
|||
|
if (indexChange != null)
|
|||
|
indexChange.ThrowIfDisposed ();
|
|||
|
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
|
|||
|
Mat radiusList_mat = radiusList;
|
|||
|
Mat numberList_mat = numberList;
|
|||
|
Mat indexChange_mat = indexChange;
|
|||
|
BRISK retVal = BRISK.__fromPtr__ (features2d_BRISK_create_10 (thresh, octaves, radiusList_mat.nativeObj, numberList_mat.nativeObj, dMax, dMin, indexChange_mat.nativeObj));
|
|||
|
|
|||
|
return retVal;
|
|||
|
#else
|
|||
|
return null;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
//javadoc: BRISK::create(thresh, octaves, radiusList, numberList, dMax, dMin)
|
|||
|
public static BRISK create (int thresh, int octaves, MatOfFloat radiusList, MatOfInt numberList, float dMax, float dMin)
|
|||
|
{
|
|||
|
if (radiusList != null)
|
|||
|
radiusList.ThrowIfDisposed ();
|
|||
|
if (numberList != null)
|
|||
|
numberList.ThrowIfDisposed ();
|
|||
|
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
|
|||
|
Mat radiusList_mat = radiusList;
|
|||
|
Mat numberList_mat = numberList;
|
|||
|
BRISK retVal = BRISK.__fromPtr__ (features2d_BRISK_create_11 (thresh, octaves, radiusList_mat.nativeObj, numberList_mat.nativeObj, dMax, dMin));
|
|||
|
|
|||
|
return retVal;
|
|||
|
#else
|
|||
|
return null;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
//javadoc: BRISK::create(thresh, octaves, radiusList, numberList, dMax)
|
|||
|
public static BRISK create (int thresh, int octaves, MatOfFloat radiusList, MatOfInt numberList, float dMax)
|
|||
|
{
|
|||
|
if (radiusList != null)
|
|||
|
radiusList.ThrowIfDisposed ();
|
|||
|
if (numberList != null)
|
|||
|
numberList.ThrowIfDisposed ();
|
|||
|
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
|
|||
|
Mat radiusList_mat = radiusList;
|
|||
|
Mat numberList_mat = numberList;
|
|||
|
BRISK retVal = BRISK.__fromPtr__ (features2d_BRISK_create_12 (thresh, octaves, radiusList_mat.nativeObj, numberList_mat.nativeObj, dMax));
|
|||
|
|
|||
|
return retVal;
|
|||
|
#else
|
|||
|
return null;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
//javadoc: BRISK::create(thresh, octaves, radiusList, numberList)
|
|||
|
public static BRISK create (int thresh, int octaves, MatOfFloat radiusList, MatOfInt numberList)
|
|||
|
{
|
|||
|
if (radiusList != null)
|
|||
|
radiusList.ThrowIfDisposed ();
|
|||
|
if (numberList != null)
|
|||
|
numberList.ThrowIfDisposed ();
|
|||
|
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
|
|||
|
Mat radiusList_mat = radiusList;
|
|||
|
Mat numberList_mat = numberList;
|
|||
|
BRISK retVal = BRISK.__fromPtr__ (features2d_BRISK_create_13 (thresh, octaves, radiusList_mat.nativeObj, numberList_mat.nativeObj));
|
|||
|
|
|||
|
return retVal;
|
|||
|
#else
|
|||
|
return null;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//
|
|||
|
// C++: static Ptr_BRISK cv::BRISK::create(int thresh = 30, int octaves = 3, float patternScale = 1.0f)
|
|||
|
//
|
|||
|
|
|||
|
//javadoc: BRISK::create(thresh, octaves, patternScale)
|
|||
|
public static BRISK create (int thresh, int octaves, float patternScale)
|
|||
|
{
|
|||
|
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
|
|||
|
|
|||
|
BRISK retVal = BRISK.__fromPtr__ (features2d_BRISK_create_14 (thresh, octaves, patternScale));
|
|||
|
|
|||
|
return retVal;
|
|||
|
#else
|
|||
|
return null;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
//javadoc: BRISK::create(thresh, octaves)
|
|||
|
public static BRISK create (int thresh, int octaves)
|
|||
|
{
|
|||
|
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
|
|||
|
|
|||
|
BRISK retVal = BRISK.__fromPtr__ (features2d_BRISK_create_15 (thresh, octaves));
|
|||
|
|
|||
|
return retVal;
|
|||
|
#else
|
|||
|
return null;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
//javadoc: BRISK::create(thresh)
|
|||
|
public static BRISK create (int thresh)
|
|||
|
{
|
|||
|
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
|
|||
|
|
|||
|
BRISK retVal = BRISK.__fromPtr__ (features2d_BRISK_create_16 (thresh));
|
|||
|
|
|||
|
return retVal;
|
|||
|
#else
|
|||
|
return null;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
//javadoc: BRISK::create()
|
|||
|
public static BRISK create ()
|
|||
|
{
|
|||
|
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
|
|||
|
|
|||
|
BRISK retVal = BRISK.__fromPtr__ (features2d_BRISK_create_17 ());
|
|||
|
|
|||
|
return retVal;
|
|||
|
#else
|
|||
|
return null;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//
|
|||
|
// C++: static Ptr_BRISK cv::BRISK::create(vector_float radiusList, vector_int numberList, float dMax = 5.85f, float dMin = 8.2f, vector_int indexChange = std::vector<int>())
|
|||
|
//
|
|||
|
|
|||
|
//javadoc: BRISK::create(radiusList, numberList, dMax, dMin, indexChange)
|
|||
|
public static BRISK create (MatOfFloat radiusList, MatOfInt numberList, float dMax, float dMin, MatOfInt indexChange)
|
|||
|
{
|
|||
|
if (radiusList != null)
|
|||
|
radiusList.ThrowIfDisposed ();
|
|||
|
if (numberList != null)
|
|||
|
numberList.ThrowIfDisposed ();
|
|||
|
if (indexChange != null)
|
|||
|
indexChange.ThrowIfDisposed ();
|
|||
|
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
|
|||
|
Mat radiusList_mat = radiusList;
|
|||
|
Mat numberList_mat = numberList;
|
|||
|
Mat indexChange_mat = indexChange;
|
|||
|
BRISK retVal = BRISK.__fromPtr__ (features2d_BRISK_create_18 (radiusList_mat.nativeObj, numberList_mat.nativeObj, dMax, dMin, indexChange_mat.nativeObj));
|
|||
|
|
|||
|
return retVal;
|
|||
|
#else
|
|||
|
return null;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
//javadoc: BRISK::create(radiusList, numberList, dMax, dMin)
|
|||
|
public static BRISK create (MatOfFloat radiusList, MatOfInt numberList, float dMax, float dMin)
|
|||
|
{
|
|||
|
if (radiusList != null)
|
|||
|
radiusList.ThrowIfDisposed ();
|
|||
|
if (numberList != null)
|
|||
|
numberList.ThrowIfDisposed ();
|
|||
|
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
|
|||
|
Mat radiusList_mat = radiusList;
|
|||
|
Mat numberList_mat = numberList;
|
|||
|
BRISK retVal = BRISK.__fromPtr__ (features2d_BRISK_create_19 (radiusList_mat.nativeObj, numberList_mat.nativeObj, dMax, dMin));
|
|||
|
|
|||
|
return retVal;
|
|||
|
#else
|
|||
|
return null;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
//javadoc: BRISK::create(radiusList, numberList, dMax)
|
|||
|
public static BRISK create (MatOfFloat radiusList, MatOfInt numberList, float dMax)
|
|||
|
{
|
|||
|
if (radiusList != null)
|
|||
|
radiusList.ThrowIfDisposed ();
|
|||
|
if (numberList != null)
|
|||
|
numberList.ThrowIfDisposed ();
|
|||
|
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
|
|||
|
Mat radiusList_mat = radiusList;
|
|||
|
Mat numberList_mat = numberList;
|
|||
|
BRISK retVal = BRISK.__fromPtr__ (features2d_BRISK_create_110 (radiusList_mat.nativeObj, numberList_mat.nativeObj, dMax));
|
|||
|
|
|||
|
return retVal;
|
|||
|
#else
|
|||
|
return null;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
//javadoc: BRISK::create(radiusList, numberList)
|
|||
|
public static BRISK create (MatOfFloat radiusList, MatOfInt numberList)
|
|||
|
{
|
|||
|
if (radiusList != null)
|
|||
|
radiusList.ThrowIfDisposed ();
|
|||
|
if (numberList != null)
|
|||
|
numberList.ThrowIfDisposed ();
|
|||
|
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
|
|||
|
Mat radiusList_mat = radiusList;
|
|||
|
Mat numberList_mat = numberList;
|
|||
|
BRISK retVal = BRISK.__fromPtr__ (features2d_BRISK_create_111 (radiusList_mat.nativeObj, numberList_mat.nativeObj));
|
|||
|
|
|||
|
return retVal;
|
|||
|
#else
|
|||
|
return null;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//
|
|||
|
// C++: String cv::BRISK::getDefaultName()
|
|||
|
//
|
|||
|
|
|||
|
//javadoc: BRISK::getDefaultName()
|
|||
|
public override string getDefaultName ()
|
|||
|
{
|
|||
|
ThrowIfDisposed ();
|
|||
|
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
|
|||
|
|
|||
|
string retVal = Marshal.PtrToStringAnsi (features2d_BRISK_getDefaultName_10 (nativeObj));
|
|||
|
|
|||
|
return retVal;
|
|||
|
#else
|
|||
|
return null;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
#if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR
|
|||
|
const string LIBNAME = "__Internal";
|
|||
|
|
|||
|
#else
|
|||
|
const string LIBNAME = "opencvforunity";
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// C++: static Ptr_BRISK cv::BRISK::create(int thresh, int octaves, vector_float radiusList, vector_int numberList, float dMax = 5.85f, float dMin = 8.2f, vector_int indexChange = std::vector<int>())
|
|||
|
[DllImport (LIBNAME)]
|
|||
|
private static extern IntPtr features2d_BRISK_create_10 (int thresh, int octaves, IntPtr radiusList_mat_nativeObj, IntPtr numberList_mat_nativeObj, float dMax, float dMin, IntPtr indexChange_mat_nativeObj);
|
|||
|
|
|||
|
[DllImport (LIBNAME)]
|
|||
|
private static extern IntPtr features2d_BRISK_create_11 (int thresh, int octaves, IntPtr radiusList_mat_nativeObj, IntPtr numberList_mat_nativeObj, float dMax, float dMin);
|
|||
|
|
|||
|
[DllImport (LIBNAME)]
|
|||
|
private static extern IntPtr features2d_BRISK_create_12 (int thresh, int octaves, IntPtr radiusList_mat_nativeObj, IntPtr numberList_mat_nativeObj, float dMax);
|
|||
|
|
|||
|
[DllImport (LIBNAME)]
|
|||
|
private static extern IntPtr features2d_BRISK_create_13 (int thresh, int octaves, IntPtr radiusList_mat_nativeObj, IntPtr numberList_mat_nativeObj);
|
|||
|
|
|||
|
// C++: static Ptr_BRISK cv::BRISK::create(int thresh = 30, int octaves = 3, float patternScale = 1.0f)
|
|||
|
[DllImport (LIBNAME)]
|
|||
|
private static extern IntPtr features2d_BRISK_create_14 (int thresh, int octaves, float patternScale);
|
|||
|
|
|||
|
[DllImport (LIBNAME)]
|
|||
|
private static extern IntPtr features2d_BRISK_create_15 (int thresh, int octaves);
|
|||
|
|
|||
|
[DllImport (LIBNAME)]
|
|||
|
private static extern IntPtr features2d_BRISK_create_16 (int thresh);
|
|||
|
|
|||
|
[DllImport (LIBNAME)]
|
|||
|
private static extern IntPtr features2d_BRISK_create_17 ();
|
|||
|
|
|||
|
// C++: static Ptr_BRISK cv::BRISK::create(vector_float radiusList, vector_int numberList, float dMax = 5.85f, float dMin = 8.2f, vector_int indexChange = std::vector<int>())
|
|||
|
[DllImport (LIBNAME)]
|
|||
|
private static extern IntPtr features2d_BRISK_create_18 (IntPtr radiusList_mat_nativeObj, IntPtr numberList_mat_nativeObj, float dMax, float dMin, IntPtr indexChange_mat_nativeObj);
|
|||
|
|
|||
|
[DllImport (LIBNAME)]
|
|||
|
private static extern IntPtr features2d_BRISK_create_19 (IntPtr radiusList_mat_nativeObj, IntPtr numberList_mat_nativeObj, float dMax, float dMin);
|
|||
|
|
|||
|
[DllImport (LIBNAME)]
|
|||
|
private static extern IntPtr features2d_BRISK_create_110 (IntPtr radiusList_mat_nativeObj, IntPtr numberList_mat_nativeObj, float dMax);
|
|||
|
|
|||
|
[DllImport (LIBNAME)]
|
|||
|
private static extern IntPtr features2d_BRISK_create_111 (IntPtr radiusList_mat_nativeObj, IntPtr numberList_mat_nativeObj);
|
|||
|
|
|||
|
// C++: String cv::BRISK::getDefaultName()
|
|||
|
[DllImport (LIBNAME)]
|
|||
|
private static extern IntPtr features2d_BRISK_getDefaultName_10 (IntPtr nativeObj);
|
|||
|
|
|||
|
// native support for java finalize()
|
|||
|
[DllImport (LIBNAME)]
|
|||
|
private static extern void features2d_BRISK_delete (IntPtr nativeObj);
|
|||
|
|
|||
|
}
|
|||
|
}
|