Opencv学习笔记 离散傅立叶变换(DFT)简介及用于图片方向校正
2023-09-14 09:01:35 时间
离散傅里叶变换(Discrete Fourier Transform,缩写为DFT),是傅里叶变换在时域和频域上都呈离散的形式,将信号的时域采样变换为其DTFT的频域采样。在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。即使对有限长的离散信号作DFT,也应当将其看作其周期延拓的变换。在实际应用中通常采用快速傅里叶变换计算DFT。
快速傅里叶变换 (fast Fourier transform), 即利用计算机计算离散傅里叶变换(DFT)的高效、快速计算方法的统称,简称FFT。快速傅里叶变换是1965年由J.W.库利和T.W.图基提出的。采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。
代码如下:
string filename = @"C:\\Users\\Desktop\\imageTextN.png";
// string filename = "imageTextR.png";
Mat image = Cv2.ImRead(filename, ImreadModes.Grayscale);
Mat imageCopy = image.Clone();
// 将输入图像扩大到最佳尺寸
Mat padded = new Mat();
int m = Cv2.GetOptimalDFTSize(image.Rows);
int n = Cv2.GetOptimalDFTSize(image.Cols);
Cv2.CopyMakeBorder(image, padded, 0, m - image.Rows, 0, n - image.Cols, BorderTypes.Constant,
相关文章
- Opencv学习笔记 - 使用opencvsharp和期望最大化
- Opencv学习笔记 OpenCV源码以及模块的组成结构
- Opencv学习笔记 - 使用opencvsharp和knn进行手写识别训练和预测
- Opencv学习笔记 DNN模块概述
- Opencv学习笔记 各向异性滤波/均值滤波/高斯滤波/中值滤波/加权中值滤波/高斯低通滤波
- Opencv学习笔记 - 使用快速傅立叶变换(FFT)检测图像清晰度
- Opencv学习笔记 OpenCv4.5.0 + VS2019 创建c++测试项目
- Opencv学习笔记 - 基于图的分割
- Opencv学习笔记 图像清晰度评价
- Opencv学习笔记 K-Means聚类算法
- Opencv学习笔记 均方误差(MSE)、结构相似度指数(SSIM)
- 机器学习笔记 - MediaPipe了解 + 结合OpenCV进行人体姿势估计
- Opencv学习笔记 在OpenCV中使用Mask R-CNN
- 机器学习笔记 - Kornia:结合OpenCV的PyTorch框架
- Python学习笔记十一之一个简单的opencv阈值分割实例,求取圆度、轮廓椭圆拟合
- Python学习笔记十之Opencv图像处理:阈值、滤波、形态学、梯度、轮廓提取、FFT
- Opencv 基本操作九 图像特征点提取