C# основан на fftshift OpenCv (OpenCvSharp), реализации функции ifftshift.

В этой статье реализованы функции fftshift и ifftshift на основе OpenCv ( OpenCvSharp ).

Функция fftshift перемещает компонент спектра сигнала с нулевой частотой в центр массива, по существу меняя местами данные первого и третьего квадрантов.

Ifftshift выполняет противоположную операцию, которая по существу является блоком данных во втором и четвертом квадрантах.

В OpenCV нет этих двух функций, если вам нужно их использовать, вам нужно реализовать их самостоятельно.

Код реализации выглядит следующим образом:

#region 方法 fftshift
        /// <summary>
        /// 方法 fftshift
        /// </summary>
        /// <param name="src"></param>
        /// <returns></returns>
        public static Mat fftshift(Mat src)
        {
            Mat dst = new Mat(src.Size(), src.Type());
            int x0 = src.Cols / 2;
            int x1 = src.Cols - x0;
            int y0 = src

Guess you like

Origin blog.csdn.net/qq_30725967/article/details/132023271