예제 #1
0
 /// <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;
 }
예제 #2
0
 /// <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();
 }