int getOptimalDFTSize(int vecsize)
参数vecsize,向量尺寸,即图片的rows,cols。
void copyMakeBorder(InputArray src, OutputArray dst, int top,int bottom
,int left, int right, int borderType, const Scalar&value=Scalar())
函数作用是扩充图像边界。
第一个参数,输入图像;
第二个参数,保存运算结果的Mat类型,需要和源图片有一样的尺寸和类型。
接下来的4个参数分别为int类型的top,bottom,left,right分别表示在源图像四个方向上扩充多少像素。
第七个参数,borderType类型的边界类型,常见取值为BORDER_CONSTANT;
第八个参数,const Scalar&类型的value,默认值为0;第七个参数为
BORDER_CONSTANT时,这个参数表示边界值。
void magnitude(InputArray x, InputArray y, OutputArray magnitude)
函数作用是计算二维矢量的幅值。
第一个参数,表示矢量的浮点型X坐标值(实部);
第二个参数,表示矢量的浮点型Y坐标值(虚部);
第三个参数是输出的幅值,和第一个参数x有同样的尺寸和类型;
下式可以表示magnitude()函数的原理:
dst(I)=根号下(x(I)^2+y(I)^2)
void normalize(InputArray src, OutputArray dst, double alpha=1, double beta=0, int norm_type=NORM_L2, int dtype=-1, InputArray mask=noArray())
第一个参数为输入图像,Mat类型的对象即可;
第二个参数为运算结果的保存图像,必须和源图像有一样的尺寸和类型;
第三个参数为double类型,归一化后的最大值,有默认值1;
第四个参数为归一化后的最大值,有默认值0;
第五个参数为归一化类型,有NORM_INF,NORM_L1,NORM_L2,NORM_MINMAX等参数可选,默认值NORM_L2;
第六个参数为int类型的dtype,默认值-1;此参数为负值时,输出矩阵和src有同样的类型,否则它和src有同样的通道数,
第七个参数为可选的操作掩膜,有默认值noArray()。
离散傅里叶变换的运行速度和图片的尺寸有很大关系。当图像的尺寸是