#pragma once
/*--------------------------------------------------------------------------------------------------
* @Copyright (c) , All rights reserved.
* @file: myLSD.hpp
* @version: ver 1.0
* @author: 闹闹
* @brief: LSD线段检测
* @change:
* @email: 1319144981@qq.com
* Date Version Changed By Changes
* 2021/5/11 11:46:37 1.0 闹闹 create
写一句自己最喜欢的话吧。
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
--------------------------------------------------------------------------------------------------*/
#include "opencv2/opencv.hpp"
#include "opencv2/highgui.hpp"
namespace nao {
namespace algorithm {
namespace fuliy {
//傅里叶变换
//https://blog.csdn.net/weixin_45875105/article/details/106917609
//https://blog.csdn.net/cyf15238622067/article/details/87917766
void FuLiY(const cv::Mat src, cv::Mat& dst) {
int w = cv::getOptimalDFTSize(src.cols);
int h = cv::getOptimalDFTSize(src.rows);
cv::Mat padded;
cv::copyMakeBorder(src, padded, 0, h - src.rows, 0, w - src.cols, cv::BORDER_CONSTANT, cv::Scalar::all(0));
cv::Mat plane[] = { cv::Mat_<float>(padded),cv::Mat::zeros(padded.size(),CV_32F) };
cv::Mat complexIm;
cv::merge(plane, 2, complexIm);//为延扩后的图像增添一个初始化为0的通道
cv::dft(complexIm, complexIm);
cv::split(complexIm, plane);
cv::magnitude(plane[0], plane[1], plane[0]);
cv::Mat magnitudeImage = plane[0];
magnitudeImage += cv::Scalar::all(1);
cv::log(magnitudeImage, magnitudeImage); //自然对数
magnitudeImage = magnitudeImage(cv::Rect(0, 0, magnitudeImage.cols & -2, magnitudeImage.rows & -2));
int cx = magnitudeImage.cols / 2;
int cy = magnitudeImage.rows / 2;
cv::Mat q0(magnitudeImage, cv::Rect(0, 0, cx, cy));
cv::Mat q1(magnitudeImage, cv::Rect(cx, 0, cx, cy));
cv::Mat q2(magnitudeImage, cv::Rect(0, cy, cx, cy));
cv::Mat q3(magnitudeImage, cv::Rect(cx, cy, cx, cy));
cv::Mat temp;
q0.copyTo(temp);
q3.copyTo(q0);
temp.copyTo(q3);
q1.copyTo(temp);
q2.copyTo(q1);
temp.copyTo(q2);
cv::normalize(magnitudeImage, magnitudeImage, 0, 1, cv::NORM_MINMAX);
dst = magnitudeImage.clone();
}
}//namespace fuliy
}//namespace algorithm
}//namespace nao
/*----------------------------------------------------------------------- (C) COPYRIGHT LEI *****END OF FILE-----------------------------------------------------------*/
傅里叶变换
最新推荐文章于 2024-09-14 21:33:09 发布