傅里叶变换【1】:傅里叶变换及逆变换
//快速傅里叶变换
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】:傅里叶变换及逆变换相关推荐
- 【经典算法实现 44】理解二维FFT快速傅里叶变换 及 IFFT快速傅里叶逆变换(迭代法 和 递归法)
[经典算法实现 44]理解二维FFT快速傅里叶变换 及 IFFT快速傅里叶逆变换(迭代法 和 递归法) 一.二维FFTFFTFFT快速傅里叶变换 公式推导 二.二维FFTFFTFFT 及 IFFTIF ...
- 【数字信号处理】傅里叶变换性质 ( 傅里叶变换频移性质示例 )
文章目录 一.傅里叶变换时移性质 二.傅里叶变换时移性质示例 一.傅里叶变换时移性质 傅里叶变换频移性质 : " 序列信号 x(n)x(n)x(n) " 的 " 傅里叶变 ...
- 【数字信号处理】傅里叶变换性质 ( 傅里叶变换频移性质 | 证明过程 )
文章目录 一.傅里叶变换时移性质 1.证明过程 2.使用场景 一.傅里叶变换时移性质 傅里叶变换频移性质 : " 序列信号 x(n)x(n)x(n) " 的 " 傅里叶变 ...
- 【数字信号处理】序列傅里叶变换 ( 序列傅里叶变换与反变换 | 序列绝对可和 与 存在傅里叶变换之间的关系 | 序列傅里叶变换性质 )
文章目录 一.序列傅里叶变换与反变换 二.序列绝对可和 与 存在傅里叶变换之间的关系 三.序列傅里叶变换性质 一.序列傅里叶变换与反变换 在上一篇博客 [数字信号处理]序列傅里叶变换 ( 序列傅里叶变 ...
- 傅里叶变换短时傅里叶变换小波变换
一.傅里叶变换 关于傅里叶变换的基本概念在此我就不再赘述了,默认大家现在正处在理解了傅里叶但还没理解小波的道路上.(在第三节小波变换的地方我会再形象地讲一下傅里叶变换) 下面我们主要将傅里叶变换的不足 ...
- 【OpenCV4】图像的傅里叶变换 cv::dft() 和逆变换 cv::idft() 解析(c++)
图像傅里叶变换的作用: 频谱分析,获取图像中高频低频的分布情况 快速卷积,两个矩阵的傅里叶变换结果相乘 案例代码: cv::Mat TestOpencvDft() {cv::Mat lena = cv ...
- 傅里叶变换--快速傅里叶变换实现
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. ...
- 用matlab对excel数据傅里叶变换,快速傅里叶变换_用excel如何作快速傅里叶变换?...
用excel如何作快速傅里叶变换? 具体实例如下: 1.对于时间序列,可以展开成傅立叶级数,进行频谱分析.对于时间序列xt其傅立叶级数展开式为展开成傅立叶级数: 由图可见,图形完全对称,通常只取左半部 ...
- 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质 | x(n) 分解为实部序列与虚部序列 | 实部傅里叶变换 | 虚部傅里叶变换 | 共轭对称傅里叶变换 | 共轭反对称傅里叶变换 )
文章目录 一.前置概念 1.序列对称分解定理 2.傅里叶变换 3.傅里叶变换的共轭对称分解 二.序列傅里叶变换共轭对称性质 0.序列傅里叶变换共轭对称性质 x(n) 分解为实部序列与虚部序列 x(n) ...
- 【数字信号处理】傅里叶变换性质 ( 傅里叶变换频移性质示例 | PCM 音频信号处理 | 使用 matlab 进行频移操作 )
文章目录 一.PCM 音频信号处理 二.要点说明 一.PCM 音频信号处理 给定一段 PCM 音频数据 , 封装到 .WAV 文件 中 , 此时的信号 是 实信号 , 每个 PCM 音频采样都是一个 ...
最新文章
- Kubernetes基础与架构
- php下curl与file_get_contents性能对比
- codevs 1557 热浪
- HDU - 3605 Escape(二分图多重匹配-网络流最大流+思维建边+状态压缩)
- SAP Spartacus 3.0部署在development environment上
- 三层架构dao service 表示层 115721935
- 要高薪地进入IT,你得这样做
- 9999元起!荣耀Magic V今日首销:首款骁龙8折叠屏旗舰
- OpenShift 4 - Service Mesh环境和BookInfo应用安装脚本
- 细究STP根端口和指定端口的选举过程
- 生成指定位数的坐标方法-2优化版本--建议使用的版本
- 进程间通信-命名管道FIFO
- 安卓手机变鼠标图文教程
- Kent Beck简单设计四条规则
- 高德地图又出逆天黑科技!全国各大城市模型直接获取
- 扰动观察法怎么写matlab,扰动观察法
- C22合金(N06022)是哈氏合金?还是镍基合金?by阿斯米合金
- Nvidia最新三维重建技术Instant-ngp初探
- 联想拯救者y7000电池耗电快_联想拯救者Y7000游戏本测评之温度、续航双测评
- android 手机调试链接不上,解决android 连接真机调试连接不了的问题