refactored gpu::dft

This commit is contained in:
Alexey Spizhevoy
2010-12-27 07:35:41 +00:00
parent a379d011fd
commit 8f0d36b8b6
3 changed files with 28 additions and 45 deletions

View File

@@ -640,8 +640,9 @@ namespace cv
CV_EXPORTS void mulAndScaleSpectrums(const GpuMat& a, const GpuMat& b, GpuMat& c, int flags,
float scale, bool conjB=false);
//! performs a forward or inverse discrete Fourier transform (1D or 2D) of floating point matrix
//!
//! Performs a forward or inverse discrete Fourier transform (1D or 2D) of floating point matrix.
//! Param dft_size is the size of DFT transform.
//!
//! If the source matrix is not continous, then additional copy will be done,
//! so to avoid copying ensure the source matrix is continous one. If you want to use
//! preallocated output ensure it is continuous too, otherwise it will be reallocated.
@@ -649,10 +650,8 @@ namespace cv
//! Being implemented via CUFFT real-to-complex transform result contains only non-redundant values
//! in CUFFT's format. Result as full complex matrix for such kind of transform cannot be retrieved.
//!
//! For complex-to-real transform it is assumed that the source matrix is packed in CUFFT's format, which
//! doesn't allow us to retrieve parity of the destiantion matrix dimension (along which the first step
//! of DFT is performed). You must specifiy odd case explicitely.
CV_EXPORTS void dft(const GpuMat& src, GpuMat& dst, int flags=0, int nonZeroRows=0, bool odd=false);
//! For complex-to-real transform it is assumed that the source matrix is packed in CUFFT's format.
CV_EXPORTS void dft(const GpuMat& src, GpuMat& dst, Size dft_size, int flags=0);
//! computes convolution (or cross-correlation) of two images using discrete Fourier transform
//! supports source images of 32FC1 type only