/// <summary>
        /// Release the MergeDebevec object
        /// </summary>
        protected override void DisposeObject()
        {
            if (IntPtr.Zero != _ptr)
            {
                Cv_Invoke.cveMergeDebevecRelease(ref _ptr, ref _sharedPtr);
            }

            base.DisposeObject();
        }
 /// <summary>
 /// Merges images.
 /// </summary>
 /// <param name="src">Vector of input images</param>
 /// <param name="dst">Result image</param>
 /// <param name="times">Vector of exposure time values for each image</param>
 /// <param name="response">256x1 matrix with inverse camera response function for each pixel value, it should have the same number of channels as images.</param>
 public void Process(IInputArray src, IOutputArray dst, IInputArray times, IInputArray response)
 {
     using (InputArray iaSrc = src.GetInputArray())
         using (OutputArray oaDst = dst.GetOutputArray())
             using (InputArray iaTimes = times.GetInputArray())
                 using (InputArray iaResponse = response.GetInputArray())
                 {
                     Cv_Invoke.cveMergeExposuresProcess(_mergeExposuresPtr, iaSrc, oaDst, iaTimes, iaResponse);
                 }
 }
 /// <summary>
 /// Creates MergeMertens object.
 /// </summary>
 /// <param name="contrastWeight">contrast measure weight.</param>
 /// <param name="saturationWeight">saturation measure weight</param>
 /// <param name="exposureWeight">well-exposedness measure weight</param>
 public MergeMertens(float contrastWeight = 1.0f, float saturationWeight = 1.0f, float exposureWeight = 0.0f)
 {
     _ptr = Cv_Invoke.cveMergeMertensCreate(contrastWeight, saturationWeight, exposureWeight, ref _mergeExposuresPtr, ref _sharedPtr);
 }
 /// <summary>
 /// Creates MergeDebevec object.
 /// </summary>
 public MergeDebevec()
 {
     _ptr = Cv_Invoke.cveMergeDebevecCreate(ref _mergeExposuresPtr, ref _sharedPtr);
 }
 /// <summary>
 /// Creates MergeRobertson object.
 /// </summary>
 public MergeRobertson()
 {
     _ptr = Cv_Invoke.cveMergeRobertsonCreate(ref _mergeExposuresPtr, ref _sharedPtr);
 }