#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
//快速傅里叶变换
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)
opencv:傅里叶变换中的相位的计算
最新推荐文章于 2025-10-09 10:08:52 发布

最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



