OpenCV-DFT最优尺寸cv::getOptimalDFTSize的设置

 更新时间:2021年09月05日 09:58:56   作者:翟天保Steven  
本文主要介绍了OpenCV-DFT最优尺寸cv::getOptimalDFTSize的设置,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

函数原型

int getOptimalDFTSize(int vecsize);

参数说明

int类型的vecsize,向量尺寸,一般是图片的宽或高。

测试代码

#include<iostream>
#include<opencv2/opencv.hpp>
#include<ctime>
using namespace std;
using namespace cv;
 
cv::Mat image_make_border(cv::Mat &src);
 
int main(void)
{
	Mat test = imread("liu.jpg", 0);
	cv::Mat result=image_make_border(test);
 
	imshow("original", test);
	imshow("result", result/255);
	waitKey(0);
	system("pause");
	return 0;
}
 
// 图像边界处理
cv::Mat image_make_border(cv::Mat &src)
{
	cout << "src row:" << src.rows << endl;
	cout << "src col:" << src.cols << endl;
	int w = cv::getOptimalDFTSize(src.cols); // 获取DFT变换的最佳宽度
	int h = cv::getOptimalDFTSize(src.rows); // 获取DFT变换的最佳高度
	cout << "w:" << w << endl;
	cout << "h:" << h << endl;
	cv::Mat padded;
	// 常量法扩充图像边界,常量 = 0
	cv::copyMakeBorder(src, padded, 0, h - src.rows, 0, w - src.cols, cv::BORDER_CONSTANT, cv::Scalar::all(0));
	padded.convertTo(padded, CV_32FC1);
 
	return padded;
}

测试效果

 

图1 原图

 

图2 扩充后图像

 

图3 尺寸变化

该函数可以自动计算最适合进行离散傅里叶变换的图像尺寸大小,从而提高计算速度;从图中可以看出,宽的尺寸非常合适,而高需要扩展到4096,从而多了下方的黑线区域,扩展的数值由copyMakeBorder函数决定,后续会介绍该函数~

到此这篇关于OpenCV-DFT最优尺寸cv::getOptimalDFTSize的设置的文章就介绍到这了,更多相关OpenCV-DFT最优尺寸cv::getOptimalDFTSize内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python学习之路安装pycharm的教程详解

    Python学习之路安装pycharm的教程详解

    pycharm 是一款功能强大的 Python 编辑器,具有跨平台性。这篇文章主要介绍了Python学习之路安装pycharm的教程,本文分步骤通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • python机器学习算法与数据降维分析详解

    python机器学习算法与数据降维分析详解

    这篇文章主要为大家介绍了python机器学习算法与数据降维的分析详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • pytorch单维筛选 相乘的案例

    pytorch单维筛选 相乘的案例

    这篇文章主要介绍了pytorch单维筛选 相乘的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • python集合用法实例分析

    python集合用法实例分析

    这篇文章主要介绍了python集合用法,较为详细的分析了Python中集合的常见用法,需要的朋友可以参考下
    2015-05-05
  • python+os根据文件名自动生成文本

    python+os根据文件名自动生成文本

    这篇文章主要为大家详细介绍了python+os根据文件名自动生成文本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • 使用python爬取taptap网站游戏截图的步骤

    使用python爬取taptap网站游戏截图的步骤

    这篇文章主要介绍了使用python爬取taptap游戏截图的步骤,帮助大家更好的理解和学习使用python进行爬虫,感兴趣的朋友可以了解下
    2021-05-05
  • Python 实现异步调用函数的示例讲解

    Python 实现异步调用函数的示例讲解

    今天小编就为大家分享一篇Python 实现异步调用函数的示例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • 解决遇到PermissionError:[Errno 13] Permission denied:XXXX错误的问题

    解决遇到PermissionError:[Errno 13] Permission den

    遇到"PermissionError:[Errno 13] Permission denied"通常是权限不足导致,解决此问题的方法包括检查并更改文件权限,使用管理员权限运行命令,或接触文件所有者,这些步骤有助于确保用户具有执行操作所需的权限,有时,文件或目录可能被锁定
    2024-09-09
  • Python 输出详细的异常信息(traceback)方式

    Python 输出详细的异常信息(traceback)方式

    这篇文章主要介绍了Python 输出详细的异常信息(traceback)方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python在linux中输出带颜色的文字的方法

    python在linux中输出带颜色的文字的方法

    这篇文章主要介绍了python在linux中输出带颜色的文字的方法,仅在Linux系统中有效果,一般输出在控制台中,本文用在日志环节,方便测试,需要的朋友可以参考下
    2014-06-06

最新评论