关于图像的傅里叶变换的理解

2023-10-27

最近再学opencv关于图像的傅里叶变换的知识,自己感觉很难理解,查阅相关书籍和博客发现很多写的都比较含糊。下面是转载自知乎一个博主关于图像的傅里叶变换的通俗解释:通俗讲解:图像傅里叶变换

 文末加了一点冈萨雷斯《数字图像处理》中的关于频谱中心化的解释。

这里我们主要要讲的是二维图像傅里叶变换,但是我们首先来看一张很厉害的一维傅里叶变换动图。

妈耶~厉害哇!它把时域和频域解释的很清楚!

什么!你看不懂!

简单点说就是:所有的波都可以用很多个正弦波叠加表示。

然而这些波又可以通过频率幅值相位来表示。这样你就可以从左边那张图中时域的视角转化为咱们高大上的频域视角啦。

那首先来看一个例子~

其实右边图的每一个点,可以理解为它在描述一种平面波。那…其实还是有两个点之间还是有半分钱关系的,右边点所描述的波是构成左边点的无数个波面中的其中一个。

右边图中,每一个点

1)它到中点的距离描述的是频率

2)中点到它的方向,是平面波的方向

3)那一点的灰度值描述的是它的幅值

 

 

关于图像的傅里叶变换再冈萨雷斯的《数字图像处理》这本书的第四章频率域滤波中有详细的介绍,这里摘抄一段书中关于频谱中心化的解释:

傅里叶变换后的谱的原点周围以及其他四个角的周围出现较为明亮的点这是由于周期性,频谱的中心化可以由f(x,y)(-1)^{x+y}\Leftrightarrow F(u-M/2,v-N/2)实现,f(x,y)是傅里叶变换前的图像函数,F(u,v)是傅里叶变换后的图像函数,u,v是频率变量。x,y解释为连续空间变量,变量 uv的域定义了连续频率域。利用上式移动数据,使得F(0,0)移到频率矩形(即由区间[0,M-1]和[0,N-1]再频率域中定义的矩形)的中心。

