/// <summary> /// Performs an inverse Discrete Fourier transform of 1D or 2D floating-point array. /// </summary> /// <param name="flags">Transformation flags, a combination of the DftFlag2 values</param> /// <param name="nonzeroRows">When the parameter != 0, the function assumes that /// only the first nonzeroRows rows of the input array ( DFT_INVERSE is not set) /// or only the first nonzeroRows of the output array ( DFT_INVERSE is set) contain non-zeros, /// thus the function can handle the rest of the rows more efficiently and /// thus save some time. This technique is very useful for computing array cross-correlation /// or convolution using DFT</param> /// <returns>The destination array, which size and type depends on the flags</returns> public Mat Idft(DftFlag2 flags = DftFlag2.None, int nonzeroRows = 0) { var dst = new Mat(); Cv2.Idft(this, dst, flags, nonzeroRows); return dst; }
/// <summary> /// performs inverse 1D or 2D Discrete Fourier Transformation /// </summary> /// <param name="src"></param> /// <param name="dst"></param> /// <param name="flags"></param> /// <param name="nonzeroRows"></param> public static void Idft(InputArray src, OutputArray dst, DftFlag2 flags = DftFlag2.None, int nonzeroRows = 0) { if (src == null) throw new ArgumentNullException("src"); if (dst == null) throw new ArgumentNullException("dst"); src.ThrowIfDisposed(); dst.ThrowIfNotReady(); NativeMethods.core_idft(src.CvPtr, dst.CvPtr, (int)flags, nonzeroRows); dst.Fix(); }