小编use*_*404的帖子

如何在OpenCV中进行逆DFT

我正在尝试使用C++中的OpenCV实现逆DFT我在docs.opencv.org中下载了完整的dft示例,只是将几行调整为逆.

我的DFT代码是这样的

Mat DFT(const char* filename)
{
    Mat I = imread(filename, CV_LOAD_IMAGE_GRAYSCALE);
    if (I.empty())
    {
        Mat emty(7, 7, CV_32FC2, Scalar(1, 3));
        return emty;
    }

    Mat padded;                            //expand input image to optimal size
    int m = getOptimalDFTSize(I.rows);
    int n = getOptimalDFTSize(I.cols); // on the border add zero values
    copyMakeBorder(I, padded, 0, m - I.rows, 0, n - I.cols, BORDER_CONSTANT, Scalar::all(0));

    Mat planes[] = { Mat_<float>(padded), Mat::zeros(padded.size(), CV_32F) };
    Mat complexI;
    merge(planes, 2, complexI);         // Add to the expanded another plane with …
Run Code Online (Sandbox Code Playgroud)

c++ opencv

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×1

opencv ×1