空间滤波器和频率域滤波器的对应

说实话,4.7.4的前面的图4.37我没看懂在说什么,但是例4.15这个我倒是看明白了。中心思想是:本来空间滤波器计算的时候需要不停地滑动模版的,这里把滑动用x的值代替了,但是现在不搞滑动了,利用傅里叶变换和卷积公式,只要计算出来公式4.7-1的关于(x,y)的函数值,就是相当于让位置(x,y)走遍了图像上所有的位置。而原本的滑动本来也只是计算(x,y)的函数值,原来的空间域的卷积确实函数不需要尺寸一致,而换成频率域相乘之后,必须要尺寸一致,原因解释过了,实际上原来的空间域的函数就算是补充零,不用傅里叶变换直接进行空间卷积运算还是不影响结果的。

但是还是有问题,为什么图像和模版均需要中心化?

sobel模版这是微分算子的模版吧,转化为频率域的滤波器的时候。总是中心化,因为4.7.3小节的步骤总结也是把图像中心化了。图像为什么中心化?假设原图是[0,256]x[0,256],到频率域上就是[0,256]x[0,256]。但实际上频率域是周期函数,所以图像中心化意味着在(0,0)位置的直流分量移动到了[0,256]x[0,256]的中心位置,其实只是周期函数平移而已。模版在频率域也要平移,因为这样,在空间卷积计算的时候是f\bigotimesh=F-1{[(F(f*(-1)^(x+y)))*F((h*(-1)^(x+y)))]*(-1)^(x+y)}。感觉有道理,但是我无法简单的从数学计算得到不管这个了。我还是没有解释为什么图像中心化,我只能猜测书上说过模版中心化可以简化模版的技术要求,在4.7.2小节的开始的一顿描述中,所以是因为模版要中心化,所以图像要配合?

接下来考虑点列的中心问题。以一维为例,3个点的中心必然是第1个点(从第0个算起),4个点的中心是第2个点(从第0个算起),为什么会这样呢?我不知道,但是例4.15的中心化的过程就是这样的。

还有最后一个问题,图4.39的b和d的图是一样的,但是缠绕误差呢?

这里的模版很小,图像很大,仿造这种情况做一个一维的例子: f(x)=x, M=15, h(x)=1, N=2.

所以P=M+N-1=16。

1 2 3 4 5 6 7 8 9 10 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 12 13 14 15

                                        0....0 0 1 1 0 0....0 0

这里并没有缠绕误差,因为缠绕误差是频率域中的滤波器直接使用的时候(如果频率域滤波器转化为空间域滤波器不是零填充会产生)发生的。这里是直接从空间模版填充零,转频率域滤波器了,所以并没有什么问题。

所以问题的关键是如何生成频率域滤波器。直接给出频率域滤波器是有缠绕误差这个问题的。但是如果已知频率域滤波器的连续函数,和图像,图像本身是离散函数。频率域滤波器的连续函数转化为空间域滤波器的连续函数,接下来是有限次取样的问题了,该取多少个,以及位置,以及需要和图像填充多少个零配合,使得在滑动模版的运算中(模版的滑动其实两个周期循环移动的)最接近(模版在填充零之后的循环移动的计算过程),但是这种取样之后得到的离散函数的傅里叶变换和原来的连续频率域滤波器还是有区别的,在(u0,v0)上原来的值和现在的值不一样。差多少我也不知道。

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

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

相关文章

软考 - 系统架构设计师 - 嵌入式真题

问题 1: (1).HTML 静态化:可以实现对系统经常访问的页面进行静态化以提高系统访问的效率,但系统页面通常需要数据库中的用户信息和用户选择来动态显示,因此不适合采用。 HTML 静态化: 将动态生成…

二.吊打面试官系列-数据库优化-Explain索引分析

1.如何定位慢SQL 我们知道数据库瓶颈80%都在查询上,数据库优化有一个比较重要的环节就是定位系统中的慢SQL,那么我们如何快速定位到哪些查询语句比较耗时呢?Mysql有自己的慢SQL定位功能 MySQL的慢查询日志,用来记录在MySQL中响应…

软件行业现状?定制软件开发的出路?业务增长点?个人如何发展?

无极低码 :https://wheart.cn 一、软件行业现状? ​1.互联网10年间的疯狂生长,促进了中国互联网的繁荣,激发了软件行业的爆发式增长,到如今应用软件已日趋饱和,C端市场被大厂牢牢占据,自媒体、短视频、游戏、移动办公等很难突破,再加上研发难度大,投资成本高,小公司…

项目5-博客系统3+接口完

1.实现显示用户信息 ⽬前⻚⾯的⽤⼾信息部分是写死的. 形如 我们期望这个信息可以随着用户登陆而发生改变. • 如果当前⻚⾯是博客列表⻚, 则显⽰当前登陆⽤⼾的信息. • 如果当前⻚⾯是博客详情⻚, 则显⽰该博客的作者⽤⼾信息. 注意: 当前我们只是实现了显⽰⽤⼾名, 没有…

数据结构9:栈和队列的相互实现

文章目录 队列实现栈头文件Queue.hMyStack.h 实现文件Queue.cMyStack.c 栈实现队列头文件Stack.hMyQueue.h 实现文件Stack.cMyQueue.c 队列实现栈 头文件 Queue.h #pragma once#include<stdio.h> #include<stdlib.h> #include<assert.h> #include<stdb…

工厂设备数据采集

