/// <summary> /// Uploads asynchronously. /// Warning! cv::Mat must point to page locked memory (i.e. to CudaMem data or to its ROI) /// </summary> /// <param name="src"></param> /// <param name="dst"></param> public void EnqueueUpload(CudaMem src, GpuMat dst) { ThrowIfDisposed(); if (src == null) { throw new ArgumentNullException(nameof(src)); } if (dst == null) { throw new ArgumentNullException(nameof(dst)); } src.ThrowIfDisposed(); dst.ThrowIfDisposed(); NativeMethods.gpu_Stream_enqueueUpload_CudaMem(ptr, src.CvPtr, dst.CvPtr); }
/// <summary> /// Downloads asynchronously. /// Warning! cv::Mat must point to page locked memory (i.e. to CudaMem data or to its subMat) /// </summary> /// <param name="src"></param> /// <param name="dst"></param> public void EnqueueDownload(GpuMat src, CudaMem dst) { ThrowIfDisposed(); if (src == null) { throw new ArgumentNullException("src"); } if (dst == null) { throw new ArgumentNullException("dst"); } src.ThrowIfDisposed(); dst.ThrowIfDisposed(); NativeMethods.gpu_Stream_enqueueDownload_CudaMem(ptr, src.CvPtr, dst.CvPtr); }
/// <summary> /// Uploads asynchronously. /// Warning! cv::Mat must point to page locked memory (i.e. to CudaMem data or to its ROI) /// </summary> /// <param name="src"></param> /// <param name="dst"></param> public void EnqueueUpload(CudaMem src, GpuMat dst) { ThrowIfDisposed(); if (src == null) throw new ArgumentNullException("src"); if (dst == null) throw new ArgumentNullException("dst"); src.ThrowIfDisposed(); dst.ThrowIfDisposed(); NativeMethods.gpu_Stream_enqueueUpload_CudaMem(ptr, src.CvPtr, dst.CvPtr); }