//快速傅里叶变换
void fft2Image(InputArray _src, OutputArray _dst)
{//得到Mat类型Mat src = _src.getMat();//判断位深CV_Assert(src.type() == CV_32FC1 || src.type() == CV_64FC1);CV_Assert(src.channels() == 1 || src.channels() == 2);int rows = src.rows;int cols = src.cols;//为了进行快速的傅里叶变换,我们经行和列的扩充,找到最合适扩充值Mat padded;int rPadded = getOptimalDFTSize(rows);int cPadded = getOptimalDFTSize(cols);//进行边缘扩充,扩充值为零copyMakeBorder(src, padded, 0, rPadded - rows, 0, cPadded - cols, BORDER_CONSTANT, Scalar::all(0));//快速的傅里叶变换(双通道:用于存储实部 和 虚部)dft(padded, _dst, DFT_COMPLEX_OUTPUT);
}
int main()
{//输入图像矩阵Mat img = imread("lena.jpg", 0);if (!img.data)return -1;//数据类型转换:转换为浮点型Mat fImg;img.convertTo(fImg, CV_64FC1);//快速傅里叶变换Mat fft2;fft2Image(fImg, fft2);//傅里叶逆变换Mat image;cv::dft(fft2, image, DFT_INVERSE + DFT_REAL_OUTPUT + DFT_SCALE);//裁剪傅里叶逆变换image = image(Rect(0, 0, img.cols, img.rows));image.convertTo(image, CV_8UC1);return 0;
}

原图:

复矩阵:

逆变换后的图:

傅里叶变换【1】:傅里叶变换及逆变换相关推荐

  1. 【经典算法实现 44】理解二维FFT快速傅里叶变换 及 IFFT快速傅里叶逆变换(迭代法 和 递归法)

    [经典算法实现 44]理解二维FFT快速傅里叶变换 及 IFFT快速傅里叶逆变换(迭代法 和 递归法) 一.二维FFTFFTFFT快速傅里叶变换 公式推导 二.二维FFTFFTFFT 及 IFFTIF ...

  2. 【数字信号处理】傅里叶变换性质 ( 傅里叶变换频移性质示例 )

    文章目录 一.傅里叶变换时移性质 二.傅里叶变换时移性质示例 一.傅里叶变换时移性质 傅里叶变换频移性质 : " 序列信号 x(n)x(n)x(n) " 的 " 傅里叶变 ...

  3. 【数字信号处理】傅里叶变换性质 ( 傅里叶变换频移性质 | 证明过程 )

    文章目录 一.傅里叶变换时移性质 1.证明过程 2.使用场景 一.傅里叶变换时移性质 傅里叶变换频移性质 : " 序列信号 x(n)x(n)x(n) " 的 " 傅里叶变 ...

  4. 【数字信号处理】序列傅里叶变换 ( 序列傅里叶变换与反变换 | 序列绝对可和 与 存在傅里叶变换之间的关系 | 序列傅里叶变换性质 )

    文章目录 一.序列傅里叶变换与反变换 二.序列绝对可和 与 存在傅里叶变换之间的关系 三.序列傅里叶变换性质 一.序列傅里叶变换与反变换 在上一篇博客 [数字信号处理]序列傅里叶变换 ( 序列傅里叶变 ...

  5. 傅里叶变换短时傅里叶变换小波变换

    一.傅里叶变换 关于傅里叶变换的基本概念在此我就不再赘述了,默认大家现在正处在理解了傅里叶但还没理解小波的道路上.(在第三节小波变换的地方我会再形象地讲一下傅里叶变换) 下面我们主要将傅里叶变换的不足 ...

  6. 【OpenCV4】图像的傅里叶变换 cv::dft() 和逆变换 cv::idft() 解析(c++)

    图像傅里叶变换的作用: 频谱分析,获取图像中高频低频的分布情况 快速卷积,两个矩阵的傅里叶变换结果相乘 案例代码: cv::Mat TestOpencvDft() {cv::Mat lena = cv ...

  7. 傅里叶变换--快速傅里叶变换实现

    0.1. 定义 0.1.1. 连续 0.1.2. 离散 0.2. 性质 0.2.1. 分离性 0.2.2. 位移定理 0.2.3. 周期性 0.2.4. 共轭对称性 0.2.5. 旋转性 0.2.6. ...

  8. 用matlab对excel数据傅里叶变换,快速傅里叶变换_用excel如何作快速傅里叶变换?...

    用excel如何作快速傅里叶变换? 具体实例如下: 1.对于时间序列,可以展开成傅立叶级数,进行频谱分析.对于时间序列xt其傅立叶级数展开式为展开成傅立叶级数: 由图可见,图形完全对称,通常只取左半部 ...

  9. 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质 | x(n) 分解为实部序列与虚部序列 | 实部傅里叶变换 | 虚部傅里叶变换 | 共轭对称傅里叶变换 | 共轭反对称傅里叶变换 )

    文章目录 一.前置概念 1.序列对称分解定理 2.傅里叶变换 3.傅里叶变换的共轭对称分解 二.序列傅里叶变换共轭对称性质 0.序列傅里叶变换共轭对称性质 x(n) 分解为实部序列与虚部序列 x(n) ...

  10. 【数字信号处理】傅里叶变换性质 ( 傅里叶变换频移性质示例 | PCM 音频信号处理 | 使用 matlab 进行频移操作 )

    文章目录 一.PCM 音频信号处理 二.要点说明 一.PCM 音频信号处理 给定一段 PCM 音频数据 , 封装到 .WAV 文件 中 , 此时的信号 是 实信号 , 每个 PCM 音频采样都是一个 ...

最新文章

  1. Kubernetes基础与架构
  2. php下curl与file_get_contents性能对比
  3. codevs 1557 热浪
  4. HDU - 3605 Escape(二分图多重匹配-网络流最大流+思维建边+状态压缩)
  5. SAP Spartacus 3.0部署在development environment上
  6. 三层架构dao service 表示层 115721935
  7. 要高薪地进入IT,你得这样做
  8. 9999元起!荣耀Magic V今日首销:首款骁龙8折叠屏旗舰
  9. OpenShift 4 - Service Mesh环境和BookInfo应用安装脚本
  10. 细究STP根端口和指定端口的选举过程
  11. 生成指定位数的坐标方法-2优化版本--建议使用的版本
  12. 进程间通信-命名管道FIFO
  13. 安卓手机变鼠标图文教程
  14. Kent Beck简单设计四条规则
  15. 高德地图又出逆天黑科技!全国各大城市模型直接获取
  16. 扰动观察法怎么写matlab,扰动观察法
  17. C22合金(N06022)是哈氏合金?还是镍基合金?by阿斯米合金
  18. Nvidia最新三维重建技术Instant-ngp初探
  19. 联想拯救者y7000电池耗电快_联想拯救者Y7000游戏本测评之温度、续航双测评
  20. android 手机调试链接不上,解决android 连接真机调试连接不了的问题

热门文章

  1. 常见算法工程师面试题总结(机器学习,深度学习)
  2. 电机控制方法以及区别
  3. 软件测试之静态测试和动态测试
  4. Python编程视频教程零基础从入门到实战自学课程
  5. Unity 移动方法总结
  6. cad如何多选对象_CAD如何快速选择对象
  7. Threejs工厂模型3Dmax模型obj+mtl格式,源文件下载
  8. SysTrace常识
  9. 2021年塔式起重机司机考试报名及塔式起重机司机免费试题
  10. jenkins+donet core持续集成环境搭建