想要详细了解的可以看看这本书,书中介绍的很详细,我感觉知道个大概原理即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于图像的傅里叶变换的理解 的相关文章

  • 如何去除给定图像中的噪声,使 ocr 输出完美?

    我已经对这个孟加拉文本图像进行了大津阈值处理 并使用 tesseract 进行 OCR 但输出非常糟糕 我应该应用什么预处理来消除噪音 我也想校正图像 因为它有轻微的倾斜 我的代码如下 import tesserocr from PIL i
  • uri 警告中缺少端口:使用 Python OpenCV cv2.VideoCapture() 打开文件时出错

    当我尝试流式传输 ipcam 时 出现了如下所示的错误 tcp 000000000048c640 uri 中缺少端口 警告 打开文件时出错 build opencv modules videoio src cap ffmpeg impl h
  • OpenCV 错误:connectedComponents_sub1 中断言失败 (L.channels() == 1 && I.channels() == 1) [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我在 OpenCV python 中遇到以下错误 并用 google 搜索了很多 但无法解决 如果有人能为我提供一些线索
  • 使用 OpenCV 改进特征点匹配

    我想匹配立体图像中的特征点 我已经用不同的算法找到并提取了特征点 现在我需要一个良好的匹配 在本例中 我使用 FAST 算法进行检测和提取 BruteForceMatcher用于匹配特征点 匹配代码 vector lt vector
  • 2d 图像点和 3d 网格之间的交点

    Given 网格 源相机 我有内在和外在参数 图像坐标 2d Output 3D 点 是从相机中心发出的光线穿过图像平面上的 2d 点与网格的交点 我试图找到网格上的 3d 点 This is the process From Multip
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 二值图像中骨架上两点之间的最短路径

    我有一个二进制图像 其中包含图像的一个像素宽度骨架 您可能基本上知道 在这个二值图像中 我在骨架上有 1 在其他地方有 0 如何找到骨架上两个非零元素之间的最短距离 路径也应该在骨架本身上 我想使用 A star 算法的 C 实现 我找到了
  • 在 Visual Studio 2012 中安装 OpenCV

    我正在尝试安装 OpenCV 来与 Visual Studio 一起使用 我使用的是2012Pro版本 但我认为它应该与vs10相同 我正在关注这个教程 http docs opencv org doc tutorials introduc
  • 将 4 通道图像转换为 3 通道图像

    我正在使用 OpenCV 2 4 6 我正在尝试将 4 通道 RGB IplImage 转换为 4 通道 HSV 图像 下面是我的代码 给出错误 OpenCV 错误 未知函数断言失败 我认为 cvCvtColor 支持 3 通道图像 有没有
  • YOLOv8获取预测边界框

    我想将 OpenCV 与 YOLOv8 集成ultralytics 所以我想从模型预测中获取边界框坐标 我该怎么做呢 from ultralytics import YOLO import cv2 model YOLO yolov8n pt
  • OpenCV VideoWriter 未写入 Output.avi

    我正在尝试编写一段简单的代码来获取视频 裁剪视频并写入输出文件 系统设置 OS Windows 10 Conda Environment Python Version 3 7 OpenCV Version 3 4 2 ffmpeg Vers
  • 为什么Android的ImageReader类这么慢?

    我尝试了适用于 Android 3 4 1 的全新 OpenCVJavaCamera2View但它太慢了 仅显示相机视图约 15 fps 当我尝试较旧的JavaCameraView相反 它给了我很好的结果 30fps 这是我相机的极限 我想
  • 如何检测斑点并将其裁剪成 png 文件?

    我一直在开发一个网络应用程序 我陷入了一个有问题的问题 我会尝试解释我想要做什么 在这里您看到第一个大图像 其中有绿色形状 我想要做的是将这些形状裁剪成不同的 png 文件 并使它们的背景透明 就像大图像下面的示例裁剪图像一样 第一张图像将
  • 使用python从gst管道抓取帧到opencv

    我在用着OpenCV http opencv org 和GStreamer0 10 我使用此管道通过自定义套接字通过 UDP 接收 MPEG ts 数据包sockfd由 python 提供并显示它xvimagesink 而且效果很好 以下命
  • 未加载库:@rpath/libopenblasp-r0.2.19.dylib

    我应该如何解决这个问题 Monas MacBook Pro 02 02 mona python Python 3 6 1 Anaconda custom x86 64 default May 11 2017 13 04 09 GCC 4 2
  • 在Python中从整个图像中检测表格部分

    我有一张尺寸为 3500x5000 的图像 现在我只想检测整个图像中的表格部分 如果不能直接进行 OCR 处理 则对其进行裁剪和旋转 经过所有搜索后 我想到了使用裁剪图像中的每个单元格的想法https medium com coinmonk
  • 我的 Opencv 应用程序处理速度非常慢

    我正在构建一个 OpenCV 应用程序 它从相机捕获视频 并在删除背景后将其覆盖在另一个视频上 我无法达到合理的速度 因为它以大约 1 fps 的速度播放输出 而我的背景去除以 3 fps 的速度工作 有没有办法以正常速度显示背景视频并以
  • OpenCV Python 和 SIFT 功能

    我知道有很多关于Python and OpenCV但我没有找到有关这个特殊主题的帮助 我想提取SIFT关键点来自 python OpenCV 中的图像 我最近安装了 OpenCV 2 3 可以访问 SURF 和 MSER 但不能访问 SIF
  • 在 opencv 中一次性将旋转和平移结合起来

    我有一段用于旋转和平移图像的代码 Point2f pt 0 in rows double angle atan trans c trans b 180 M PI Mat r getRotationMatrix2D pt angle 1 0
  • 在 virtualenvwrapper 中激活环境

    我安装了virtualenv and virtualenvwrapper用这个命令我创建了一个环境 mkvirtualenv cv 它有效 创建后我就处于新环境中 现在我重新启动了我的电脑 我想activate又是那个环境 但是怎么样 我使

随机推荐

  • Haskell学习——语法

    if then else Haskell是以表达式为主导的语言 expression oriented 所有语句必须要能给出一个具体的值 比如我们喜闻乐见的if else结构 Prelude gt if True then 1
  • 《数值分析》-- 高斯求积公式

    文章目录 概述 一 高斯型求积公式的一般理论 1 1 高斯型求积公式和高斯点 1 2 高斯点的特征 二 常用的高斯求积公式 2 1 高斯 勒让德求积公式 Gauss Legendre 2 2 高斯 切比雪夫求积公式 Gauss Chebys
  • 让生产力加倍的ChatGPT快捷指令

    我的新书 Android App开发入门与实战 已于2020年8月由人民邮电出版社出版 欢迎购买 点击进入详情 Why use ChatGPT Shortcut 简化流程 ChatGPT Shortcut 提供了快捷指令表 可以快速筛选和搜
  • OpenGL视频资料(LearnOpenGL中文)经典教材讲解

    OpenGL视频资料 LearnOpenGL中文 经典教材讲解 1 是中文 台湾的傅老师 讲的非常好 而且还是免费的 感谢傅老师的分享 视频地址 2 视频目录 讲解的非常仔细 可以说是手把手教 而且是openGL经典入门教材LearnOpe
  • [Python] Python基础入门笔记

    本篇是B站Python基础视频 有C Java编程基础容易理解 120分钟入门Python的学习笔记 Python基础笔记 一 Python 简介 1 Python执行过程 2 执行模式 二 语法规则 三 函数 1 内置函数 range 2
  • java基础练习—逢七游戏、不死神兔、百钱百鸡、利滚利

    1 逢七游戏 逢七过 规则是 从任意一个数字开始报数 当你要报的数字包含7或者是7 的倍数时都要说 过 为了帮助大家更好的玩这个游戏 这里我们直接在控制台打印出1 100之间的满足逢七必过 规则的数据 package com bdit pu
  • ThinkCentre进入BIOS,设置intel virtualization technology

    VMware安装提示cpu虚拟化intel virtualization technology ThinkCentre重启长按F1 按enter 开启intel virtualization technology F10保存即可 转载于 h
  • git团队开发使用流程概述和注意点

    重新温习了一下git 这篇文章主要总结一下使用git做开发的整体流程 所以不会做过多的git指令的详细说明 整体流程 这里我在本地进行模拟 我希望模拟达到的效果是 一共有4个端 project是一个仓库 manager是项目负责人 zs和l
  • 【面试】Java 必知必会

    必知必会 1 面向对象可以解释下么 都有哪些特性 关于封装 关于继承 重写 Override 关于多态 重载 如果只有方法返回值不同 可以构成重载吗 在 Java 中 什么时候使用重载 什么时候使用重写 子类对象作为父类对象使用 向上转型
  • 【Antlr】识别常见的词法结构

    1 概述 语法分析器通过输入的词法符号流来识别特定的语言结构 词法分析器通过输入的字符流来识别特定的语言结构 词法规则以大写字母开头 文法规则以小写字母开头 例如 ID是一个词法规则名 而expr是一 个文法规则名 2 配置标识符 在语法的
  • 数据结构—顺序表的初始化与销毁(C语言详细解读版1/3)

    顺序表 顺序表 SqList Sequence List 即顺序线性表 顺序表是在计算机内存中以数组的形式保存的线性表 是指用一组地址连续的存储单元依次存储数据元素的线性结构 使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中
  • 自动售卖系统开发系列——人脸识别自动售卖机三代BrotherSharp

    大纲 售卖机三代BrotherSharp的简介 售卖机三代BrotherSharp的方案介绍 系统整体组成 软件平台 硬件平台 售卖机三代BrotherSharp的实现过程 功能实现论述 软件流程图 源码 售卖机三代BrotherSharp
  • ArcGIS Desktop 遇到严重的应用程序错误

    由于项目初验 忙了几个月 感觉忙得并不值 好久都没更新博客了 一 问题 在关闭ArcMap时 ArcGIS Desktop 遇到严重的应用程序错误 环境是Windows 10 新装的系统 以前出现这种问题 一般有两种情况 一是ArcGIS
  • Pycharm调试debug指导

    PyCharm的调试有两种显示模式 Debugger和Console Debugger处以列表形式 列出每个元素的内容 Console处与直接Run输出类似 Debugger模式 Step Over Step Into 区别 调试方式 快捷
  • FutureTask详解

    前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住分享一下给大家 点击跳转到网站 FutureTask介绍 一个可取消的异步计算 FutureTask提供了对Future的基本实现 可以调用方法去开始和取消一个计算 可以查询
  • Line-in和Mic-in的区别和使用及Line-out

    Line in和Mic in的区别 http blog 163 com why ann 2001 blog static 331376200821391621467 我们的电脑声卡上 一般都会有Line in和Mic in两个接口 翻译成中
  • 【SAML2.0】概念盲扫

    目录 一 SAML是什么 二 SAML 1 SAML的构成 2 SAML的流程分析 3 SAML的优点 简介 安全断言标记语言 英语 Security
  • final的分析

    源自 http www cnblogs com dolphin0520 p 3736238 html 1 修饰类 当用final修饰一个类时 表明这个类不能被继承 2 修饰方法 使用final方法的原因有两个 第一个原因是把方法锁定 以防任
  • 寻找第k大元素,时间复杂度是多少?

    寻找第k大元素可以通过多种算法实现 其中时间复杂度最优的是基于快速排序的算法 称为快速选择 QuickSelect 算法 快速选择算法的基本思想是选择一个基准元素 然后将数组划分为比基准元素小和比基准元素大的两个子数组 如果第k大元素在比基
  • 关于图像的傅里叶变换的理解

    最近再学opencv关于图像的傅里叶变换的知识 自己感觉很难理解 查阅相关书籍和博客发现很多写的都比较含糊 下面是转载自知乎一个博主关于图像的傅里叶变换的通俗解释 通俗讲解 图像傅里叶变换 文末加了一点冈萨雷斯 数字图像处理 中的关于频谱中