From 56c914b49cf8719de0d7a64bbbd19a4da5c154fd Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Wed, 19 Sep 2018 23:27:19 +0200 Subject: [PATCH] Fix FFT classes compilation errors --- src/fft_fftw.cpp | 2 +- src/fft_opencv.cpp | 18 ++++++------------ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/fft_fftw.cpp b/src/fft_fftw.cpp index 8425e6b..d428032 100644 --- a/src/fft_fftw.cpp +++ b/src/fft_fftw.cpp @@ -170,7 +170,7 @@ void Fftw::set_window(const MatDynMem &window) m_window = window; } -void Fftw::forward(MatDynMem &&real_input, ComplexMat & complex_result) +void Fftw::forward(const MatDynMem &real_input, ComplexMat &complex_result) { Fft::forward(real_input, complex_result); diff --git a/src/fft_opencv.cpp b/src/fft_opencv.cpp index c72eb55..ff06873 100644 --- a/src/fft_opencv.cpp +++ b/src/fft_opencv.cpp @@ -11,38 +11,33 @@ void FftOpencv::set_window(const MatDynMem &window) m_window = window; } -void FftOpencv::forward(const cv::Mat &real_input, ComplexMat &complex_result, float *real_input_arr) +void FftOpencv::forward(const MatDynMem &real_input, ComplexMat &complex_result) { Fft::forward(real_input, complex_result); cv::Mat tmp; cv::dft(real_input, tmp, cv::DFT_COMPLEX_OUTPUT); complex_result = ComplexMat(tmp); - return; } -void FftOpencv::forward_window(MatDynMem &patch_feats_in, ComplexMat & complex_result, MatDynMem &tmp) +void FftOpencv::forward_window(MatDynMem &feat, ComplexMat &complex_result, MatDynMem &temp) { Fft::forward_window(feat, complex_result, temp); - (void)real_input_arr; - (void)fw_all; - - uint n_channels = uint(patch_feats.size()); + uint n_channels = feat.size[0]; for (uint i = 0; i < n_channels; ++i) { cv::Mat complex_res; - cv::dft(patch_feats[i].mul(m_window), complex_res, cv::DFT_COMPLEX_OUTPUT); + using namespace cv; + cv::dft(cv::Mat(feat, {Range(i, i + 1), Range::all(), Range::all()}).mul(m_window), + complex_res, cv::DFT_COMPLEX_OUTPUT); complex_result.set_channel(int(i), complex_res); } - return; } void FftOpencv::inverse(ComplexMat & complex_input, MatDynMem & real_result) { Fft::inverse(complex_input, real_result); - (void)real_result_arr; - if (complex_input.n_channels == 1) { cv::dft(complex_input.to_cv_mat(), real_result, cv::DFT_INVERSE | cv::DFT_REAL_OUTPUT | cv::DFT_SCALE); } else { @@ -53,7 +48,6 @@ void FftOpencv::inverse(ComplexMat & complex_input, MatDynMem & real_result) } cv::merge(ifft_mats, real_result); } - return; } FftOpencv::~FftOpencv() {} -- 2.39.2