opencv4 傅里叶变换

傅里叶变换

① 高频:变化剧烈的灰度分量,例如边界礁石。

② 低频:变化缓慢的灰度分量,例如一片大海。

③ 高通滤波器:只保留高频,会使得图像细节增强。高频边界锐化了,增强了,细节更明显了。

④ 低通滤波器:只保留低频,会使得图像模糊。低频信息保留下来了,高频信息没了,图像边界会变得模糊了。

① opencv 中主要就是 cv2.dft() 执行傅里叶变换到频域中 和 cv2.idft() 执行逆傅里叶变换,输入图像需要先转换成 np.float32 格式。

② 得到的结果中频率为 0 的部分会在左上角,通常要转换到中心位置,可以通过 shift 变换来实现。

③ cv2.dft() 返回的结果是双通道的 ( 实部,虚部 ),通常还需要转换成图像格式才能展示(0,255)像素值。

ffshit

numpy.fft.fftshift() 函数是用来将一维或多维的数组进行循环移位(cyclic shift)操作,从而使得数据集的原点(中心点)从数组的开始位置移动到中间位置,便于进行傅里叶变换等操作。

具体来说,对于一维的实数或复数序列,numpy.fft.fftshift() 函数将其进行循环移位操作,将左半边的数据移到了右边,将右半边的数据移到了左边。而对于多维的数组,numpy.fft.fftshift() 函数则将其进行多维循环移位操作,保证每个维度上的数据都被移动到了中心位置。

举个例子,假设有一个长度为 N 的一维实数序列 x,其中 N 是偶数。那么按照 numpy.fft.fftshift() 的规则,可以将序列 x 划分为两部分:左半部分包括 x[N/2], x[N/2+1], …, x[N-1];右半部分包括 x[0], x[1], …, x[N/2-1]。然后,在执行 numpy.fft.fftshift(x) 操作时,函数会将左半部分移到右边,将右半部分移到左边,得到新的序列 x’。此时,x’[0] = x[N/2], x’[1] = x[N/2+1], …, x’[N/2-1] = x[N-1],x’[N/2] = x[0], x’[N/2+1] = x[1], …, x’[N-1] = x[N/2-1]。因此,numpy.fft.fftshift(x) 函数的作用就是将原始序列 x 在频域上进行循环移位操作,使得序列中心点移到了序列的开始位置,方便进行傅里叶变换等操作。

需要注意的是,numpy.fft.fftshift() 函数默认将原始序列的中心点移到了数组的开始位置,如果需要将中心点移到数组的结束位置,可以使用 numpy.fft.ifftshift() 函数进行逆向的移位操作。

低通高通

低通保留图像整体的,丢失边界
高通边界信息

总体流程与方法讲解

在这里插入图片描述
拿卡上的数字不断到数字模板中匹配

提取数字

https://blog.csdn.net/qq_40784418/article/details/105586644

轮廓检测
外接矩形
外轮廓
resize操作
轮廓过滤操作,比如说数字轮廓长宽比列是差不多的,直接去除不符合的

环境配置与预处理

在这里插入图片描述
终端参数
在这里插入图片描述
在这里插入图片描述
路径指定好了
apply后确定

处理过程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
-1表示画出所有轮廓

轮廓进行排序

在这里插入图片描述
外接矩形,用矩形的x坐标点排序,函数返回排序完的轮廓

继续

i为数值,c为轮廓
在这里插入图片描述
这里估计就是统一不同数字的轮廓大小
ref是黑白图

信用卡 代码

https://blog.csdn.net/m0_52054107/article/details/114239739

信用卡图片

图片上有很多干扰项,处理起来没模板简单

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/26642.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网瘾少年转行软件测试,月薪20k? 叛逆少年终归成长...

前言: 高中住校期间沉迷游戏(DNF),尤其是高三那年,晚上翻墙出去通宵,白天上课睡觉,高考自然是考了个稀碎,高考结束那个暑假刚开始觉得整个人都自由了,爸妈看我没考上大学,知道我心情…

Sql Server 自动备份

Sql Server 自动备份 文章目录 Sql Server 自动备份1. 打开SQL Server,在管理下找到”维护计划”,右键点击”维护计划向导”,如图;2. 再次点击维护计划向导3. 在选择维护任务下勾选”备份数据库”、”清楚维护任务”4.选择需要备份…

北邮22信通:二叉树显示路径的两种方法 递归函数保存现场返回现场的实例

北邮22信通一枚~ 跟随课程进度每周更新数据结构与算法的代码和文章 持续关注作者 解锁更多邮苑信通专属代码~ 获取更多文章 请访问专栏~ 北邮22信通_青山如墨雨如画的博客-CSDN博客 一.讲解 要想实现二叉树的路径显示,我们要按照…

每日一题——三数之和(双指针)

每日一题 三数之和 题目链接 思路 解析函数原型 首先我们来看一下题目给的函数原型: int** threeSum(int* nums, int numsSize, int* returnSize, int**returnColumnSizes)题目要求我们返回一个二维数组,数组的行数代表着存在多少个满足条件的三元组&…

基于SVM的鸢尾花数据集回归分析

目录 1. 作者介绍2. SVM支持向量机算法2.1 鸢尾花数据集2.2 鸢尾花数据集可视化2.2.1 散点图2.2.2 箱型图2.2.3 三维散点图(3D) 3. SVM算法实现3.1 完整代码3.2 运行结果3.3 问题与分析 1. 作者介绍 张佳伦,男,西安工程大学电子信…

Cuda | Cudnn安装及其配置

