opencv4 傅里叶变换

news2024/11/26 17:36:43

傅里叶变换

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

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

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

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

① 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

信用卡图片

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【群智能算法改进】一种改进的算术优化算法 改进算术优化算法 改进AOA[2]【Matlab代码#38】

文章目录 【获取资源请见文章第5节:资源获取】1. 原始AOA2. 改进后的MAOA算法2.1. Kent映射种群初始化2.2 复合摆线法优化MOA参数2.3 种群top20%精英变异和Cauchy变异组合2.3.1 麻雀精英变异2.3.2 柯西变异 3. 部分代码展示4. 仿真结果展示5. 资源获取说明 【获取资…

高性能软件负载OpenResty整合Reids集群配置

目录 1 OpenResty整合Reids集群配置1.1 下载安装lua_resty_redis1.1.1 连接Redis集群封装1.1.2 配置lua脚本路径1.1.3 测试脚本 1.2 请求参数封装1.2.1 测试脚本 1.3 抓取模板内容封装1.3.1 下载安装lua-resty-http1.3.2 测试脚本 1.4 模版渲染配置1.4.1 下载安装lua-resty-tem…

基于RK3399/RK3588 H.265/HEVC的低延迟视频传输系统设计与实现

近年来,随着短视频直播的兴起,视频传输设备在生活中的应用越发普及。人们对图像 清晰度、帧率、码率等技术指标的要求不断提高,视频帧所包含的数据量也在急速增加。在 有限的网络带宽下,传统的视频采集设备面临压缩率不足、帧率…

Ui自动化测试如何上传文件

前言 实施UI自动化测试的时候,经常会遇见上传文件的操作,那么对于上传文件你知道几种方法呢?今天我们就总结一下几种常用的上传文件的方法,并分析一下每个方法的优点和缺点以及哪种方法效率,稳定性更高 被测HTML代码…

python基础知识(九):函数

目录 1. 函数的定义2. 传递实参2.1 位置实参2.2 关键字实参2.3 默认值2.4 传递任意数量的实参2.5 结合使用位置实参和任意数量实参 3. 导入模块3.1 导入特定的函数3.2 使用 as 给函数指定别名3.3 使用 as 给模块指定别名3.4 导入模块中的所有函数 1. 函数的定义 函数的定义形式…

Wijmo 5.20231.888 JavaScript UI Crack

Wijmo使用更快、更灵活的 JavaScript UI 组件构建更好的应用程序 使用 Wijmo,利用我们引人注目的 UI 组件库,将更多时间花在应用程序的核心功能上。要求零依赖,Wijmo sports弹性网格,业内最好的 JavaScript 数据网格,提…

基于深度学习的高精度动物检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度动物检测识别系统可用于日常生活中或野外来检测与定位动物目标(狼、鹿、猪、兔和浣熊),利用深度学习算法可实现图片、视频、摄像头等方式的动物(狼、鹿、猪、兔和浣熊)目标检测识…

前端基础面试题(HTML,CSS,JS)

大厂面试题分享 面试题库 前后端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 web前端面试题库 VS java后端面试题库大全 html语义化的理解 代码结构: 使页面在没有css的情况下,也能够呈现出好的内容结构 有利于SE…

AI实战营:MMPreTrain代码实现

环境 环境安装 pip install openmim mim install mmengine mim install mmcv mim install mmpretrain # 安装多模态模型 pip install "mmpretrain[multimodal]" 验证环境 In [1]: import mmengineIn [2]: mmengine.__version__ Out[2]: 0.7.3In [3]: import …

开发者出海合规手册;@levelsio独立开发月入20万解析;MJ+AR设计珠宝;SD算法原理-通俗版 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 独立开发者必看,出海应用开发者合规手册 这是 JourneymanChina 多年出海经验教训的总结,适用于Google Play 以…

在Wamp环境中如何下载Composer并且使用Laravel配置Apache服务器

一.Composer的安装 方法1.到Composer官网Composer (getcomposer.org)下载 点击Composer-Setup.exe下载Composer安装包 点击Next 这里选择你的php.exe的地址 然后一直点next结束。 然后打开cmd命令输入composer -v看是否运行成功。 方法2.CMD命令安装composer php -r &quo…

学生考试作弊检测系统 yolov8

学生考试作弊检测系统采用yolov8网络模型人工智能技术,学生考试作弊检测系统过在考场中安装监控设备,对学生的作弊行为进行实时监测。当学生出现作弊行为时,学生考试作弊检测系统将自动识别并记录信息。YOLOv8 算法的核心特性和改动可以归结为…

SolVES 模型与多技术融合【多语言】实现生态系统服务功能社会价值评估及拓展案例分析

生态系统服务是人类从自然界中获得的直接或间接惠益,可分为供给服务、文化服务、调节服务和支持服务4类,对提升人类福祉具有重大意义,且被视为连接社会与生态系统的桥梁。自从启动千年生态系统评估项目(Millennium Ecosystem Asse…

IDEA中Maven依赖包下载不了的一种“奇怪”解决方案【亲测有效】

💧 记录一下今天遇到的 b u g \color{#FF1493}{记录一下今天遇到的bug} 记录一下今天遇到的bug💧 🌷 仰望天空,妳我亦是行人.✨ 🦄 个人主页——微风撞见云的博客🎐 🐳 数据结构与算法…

Linux - fd文件描述符和文件详解

​​​​​​​ ​​​​​​​ ​​​​​​​ 感谢各位 点赞 收藏 评论 三连支持 本文章收录于专栏【Linux系统编程】 ❀希望能对大家有所帮助❀ 本文章由 风君子吖 原创 ​​​​​​​ ​​​​​​​ ​​​​​​​ …

WPF 如何实时查看页面元素如何使用实时可视化树

文章目录 往期回顾可视化页面元素如何使用调试工具 总结 往期回顾 WPF 学习:如何使用实时可视化树,照着MaterialDesign的Demo学习 可视化页面元素 我们知道,网页的页面元素是可以通过按F12查看代码。查看到页面元素的。 WPF也有类似的工具…

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

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

模型剪枝:给模型剪个头发

本文来自公众号“AI大道理”。 深度学习网络模型从卷积层到全连接层存在着大量冗余的参数,大量神经元激活值趋近于0,将这些神经元去除后可以表现出同样的模型表达能力,这种情况被称为过参数化,而对应的技术则被称为模型剪枝。 网…

在价格战中苦苦挣扎的小鹏汽车和蔚来,哪个是最好的电动汽车股?

来源:猛兽财经 作者:猛兽财经 总结: 从长期来看,小鹏汽车(XPEV)的基本面优于蔚来(NIO),小鹏汽车目前的估值也更有吸引力,在全球电动汽车行业中也具有更好的长期投机性。 猛兽财经的投资组合中其中有一部分…

断更两个月的感悟

清明时节雨纷纷, 路上行人欲断魂, 借问酒家何处有, 牧童遥指杏花村。 1.断更 武汉的三月和四月是个多雨的季节,这样的天气经常让我患得患失,由于一些原因(后文再详细说明),不知不觉…