调试的时候,在 CV_Assert(DataType<_Tp>::channels == m.channels() || m.empty());
0x00007FF82731478C 处(位于 zbartest1.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x0000007A694FC880 处。
```c++
int m = getOptimalDFTSize(srcImg.rows);
int n = getOptimalDFTSize(srcImg.cols);// on the border add zero values
Mat padded;
copyMakeBorder(srcImg, padded, 0, m - srcImg.rows, 0, n - srcImg.cols, BORDER_CONSTANT, Scalar::all(0));//copyMakeBorder(srcImg, padded, 0, opWidth - srcImg.rows, 0, opHeight - srcImg.cols, BORDER_CONSTANT, Scalar::all(0));
Mat planes[] = { Mat_<float>(padded), Mat::zeros(padded.size(), CV_32F) };////将planes数组组合合并成一个多通道的数组comImg
Mat comImg;
merge(planes, 2, comImg);//将Mat数组中的两个单通道float类型的图像归并到一个Mat对象complexI中,得到的Mat对象complexI 便是一个两通道的图像了,且每个通道均为float类型(CV_32F)
dft(comImg, comImg);//就地离散傅里叶变换
split(comImg, planes);
magnitude(planes[0], planes[1], planes[0]);
```