在信息化浪潮席卷全球的时代背景下&#xff0c;工厂设备数据采集成为推动企业数字化转型和智能化升级的关键环节。HiWoo Box网关以其卓越的性能和便捷的操作&#xff0c;为工厂设备数据采集提供了强有力的支持。本文将深入探讨工厂设备数据采集的概念&#xff0c;阐述如何利用H…

企业用户管理passwd/sudo工作原理/chage/用户组/切换用户及提权管理/chown知识详谈-6000字

passwd 用户自己给自己设置密码&#xff1a;直接passwd root用户给普通用户设置密码&#xff1a;passwd用户名 stdin 从标准输入获取信息 批量创建用户&#xff1a; bash脚本&#xff1a; for n in {01…10} do useradd wulin$n done n先取01然后循环&#xff0c;再取再执行…

Java中的函数式编程1

Functional Programming In OOP 引言 函数式编程是一种编程泛型&#xff0c;将所有的运算都视为函数&#xff0c;只要输入相同的数据&#xff0c;就能得到稳定的输出。然而由于它的抽象程度高&#xff0c;离计算机硬件远&#xff0c;因此并没有被工业界广泛使用。然而在许多面…

掌握App用户注册情况,Xinstall来帮忙

在移动互联网时代&#xff0c;App已经成为企业与用户之间的重要桥梁。然而&#xff0c;对于许多App开发者来说&#xff0c;如何精准地获取和分析用户注册数据&#xff0c;一直是一个令人头疼的问题。幸运的是&#xff0c;有了Xinstall这样的一站式App全渠道统计服务商&#xff…

java八股文知识点讲解(个人认为讲的比较好的)

1、解决哈希冲突——链地址法&#xff1a;【第7章查找】19哈希表的查找_链地址法解决哈希冲突_哔哩哔哩_bilibili 2、解决哈希冲突——开放地址法 &#xff1a; 【第7章查找】18哈希表的查找_开放定址法解决哈希冲突_哔哩哔哩_bilibili 3、小根堆大根堆的创建&#xff1a;选择…

Ubuntu 忘记系统密码 如何修改密码

如果你忘记了Ubuntu系统的密码&#xff0c;你可以通过以下方法来修改密码&#xff1a; 通过GRUB引导菜单进入恢复模式 重启系统并进入GRUB引导菜单&#xff1a; 重启Ubuntu系统&#xff0c;并在启动时连续按Shift键&#xff08;或根据系统提示的其他按键&#xff09;&#xf…

Smart - Luogu —— 智能的洛谷

文章目录 安装 Stylus谷歌Edge 安装 Smart - Luogu使用尾声 安装 Stylus link 点击推荐下载&#xff0c;获取 crx 文件 谷歌 先点击右上角三个点&#xff0c;再点击扩展程序&#xff0c;然后点击管理扩展程序&#xff0c;进入管理扩展界面&#xff0c;把开发者模式选上&…

NL2SQL进阶系列(5):论文解读业界前沿方案(DIN-SQL、C3-SQL、DAIL-SQL、SQL-PaLM)、新一代数据集BIRD-SQL解读

NL2SQL进阶系列(5)&#xff1a;论文解读业界前沿方案&#xff08;DIN-SQL、C3-SQL、DAIL-SQL&#xff09;、新一代数据集BIRD-SQL解读 NL2SQL基础系列(1)&#xff1a;业界顶尖排行榜、权威测评数据集及LLM大模型&#xff08;Spider vs BIRD&#xff09;全面对比优劣分析[Text2…

【C++进阶】详解C++类型转换IO流

C类型转换及IO流 一&#xff0c;C语言的类型转换方式二&#xff0c;C的四种强制类型转换方式2.1 static_cast2.2 reinterpret_cast2.3 const_cast2.4 dynamic_cast 三&#xff0c;C语言的输入和输出四&#xff0c;C的标准IO流五&#xff0c;C文件IO流总结 这一节我们来讲解 C的…

数据结构OJ:设计循环队列

题目介绍 本题为LeetCode上的经典题目&#xff0c;题目要求我们设计一种循环队列&#xff0c;满足FIFO原则且队尾被连接在队首之后。 思路讲解 题目中介绍循环队列的好处是可以重复利用空间&#xff0c;所以我们很容易想到在初始化时即开辟指定大小的空间&#xff0c;之后便不…

策略模式:灵活调整算法的设计精髓

在软件开发中&#xff0c;策略模式是一种行为型设计模式&#xff0c;它允许在运行时选择算法的行为。通过定义一系列算法&#xff0c;并将每个算法封装起来&#xff0c;策略模式使得算法可以互换使用&#xff0c;这使得算法可以独立于使用它们的客户。本文将详细介绍策略模式的…

【小贪】大数据处理常用:Pyspark, Pandas

近期致力于总结科研或者工作中用到的主要技术栈&#xff0c;从技术原理到常用语法&#xff0c;这次查缺补漏当作我的小百科。主要技术包括&#xff1a; ✅数据库常用&#xff1a;MySQL, Hive SQL, Spark SQL✅大数据处理常用&#xff1a;Pyspark, Pandas⚪ 图像处理常用&#…

【每日刷题】Day16

【每日刷题】Day16 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 24. 两两交换链表中的节点 - 力扣&#xff08;LeetCode&#xff09; 2. 160. 相交链表 - 力扣&…

基于小程序实现的4s店管理系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;ssm 【…

【C++11】智能指针

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;理解在C11中智能指针&#xff0c;自己能模拟实现 4 种智能指针 > 毒鸡汤&#xff1a;白日莫闲过&#xff0c;青春不再来。 > 专栏选自&#xff1…