文章目录 👉引言💎一、Cuda安装1 选择Cuda版本2下载及运行安装程序3 测试 二、Cudnn安装1、进入官网下载对应cuda版本的cudnn2、下载好相应版本并进行解压安装3、解压完成后4、测试 👉引言💎 学习的最大理由是想摆脱平庸&#xf…

stable diffusion图片资源分享和模型推荐,好用的模型有哪些呢?

前言 这篇文章主要是分享我的图片和推荐一些好用的模型,模型不在多在于精,基于几个好的大模型适当下载一下LORA模型,就能画出非常好的图片,多话不说 图片分享 简单展示 详情请看:https://space.bilibili.com/109890…

Linux基础篇 Ubuntu 22.04的环境安装-02

目录 一、资料的获取 二、安装虚拟机 三、安装Ubuntu过程 四、注意事项 一、资料的获取 1.通过官方网站下载 Ubuntu系统下载 | Ubuntuhttps://cn.ubuntu.com/download2.下载桌面板即可 3.选择下载的版本 二、安装虚拟机 1.创建新的虚拟机 2.选择自定义安装 3.硬件兼容性选…

Es elasticsearch 十九 kibana 可视化配置图表 及功能 集群部署

目录 Es kibana 可视化 下载zip 解压 bin/kibana.bat 启动 管理索引管理 吧logstash 存进来的数据 按照 xxx-* 方式 保存索引模式 通过 discove 配置可视化界面 图表数据实时刷新 时序图配置 饼图配置 表格数据配置 添加仪表盘 图表样例 使用后模拟绘制方法好看些 …

pandas数据预处理

pandas数据预处理 pandas及其数据结构pandas简介Series数据结构及其创建DataFrame数据结构及其创建 利用pandas导入导出数据导入外部数据导入数据文件 导出外部数据导出数据文件 数据概览及预处理数据概览分析利用DataFrame的常用属性利用DataFrame的常用方法 数据清洗缺失值处…

什么是Odoo ERP:部署方式、业务集成、成本投入、发展与未来

ERP部署的类型 如何部署ERP 系统?通过多年的发展,ERP系统的部署方式更加多样化,包括公有云或私有云部署、本地部署或整合不同环境的混合部署场景,企业可根据自身条件与应用场景加以选择。下面介绍了每种部署模式的主要优势&#…

动态规划-硬币排成线

动态规划-硬币排成线 1 描述2 样例2.1 样例 1:2.2 样例 2:2.3 样例 3: 3 算法解题思路及实现3.1 算法解题分析3.1.1 确定状态3.1.2 转移方程3.1.3 初始条件和边界情况3.1.4 计算顺序 3.2 算法实现3.2.1 动态规划常规实现3.2.2 动态规划滚动数组 该题是lintcode的第394题&#x…

在简历上写了“精通”后,我差点被面试官问到窒息....

前言 如果有真才实学,写个精通可以让面试官眼前一亮! 如果是瞎写?基本就要被狠狠地虐一把里! 最近在面试,我现在十分后悔在简历上写了“精通”二字… 先给大家看看我简历上的技能列表: 熟悉软件测试理…

基于相位共轭法的散射聚焦成像研究-Matlab代码

▒▒本文目录▒▒ 一、引言二、相位共轭法散射聚焦成像Matlab仿真三、参考文献四、Matlab程序开发与实验指导 一、引言 一直以来,研究人员致力于分析造成散射的原因、随机介质性质以及各种散射光的特征,并且研究透过散射介质成像。1990年,I.…

基于VMD-SSA-LSTM的多维时序光伏功率预测

目录 1 主要内容 变分模态分解(VMD) 麻雀搜索算法SSA 长短期记忆网络LSTM 2 部分代码 3 程序结果 4 下载链接 1 主要内容 之前分享了预测的程序基于LSTM的负荷和可再生能源出力预测【核心部分复现】,该程序预测效果比较好,并且结构比较清晰&#x…

新能源汽车充电桩的建设及优化分析

安科瑞虞佳豪 新能源汽车充电桩在经历了几年的发展之后,总体情况是在持续走好的,并且充电桩的建设相较于以往有了很大的普及度和安全度,这对新能源汽车车主是一个好事,也鼓励了更多人选择买新能源汽车,但这并不是说新…

如何通过控制点或地物点生产地方坐标系的倾斜摄影三维模型数据?

如何通过控制点或地物点生产地方坐标系的倾斜摄影三维模型数据? 要生成地方坐标系的倾斜摄影三维模型数据,需要进行以下步骤: 1、收集影像数据 首先需要采集大量的航空影像和地面影像,以构建真实世界中的物体模型。这些影像可以…

一文让你明白软件测试该怎样入门?

我认为入门软件测试需要四个方面的知识or技能,它们是:业务知识、职业素养、基础知识、技术知识。 职业素养是一切的根基,因为人在职场就必须拥有必要的职业素养,软件测试工程师也不例外。基础知识和技术知识是两大支柱&#xff0…

使用外部工具横向移动

Smbexe、Psexec Psexec PsExec是一种轻巧的telnet代替品,可让您在其他系统上执行进程,并为控制台应用提供完整的交互性,无需手动安装客户端软件。 原理: 1、ipc$连接,释放Psexesvc.exe 2、OpenSCManager打开受害者…

不甘做小弟,JS时间对象又在搞事情!(上)

关注“大前端私房菜”微信公众号,回复暗号【面试宝典】即可免费领取107页前端面试题。 Date Date 是 js 的一个内置对象,也叫内置构造函数。提供了一堆的方法帮助我们更方便的操作时间 创建时间对象:new Date() 获取时间对象:ne…