/// <summary>
 /// Release all the unmanaged resource associated with this object
 /// </summary>
 protected override void DisposeObject()
 {
     if (IntPtr.Zero != _sharedPtr)
     {
         CudaInvoke.cudaBackgroundSubtractorMOG2Release(ref _sharedPtr);
         _ptr = IntPtr.Zero;
     }
 }
 /// <summary>
 /// Release all the unmanaged resource associated with this object
 /// </summary>
 protected override void DisposeObject()
 {
     CudaInvoke.cudaBackgroundSubtractorMOG2Release(ref _ptr);
 }