diff --git a/src/OpenCvSharp/modules/features2d/AKAZE.cs b/src/OpenCvSharp/modules/features2d/AKAZE.cs index 5a6bfa3a7..f5e9730d9 100644 --- a/src/OpenCvSharp/modules/features2d/AKAZE.cs +++ b/src/OpenCvSharp/modules/features2d/AKAZE.cs @@ -26,6 +26,8 @@ public class AKAZE : Feature2D private bool disposed; private Ptr ptrObj; + internal override IntPtr PtrObj => ptrObj.CvPtr; + #region Init & Disposal /// diff --git a/src/OpenCvSharp/modules/features2d/AgastFeatureDetector.cs b/src/OpenCvSharp/modules/features2d/AgastFeatureDetector.cs index 483e6e812..4970ba20c 100644 --- a/src/OpenCvSharp/modules/features2d/AgastFeatureDetector.cs +++ b/src/OpenCvSharp/modules/features2d/AgastFeatureDetector.cs @@ -16,7 +16,9 @@ namespace OpenCvSharp public class AgastFeatureDetector : Feature2D { private bool disposed; - private Ptr ptrObj; + internal Ptr ptrObj; + + internal override IntPtr PtrObj => ptrObj.CvPtr; #pragma warning disable 1591 public const int diff --git a/src/OpenCvSharp/modules/features2d/BFMatcher.cs b/src/OpenCvSharp/modules/features2d/BFMatcher.cs index 6d8acbedd..4d2ff95f0 100644 --- a/src/OpenCvSharp/modules/features2d/BFMatcher.cs +++ b/src/OpenCvSharp/modules/features2d/BFMatcher.cs @@ -13,6 +13,8 @@ public class BFMatcher : DescriptorMatcher private bool disposed; private Ptr detectorPtr; + internal override IntPtr PtrObj => detectorPtr.CvPtr; + #region Init & Disposal /// diff --git a/src/OpenCvSharp/modules/features2d/BOWImgDescriptorExtractor.cs b/src/OpenCvSharp/modules/features2d/BOWImgDescriptorExtractor.cs index 5787d6d43..01263cdd8 100644 --- a/src/OpenCvSharp/modules/features2d/BOWImgDescriptorExtractor.cs +++ b/src/OpenCvSharp/modules/features2d/BOWImgDescriptorExtractor.cs @@ -21,8 +21,7 @@ public BOWImgDescriptorExtractor(Feature2D dextractor, DescriptorMatcher dmatche throw new ArgumentNullException(nameof(dextractor)); if (dmatcher == null) throw new ArgumentNullException(nameof(dmatcher)); - ptr = NativeMethods.features2d_BOWImgDescriptorExtractor_new1(dextractor.ptrObj.CvPtr, - dmatcher.detectorPtr.CvPtr); + ptr = NativeMethods.features2d_BOWImgDescriptorExtractor_new1(dextractor.PtrObj, dmatcher.PtrObj); } /// @@ -33,7 +32,7 @@ public BOWImgDescriptorExtractor(DescriptorMatcher dmatcher) { if (dmatcher == null) throw new ArgumentNullException(nameof(dmatcher)); - ptr = NativeMethods.features2d_BOWImgDescriptorExtractor_new2(dmatcher.detectorPtr.CvPtr); + ptr = NativeMethods.features2d_BOWImgDescriptorExtractor_new2(dmatcher.PtrObj); } #if LANG_JP diff --git a/src/OpenCvSharp/modules/features2d/BRISK.cs b/src/OpenCvSharp/modules/features2d/BRISK.cs index f192ec9e4..2bea93109 100644 --- a/src/OpenCvSharp/modules/features2d/BRISK.cs +++ b/src/OpenCvSharp/modules/features2d/BRISK.cs @@ -20,6 +20,8 @@ public class BRISK : Feature2D private bool disposed; private Ptr ptrObj; + internal override IntPtr PtrObj => ptrObj.CvPtr; + #region Init & Disposal /// diff --git a/src/OpenCvSharp/modules/features2d/DescriptorMatcher.cs b/src/OpenCvSharp/modules/features2d/DescriptorMatcher.cs index 489f6637b..757a46d4c 100644 --- a/src/OpenCvSharp/modules/features2d/DescriptorMatcher.cs +++ b/src/OpenCvSharp/modules/features2d/DescriptorMatcher.cs @@ -15,7 +15,9 @@ public class DescriptorMatcher : Algorithm /// /// /// - internal Ptr detectorPtr; + private Ptr detectorPtr; + + internal virtual IntPtr PtrObj => detectorPtr.CvPtr; #region Init & Disposal diff --git a/src/OpenCvSharp/modules/features2d/FastFeatureDetector.cs b/src/OpenCvSharp/modules/features2d/FastFeatureDetector.cs index 35bbc0fc5..c20b54238 100644 --- a/src/OpenCvSharp/modules/features2d/FastFeatureDetector.cs +++ b/src/OpenCvSharp/modules/features2d/FastFeatureDetector.cs @@ -17,6 +17,8 @@ public class FastFeatureDetector : Feature2D private bool disposed; private Ptr ptrObj; + internal override IntPtr PtrObj => ptrObj.CvPtr; + #region Init & Disposal /// diff --git a/src/OpenCvSharp/modules/features2d/Feature2D.cs b/src/OpenCvSharp/modules/features2d/Feature2D.cs index 24dce1bde..39c9b36c8 100644 --- a/src/OpenCvSharp/modules/features2d/Feature2D.cs +++ b/src/OpenCvSharp/modules/features2d/Feature2D.cs @@ -14,7 +14,9 @@ public class Feature2D : Algorithm /// /// cv::Ptr<Feature2D> /// - internal Ptr ptrObj; + private Ptr ptrObj; + + internal virtual IntPtr PtrObj => ptrObj.CvPtr; /// /// diff --git a/src/OpenCvSharp/modules/features2d/FlannBasedMatcher.cs b/src/OpenCvSharp/modules/features2d/FlannBasedMatcher.cs index 97345c0e4..16c680a9a 100644 --- a/src/OpenCvSharp/modules/features2d/FlannBasedMatcher.cs +++ b/src/OpenCvSharp/modules/features2d/FlannBasedMatcher.cs @@ -16,6 +16,8 @@ public class FlannBasedMatcher : DescriptorMatcher private bool disposed; private Ptr detectorPtr; + internal override IntPtr PtrObj => detectorPtr.CvPtr; + #region Init & Disposal /// diff --git a/src/OpenCvSharp/modules/features2d/GFTTDetector.cs b/src/OpenCvSharp/modules/features2d/GFTTDetector.cs index 6c167ba5f..b895aadb0 100644 --- a/src/OpenCvSharp/modules/features2d/GFTTDetector.cs +++ b/src/OpenCvSharp/modules/features2d/GFTTDetector.cs @@ -14,6 +14,8 @@ public class GFTTDetector : Feature2D private bool disposed; private Ptr ptrObj; + internal override IntPtr PtrObj => ptrObj.CvPtr; + #region Init & Disposal /// diff --git a/src/OpenCvSharp/modules/features2d/KAZE.cs b/src/OpenCvSharp/modules/features2d/KAZE.cs index 4115a17db..2f5a24e77 100644 --- a/src/OpenCvSharp/modules/features2d/KAZE.cs +++ b/src/OpenCvSharp/modules/features2d/KAZE.cs @@ -18,6 +18,8 @@ public class KAZE : Feature2D private bool disposed; private Ptr ptrObj; + internal override IntPtr PtrObj => ptrObj.CvPtr; + #region Init & Disposal /// diff --git a/src/OpenCvSharp/modules/features2d/MSER.cs b/src/OpenCvSharp/modules/features2d/MSER.cs index 7bb8dba41..e9dd97e56 100644 --- a/src/OpenCvSharp/modules/features2d/MSER.cs +++ b/src/OpenCvSharp/modules/features2d/MSER.cs @@ -21,6 +21,8 @@ public class MSER : Feature2D private bool disposed; private Ptr ptrObj; + internal override IntPtr PtrObj => ptrObj.CvPtr; + #region Init & Disposal /// diff --git a/src/OpenCvSharp/modules/features2d/ORB.cs b/src/OpenCvSharp/modules/features2d/ORB.cs index cd7af8696..bc3a66831 100644 --- a/src/OpenCvSharp/modules/features2d/ORB.cs +++ b/src/OpenCvSharp/modules/features2d/ORB.cs @@ -24,6 +24,8 @@ public class ORB : Feature2D private bool disposed; private Ptr ptrObj; + internal override IntPtr PtrObj => ptrObj.CvPtr; + #region Init & Disposal /// diff --git a/src/OpenCvSharp/modules/features2d/SimpleBlobDetector.cs b/src/OpenCvSharp/modules/features2d/SimpleBlobDetector.cs index 4825ce02e..68a567d9f 100644 --- a/src/OpenCvSharp/modules/features2d/SimpleBlobDetector.cs +++ b/src/OpenCvSharp/modules/features2d/SimpleBlobDetector.cs @@ -11,6 +11,8 @@ public class SimpleBlobDetector : Feature2D private bool disposed; private Ptr ptrObj; + internal override IntPtr PtrObj => ptrObj.CvPtr; + /// /// SimpleBlobDetector parameters /// diff --git a/src/OpenCvSharp/modules/xfeatures2d/BriefDescriptorExtractor.cs b/src/OpenCvSharp/modules/xfeatures2d/BriefDescriptorExtractor.cs index e501c1063..fb198514e 100644 --- a/src/OpenCvSharp/modules/xfeatures2d/BriefDescriptorExtractor.cs +++ b/src/OpenCvSharp/modules/xfeatures2d/BriefDescriptorExtractor.cs @@ -23,6 +23,8 @@ public class BriefDescriptorExtractor : DescriptorExtractor /// private Ptr ptrObj; + internal override IntPtr PtrObj => ptrObj.CvPtr; + /// /// /// diff --git a/src/OpenCvSharp/modules/xfeatures2d/FREAK.cs b/src/OpenCvSharp/modules/xfeatures2d/FREAK.cs index 9718f4da0..7a7595557 100644 --- a/src/OpenCvSharp/modules/xfeatures2d/FREAK.cs +++ b/src/OpenCvSharp/modules/xfeatures2d/FREAK.cs @@ -20,6 +20,8 @@ public class FREAK : Feature2D private bool disposed; private Ptr ptrObj; + internal override IntPtr PtrObj => ptrObj.CvPtr; + #region Init & Disposal /// diff --git a/src/OpenCvSharp/modules/xfeatures2d/StarDetector.cs b/src/OpenCvSharp/modules/xfeatures2d/StarDetector.cs index 68d9350b5..d2ece9cb5 100644 --- a/src/OpenCvSharp/modules/xfeatures2d/StarDetector.cs +++ b/src/OpenCvSharp/modules/xfeatures2d/StarDetector.cs @@ -17,6 +17,8 @@ public class StarDetector : Feature2D private bool disposed; private Ptr ptrObj; + internal override IntPtr PtrObj => ptrObj.CvPtr; + #region Init & Disposal ///