Beispiel #1
0
 /// <summary>
 /// Release the unmanaged resources associated with this object
 /// </summary>
 protected override void DisposeObject()
 {
     if (_sharedPtr != IntPtr.Zero)
     {
         Features2DInvoke.cveSIFTRelease(ref _sharedPtr);
     }
     base.DisposeObject();
 }
Beispiel #2
0
 /// <summary>
 /// Create a SIFT using the specific values
 /// </summary>
 /// <param name="nFeatures">The desired number of features. Use 0 for un-restricted number of features</param>
 /// <param name="nOctaveLayers">The number of octave layers. Use 3 for default</param>
 /// <param name="contrastThreshold">Contrast threshold. Use 0.04 as default</param>
 /// <param name="edgeThreshold">Detector parameter. Use 10.0 as default</param>
 /// <param name="sigma">Use 1.6 as default</param>
 public SIFT(
     int nFeatures            = 0, int nOctaveLayers = 3,
     double contrastThreshold = 0.04, double edgeThreshold = 10.0,
     double sigma             = 1.6)
 {
     _ptr = Features2DInvoke.cveSIFTCreate(nFeatures, nOctaveLayers, contrastThreshold, edgeThreshold, sigma,
                                           ref _feature2D, ref _sharedPtr);
 }