完美滤波器

news2025/1/20 18:36:32

完美滤波器

如下图所示,第 j j j级为输入图像,其中第 j − 1 j-1 j1级为第 j j j级的尺寸减半的存在,直至为 1 × 1 1\times 1 1×1 的大小,这样的模式被称为图像金字塔

image-20231129132706007

设原图像像素点个数为 N 2 N^2 N2,则图像金字塔的总像素个数为
N 2 ( 1 + 1 ( 4 ) 1 + 1 ( 4 ) 2 + ⋯ + 1 ( 4 ) P ) ⩽ 4 3 N 2 N^{2}\left(1+\frac{1}{\left(4\right)^{1}}+\frac{1}{\left(4\right)^{2}}+\cdots+\frac{1}{\left(4\right)^{P}}\right){\leqslant}\frac{4}{3}N^{2} N2(1+(4)11+(4)21++(4)P1)34N2
对于图像金字塔建模,设第 j j j级为图像降低分辨率后的近似图像,这可以视为由第 j + 1 j+1 j+1 级图像经过滤波操作和下采样实现后的存在,则第 j + 1 j+1 j+1级可以视为第 j j j级经过上采样和插值操作后的存在,即如下图所示:

image-20231129134032195

其中对图像进行上采样操作,索引所对应的值为:
f 2 ↑ ( n ) = { f ( n / 2 ) , n 为偶数 0 , 其他 f_{2\uparrow}(n)=\begin{cases}f(n/2),&\quad n\text{为偶数}\\\quad0,&\quad\text{其他}\end{cases} f2(n)={f(n/2),0,n为偶数其他
图像进行下采样操作,索引所对应的值为:
f 2 ↓ ( n ) = f ( 2 n ) f_{2\downarrow}(n)=f(2n) f2(n)=f(2n)
上采样可看成是在序列中的每一个样本后插人 0; 下采样可看成是每隔一个样本丢弃一个样本。

image-20231129140742261

设存在输入信号 f ( n ) f(n) f(n),其中 h 0 ( n ) h_0(n) h0(n) h 1 ( n ) h_1(n) h1(n) 分别为低通与高通滤波器,并输入信号一分为二,如下图所示

image-20231129141039757

并经过下采样得到 f l p ( n ) f_{lp}(n) flp(n) f h p ( n ) f_{hp}(n) fhp(n)。然后经过上采样,与滤波 g 0 ( n ) g_0(n) g0(n) g 1 ( n ) g_1(n) g1(n)并将信号 f l p ( n ) f_{lp}(n) flp(n) f h p ( n ) f_{hp}(n) fhp(n)合并得到信号 f ^ ( n ) \hat f(n) f^(n),若 f ^ ( n ) \hat f(n) f^(n) f ( n ) f(n) f(n)相等,可以称为采用了完美滤波。

存在一个Z变换:
X ( z ) = ∑ − ∞ ∞ x ( n ) z − n X(z)=\sum_{-\infty}^\infty x(n)z^{-n} X(z)=x(n)zn
其中离散傅里叶变换是Z变换的一个特殊形式,即 z = e j w z=e^{jw} z=ejw

若对z变换采用下采样,则可以得到:
x d o w m ( n ) = x ( 2 n )    ⟺    X d o w m ( z ) = 1 2 [ X ( z 1 2 ) + X ( − z − 1 2 ) ] x_{\mathrm{dowm}}(n)=x(2n)\iff X_{\mathrm{dowm}}(z)=\frac{1}{2}[X(z^{\frac{1}{2}})+X(-z^{-\frac{1}{2}})] xdowm(n)=x(2n)Xdowm(z)=21[X(z21)+X(z21)]
若对z变换采用上采样,则可以得到:
x u p ( n ) = { x ( n / 2 ) n = 0 , 2 , 4 , ⋯ 0 其他 ⟺ X u p ( z ) = X ( z 2 ) \left.x^\mathrm{up}(n)=\left\{\begin{matrix}x(n/2)&n=0,2,4,\cdots\\0&\text{其他}\end{matrix}\right.\right.\Longleftrightarrow X^\mathrm{up}(z)=X(z^2) xup(n)={x(n/2)0n=0,2,4,其他Xup(z)=X(z2)
先对信号进行下采样然后进行上采样可得:
X ^ ( z ) = 1 2 [ X ( z ) + X ( − z ) ] \hat{X}(z)=\frac{1}{2}[X(z)+X(-z)] X^(z)=21[X(z)+X(z)]
根据z变换的逆变换可得:
Z − 1 [ X ( − z ) ] = ( − 1 ) n x ( n ) Z^{-1}[X(-z)]=(-1)^{n}x(n) Z1[X(z)]=(1)nx(n)
在根据完美滤波原理:
X ^ ( z ) = 1 2 [ H 0 ( z ) X ( z ) + H 0 ( − z ) X ( − z ) ] G 0 ( z ) + 1 2 [ H 1 ( z ) X ( z ) + H 1 ( − z ) X ( − z ) ] G 1 ( z ) = 1 2 [ H 0 ( z ) G 0 ( z ) + H 1 ( z ) G 1 ( z ) ] X ( z ) + 1 2 [ H 0 ( − z ) G 0 ( z ) + H 1 ( − z ) G 1 ( − z ) ] X ( − z ) \begin{aligned} \hat{X}(z)&=\frac{1}{2}[H_0(z)X(z)+H_0(-z)X(-z)]G_0(z)\\ &+\frac{1}{2}[H_1(z)X(z)+H_1(-z)X(-z)]G_1(z)\\ &=\frac{1}{2}[H_0(z)G_0(z)+H_1(z)G_1(z)]X(z)\\ &+\frac{1}{2}[H_0(-z)G_0(z)+H_1(-z)G_1(-z)]X(-z) \end{aligned} X^(z)=21[H0(z)X(z)+H0(z)X(z)]G0(z)+21[H1(z)X(z)+H1(z)X(z)]G1(z)=21[H0(z)G0(z)+H1(z)G1(z)]X(z)+21[H0(z)G0(z)+H1(z)G1(z)]X(z)
为了实现完美滤波则,应存在
H 0 ( − z ) G 0 ( z ) + H 1 ( − z ) G 1 ( z ) = 0 H 0 ( z ) G 0 ( z ) + H 1 ( z ) G 1 ( z ) = 2 \begin{aligned}H_0(-z)G_0(z)+H_1(-z)G_1(z)&=0\\\\H_0(z)G_0(z)+H_1(z)G_1(z)&=2\end{aligned} H0(z)G0(z)+H1(z)G1(z)H0(z)G0(z)+H1(z)G1(z)=0=2
即:
[ H 0 ( z ) H 1 ( z ) H 0 ( − z ) H 1 ( − z ) ] × [ G 0 ( z ) G 1 ( z ) ] = [ 2 0 ] \begin{bmatrix}H_0(z)&H_1(z)\\H_0(-z)&H_1(-z)\end{bmatrix}\times\begin{bmatrix}G_0(z)\\G_1(z)\end{bmatrix}=\begin{bmatrix}2\\0\end{bmatrix} [H0(z)H0(z)H1(z)H1(z)]×[G0(z)G1(z)]=[20]

利用克拉默法则可得
[ G 0 ( z ) G 1 ( z ) ] = 2 det ⁡ ( H m ( z ) ) [ H 1 ( − z ) − H 0 ( − z ) ] \left.\left[\begin{array}{c}{G_{0}(z)}\\{G_{1}(z)}\\\end{array}\right.\right]=\frac{2}{\det(\mathbf{H}_{m}(z))}\begin{bmatrix}{H_{1}(-z)}\\{-H_{0}(-z)}\\\end{bmatrix} [G0(z)G1(z)]=det(Hm(z))2[H1(z)H0(z)]
其中 det ⁡ ( H m ( z ) ) = α z − ( 2 k + 1 ) \det(H_m(z))=\alpha z^{-(2k+1)} det(Hm(z))=αz(2k+1),忽略时延,并令 α = 2 \alpha=2 α=2,可得
即当 g 0 ( n ) = ( − 1 ) n h 1 ( n ) , g 1 ( n ) = ( − 1 ) n + 1 h 0 ( n ) g_0(n)=(-1)^nh_1(n),g_1(n)=(-1)^{n+1}h_0(n) g0(n)=(1)nh1(n),g1(n)=(1)n+1h0(n) g 0 ( n ) = ( − 1 ) n + 1 h 1 ( n ) , g 1 ( n ) = ( − 1 ) n h 0 ( n ) g_{0}(n)=\left(-1\right)^{n+1}h_{1}(n),g_{1}(n)=\left(-1\right)^{n}h_{0}(n) g0(n)=(1)n+1h1(n),g1(n)=(1)nh0(n)时,成立

其中 g 0 g_0 g0 g 1 g_1 g1分别由 h 1 h_1 h1 h 0 h_0 h0调制得到

因为 H 0 ( z ) G 0 ( z ) + H 1 ( z ) G 1 ( z ) = 2 H_0(z)G_0(z)+H_1(z)G_1(z)=2 H0(z)G0(z)+H1(z)G1(z)=2

所以存在:
∑ k g 0 ( k ) h 0 ( n − k ) + ( − 1 ) n ∑ k g 0 ( k ) h 0 ( n − k ) = 2 δ ( n ) \sum_kg_0(k)h_0(n-k)+(-1)^n\sum_kg_0(k)h_0(n-k)=2\delta(n) kg0(k)h0(nk)+(1)nkg0(k)h0(nk)=2δ(n)
其中 δ ( n ) \delta(n) δ(n)为单位脉冲函数

当n为奇数时将会出现相消得情况,于是可以简化为
∑ k g 0 ( k ) h 0 ( 2 n − k ) = < g 0 ( k ) , h 0 ( 2 n − k ) > = δ ( n ) \sum_kg_0(k)h_0(2n-k)=<g_0(k),h_0(2n-k)>=\delta(n) kg0(k)h0(2nk)=<g0(k),h0(2nk)>=δ(n)
可以看成两个向量的内积,同理存在
< g 1 ( k ) , h 1 ( 2 n − k ) > = δ ( n ) < g 0 ( k ) , h 1 ( 2 n − k ) > = 0 < g 1 ( k ) , h 0 ( 2 n − k ) > = 0 \begin{aligned}&<g_1(k),h_1(2n-k)>=\delta(n)\\&<g_0(k),h_1(2n-k)>=0\\&<g_1(k),h_0(2n-k)>=0\end{aligned} <g1(k),h1(2nk)>=δ(n)<g0(k),h1(2nk)>=0<g1(k),h0(2nk)>=0
h 0 ( n ) , h 1 ( n ) , g 0 ( n ) 和  g 1 ( n ) h_{0}(n),h_{1}(n),g_{0}(n)\text{和 }g_{1}(n) h0(n),h1(n),g0(n) g1(n)满足双正交


< h i ( 2 n − k ) , g j ( k ) > = δ ( i − j ) δ ( n ) i , j = { 0 , 1 } <h_i(2n-k),g_j(k)>=\delta(i-j)\delta(n)\quad i,j=\{0,1\} <hi(2nk),gj(k)>=δ(ij)δ(n)i,j={0,1}

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

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

相关文章

IP地址规划的基本方法与最佳实践

IP地址规划是建立网络基础设施的关键步骤之一&#xff0c;它涉及到为网络中的设备分配唯一的IP地址&#xff0c;确保网络的高效性和可管理性。本文将介绍IP地址规划的基本方法和最佳实践&#xff0c;以帮助网络管理员设计并维护高效的IP地址方案。 1. 了解网络拓扑结构&#x…

Java的字符流和字节流

Java的字节流&#xff1a;把数据从程序存储到文件&#xff0c;把数据从文件读取程序中 File&#xff1a;只操作文件和文件属性&#xff0c;createNewFile getPath--->项目目录 ,getAbsolutePath() getName()---->substring() list()-->列出当前目录的所有文件或文…

vue+less+style-resources-loader 配置全局颜色变量

全局统一样式后&#xff0c;可配置vue.config.js实现全局颜色变量&#xff0c;方便在编写时使用统一风格的色彩 一、新建global.less 二、下载安装style-resources-loader npm i style-resources-loader --save-dev三、在vue.config.js中进行配置 module.exports {pluginOpt…

架构图是什么,该怎么制作?

架构图是指可视化展示软件、系统、应用程序、网络等各种体系结构的一类图表或图形&#xff0c;它能够形象地展示体系结构中各个组成部分和它们之间的关系。 架构图的类型 架构图的种类比较多&#xff0c;逐一列举不太合适&#xff0c;这里只列举一些常见的架构图类型&#…

爬虫-基于python的旅游景点推荐系统的设计与实现-计算机毕业设计源码24044

摘 要 21世纪时信息化的时代&#xff0c;几乎任何一个行业都离不开计算机&#xff0c;将计算机运用于旅游景点管理也是十分常见的。过去使用手工的管理方式对旅游景点进行管理&#xff0c;造成了管理繁琐、难以维护等问题&#xff0c;如今使用计算机对旅游景点的各项基本信息进…

2021年2月16日 Go生态洞察:Go 1.16版本发布

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

CentOS 7 部署 Nacos (单机版)

CentOS 7 部署 Nacos &#xff08;单机版&#xff09; 1. 下载 Nacos 安装包 历史版本&#xff1a;https://github.com/alibaba/nacos/releases/ 我选的是 2.1.0 版本&#xff0c;https://github.com/alibaba/nacos/releases/download/2.1.0/nacos-server-2.1.0.tar.gz 2. …

2021年09月 Scratch图形化(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 程序中要使用不确定的数值,这时要用到的是?( ) A、图章 B、变量 C、广播 D、随机数 答案:D 第2题 执行下列程序后,角色会说?( ) A、3 B、6 C、10 D、15 答案:D 第3题…

现货白银怎样数点数?

由于数十倍资金杠杆的存在&#xff0c;现货白银投资者可以把很细微的行情波动&#xff0c;转化为相对显著的收益。但另一方面&#xff0c;现货白银交易过程中会难免会涉及一定的点差成本&#xff0c;所以投资者在入市之前&#xff0c;一定要清晰地知道自己需要能够拿下多少的行…

onlyoffice文件大小超出了服务器设置处理

onlyoffice文件大小超出了服务器设置处理 1.前言2. onlyoffice服务安装2.1 docker安装命令2.2 访问测试 3. 修改服务器文件大小限制方案3.1 旧方案-7.2版本不可行3.1.1 进入 OnlyOffice Document Server 容器3.1.2 编辑配置文件3.1.3 找到并修改文件大小限制3.1.4 保存并退出编…

封装一些可能会用到的JS的Dom操作方法(非JS自带的方法)

1. 父元素节点下的子元素节点逆序 HTMLElement.prototype.childRevers function () {var all_num this.childElementCount;if (all_num) {while(all_num--){this.appendChild(this.children[all_num]);}} } // 获取 ul 父节点对象 var oul document.getElementsByTagName(u…

python获取系统当前进程数和最大进程数

参考&#xff1a; https://blog.51cto.com/u_16213345/7115864 https://www.baidu.com/s?wdpython%20%E8%8E%B7%E5%8F%96%E7%B3%BB%E7%BB%9F%E5%BD%93%E5%89%8D%E8%BF%9B%E7%A8%8B%E6%95%B0%E5%92%8C%E6%9C%80%E5%A4%A7%E8%BF%9B%E7%A8%8B%E6%95%B0&rsv_spt1&rsv_iqid…

基于YOLOv8深度学习的PCB板缺陷检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推荐--…

M1安装RabbitMQ

1.查看centos内核版本 uname -a uname -r2.安装之前的准备工作 安装RabbitMQ必装Erlang(RabbitMQ官网添加链接描述) 2.1.Erlang简介 Erlang是一种通用的面向并发的编程语言&#xff0c;它由瑞典电信设备制造商爱立信所辖的CS-Lab开发&#xff0c;目的是创造一种可以应对…

Java高级技术(动态代理)

一&#xff0c;代理 二&#xff0c;案例 放到代码中演示&#xff1a; 首先&#xff0c;创建一个明星接口&#xff0c;这个接口有一个skill方法&#xff0c;说明只要是明星就必须有点技能。 public interface Star {void skill(); } 然后&#xff0c;创建坤坤对象&#xff0c…

第八天:信息打点-系统端口CDN负载均衡防火墙

信息打点-系统篇&端口扫描&CDN服务&负载均衡&WAF防火墙 一、知识点 1、获取网络信息-服务器厂商&#xff1a; 阿里云&#xff0c;腾讯云&#xff0c;机房内部等。 网络架构&#xff1a; 内外网环境。 2、获取服务信息-应用协议-内网资产&#xff1a; FTP…

服务运营 |精选:床位知多少?医院调度的几种建模方法(下)

编者按&#xff1a; 住院流程&#xff08;Inpatient Flow&#xff09;是一种通过协调和优化医院内部流程&#xff0c;以提高患者入院至出院期间的效率和质量的方法。住院流程通常通过医院内部信息系统和协同工作流程进行管理&#xff0c;以确保患者得到及时的诊断、治疗和护理…

深度学习代码优化(Config,Registry,Hook)

社区开放麦#9 | OpenMMLab 模块化设计背后的功臣 1. 配置文件管理Config 1.1 早期配置参数加载 早期深度学习项目的代码大多使用parse_args&#xff0c;在代码启动入口加载大量参数&#xff0c;不利于维护。 常见的配置文件有3中格式&#xff1a;python、json、yaml 格式的配…

Cytoscape软件下载、安装、插件学习[基础教程]

写在前面 今天分享的内容是自己遇到问题后&#xff0c;咨询社群里面的同学&#xff0c;帮忙解决的总结。 关于Cytoscape&#xff0c;对于做组学或生物信息学的同学基本是陌生的&#xff0c;可能有的同学用这个软件作图是非常溜的&#xff0c;做出来的网络图也是十分的好看&am…

Golang中rune和Byte,字符和字符串有什么不一样

Rune和Byte&#xff0c;字符和字符串有什么不一样 String Go语言中&#xff0c; string 就是只读的采用 utf8 编码的字节切片(slice) 因此用 len 函数获取到的长度并不是字符个数&#xff0c;而是字节个数。 for循环遍历输出的也是各个字节。 Rune rune 是 int32 …