图像处理—小波变换

小波变换

一维小波变换

因为存在 L 2 ( R ) = V j 0 ⊕ W j 0 ⊕ W j 0 + 1 ⊕ ⋯ L^{2}(\boldsymbol{R})=V_{j_{0}}\oplus W_{j_{0}}\oplus W_{j_{0}+1}\oplus\cdots L2(R)=Vj0Wj0Wj0+1,所以存在 f ( x ) f(x) f(x)可以在子空间 V j 0 V_{j_0} Vj0中用尺度函数展开和在子空间 W j 0 W j 0 + 1 , ⋯ W_{j_0}W_{j_{0+1}},\cdots Wj0Wj0+1,中用某些数量的小波函数展开来表示。即

f ( x ) = ∑ k c j 0 ( k ) φ j 0 , k ( x ) + ∑ j = j 0 ∞ ∑ k d j ( k ) ψ j , k ( x ) f(x)=\sum_{k}c_{j_0}(k)\varphi_{j_0,k}(x)+\sum_{j=j_{0}}^{\infty}\sum_{k}d_{j}(k)\psi_{j,k}(x) f(x)=kcj0(k)φj0,k(x)+j=j0kdj(k)ψj,k(x)
其中 j 0 j_0 j0 是任意的开始尺度, c j 0 ( k ) c_{j_0}(k) cj0(k)通常称为近似和或尺度系数, d j ( k ) d_j(k) dj(k)称为细节和或小波系数。

由于双正交的性质可得
c j 0 ( k ) = ⟨ f ( x ) , φ j 0 , k ( x ) ⟩ = ∫ f ( x ) φ j 0 , k ( x ) d x d j ( k ) = ⟨ f ( x ) , ψ j , k ( x ) ⟩ = ∫ f ( x ) ψ j , k ( x ) d x c_{j_0}(k)=\Big\langle f(x),\varphi_{j_0,k}(x)\Big\rangle=\int f(x)\varphi_{j_0,k}(x)\mathrm{d}x\\ d_{j}(k)=\Big\langle f(x),\psi_{j,k}(x)\Big\rangle=\int f(x)\psi_{j,k}(x)\mathrm{d}x cj0(k)=f(x),φj0,k(x)=f(x)φj0,k(x)dxdj(k)=f(x),ψj,k(x)=f(x)ψj,k(x)dx
转换成离散形式可得
W φ ( j 0 , k ) = 1 M ∑ n f ( n ) φ j 0 , k ( n ) W ψ ( j , k ) = 1 M ∑ n f ( n ) ψ j , k ( n ) , j ≥ j 0 \begin{aligned} W_{\varphi}(j_{0},k)&=\frac{1}{\sqrt{M}}\sum_{n}f(n)\varphi_{j_{0},k}(n)\\ W_{\psi}(j,k)&=\frac{1}{\sqrt{M}}\sum_{n}f(n)\psi_{j,k}(n),\quad j\geq j_{0} \end{aligned} Wφ(j0,k)Wψ(j,k)=M 1nf(n)φj0,k(n)=M 1nf(n)ψj,k(n),jj0
其中 φ j 0 , k ( n ) \varphi_{j_0,k}(n) φj0,k(n) ψ j , k ( n ) \psi_{j,k}(n) ψj,k(n)是基函数 φ j 0 , k ( x ) \varphi_{j_0,k}(x) φj0,k(x) ψ j , k ( x ) \psi_{j,k}(x) ψj,k(x) 的取样形式。

由此可得
f ( n ) = 1 M ∑ k W φ ( j 0 , k ) φ j 0 , k ( n ) + 1 M ∑ j = j 0 ∞ ∑ k W ψ ( j , k ) ψ j , k ( n ) f(n)=\frac{1}{\sqrt{M}}\sum_{k}W_{\varphi}(j_{0},k)\varphi_{j_{0},k}(n)+\frac{1}{\sqrt{M}}\sum_{j=j_{0}}^{\infty}\sum_{k}W_{\psi}(j,k)\psi_{j,k}(n) f(n)=M 1kWφ(j0,k)φj0,k(n)+M 1j=j0kWψ(j,k)ψj,k(n)
通常 j 0 = 0 j_0=0 j0=0 M M M为2 的幂(即 M = 2 j ) M=2^{j}) M=2j)

而对于哈尔小波,离散的尺度和小波函数与 M × M M\times M M×M哈尔矩阵的行相对应,其中最小尺度为0,最大尺度为 j − 1 j-1 j1

快速小波变换

对于图像的多分辨率变换
φ ( x ) = ∑ n h φ ( n ) 2 φ ( 2 x − n ) \varphi(x)=\sum_{n}h_{\varphi}(n)\sqrt{2}\varphi(2x-n) φ(x)=nhφ(n)2 φ(2xn)
并进行尺度化与平移操作,可得
φ ( 2 j x − k ) = ∑ n h φ ( n ) 2 φ ( 2 ( 2 j x − k ) − n ) = ∑ m h φ ( n ) 2 φ ( 2 j + 1 x − 2 k − n ) \begin{aligned} \varphi(2^{j}x-k) &=\sum_{n}h_{\varphi}(n)\sqrt{2}\varphi\left(2(2^{j}x-k)-n\right)\\ &=\sum_{m}h_{\varphi}(n)\sqrt{2}\varphi(2^{j+1}x-2k-n) \end{aligned} φ(2jxk)=nhφ(n)2 φ(2(2jxk)n)=mhφ(n)2 φ(2j+1x2kn)
m = 2 k + n m=2k+n m=2k+n,可得
φ ( 2 j x − k ) = ∑ n h φ ( n ) 2 φ ( 2 ( 2 j x − k ) − n ) = ∑ m h φ ( n ) 2 φ ( 2 j + 1 x − 2 k − n ) = ∑ m h φ ( m − 2 k ) 2 φ ( 2 j + 1 x − m ) \begin{aligned} \begin{aligned} \varphi(2^{j}x-k) & =\sum_{n}h_{\varphi}(n)\sqrt{2}\varphi\left(2(2^{j}x-k)-n\right)\\ &=\sum_{m}h_{\varphi}(n)\sqrt{2}\varphi(2^{j+1}x-2k-n) \\ &=\sum_{m}h_{\varphi}(m-2k)\sqrt{2}\varphi(2^{j+1}x-m) \end{aligned} \end{aligned} φ(2jxk)=nhφ(n)2 φ(2(2jxk)n)=mhφ(n)2 φ(2j+1x2kn)=mhφ(m2k)2 φ(2j+1xm)
同理对于小波函数存在
ψ ( 2 j x − k ) = ∑ m h ψ ( m − 2 k ) 2 φ ( 2 j + 1 x − m ) \psi(2^{j}x-k)=\sum_{m}h_{\psi}(m-2k)\sqrt{2}\varphi(2^{j+1}x-m) ψ(2jxk)=mhψ(m2k)2 φ(2j+1xm)
其中将 ψ j , k ( x ) = 2 j / 2 ψ ( 2 j x − k ) \psi_{j,k}(x)=2^{j/2}\psi(2^{j}x-k) ψj,k(x)=2j/2ψ(2jxk)代入 d j ( k ) = ⟨ f ( x ) , ψ j , k ( x ) ⟩ = ∫ f ( x ) ψ j , k ( x ) d x d_{j}(k)=\Big\langle f(x),\psi_{j,k}(x)\Big\rangle=\int f(x)\psi_{j,k}(x)\mathrm{d}x dj(k)=f(x),ψj,k(x)=f(x)ψj,k(x)dx可得
d j ( k ) = ∫ f ( x ) 2 j / 2 ψ ( 2 j x − k ) d x d_{j}(k)=\int f(x)2^{j/2}\psi(2^{j}x-k)\mathrm{d}x dj(k)=f(x)2j/2ψ(2jxk)dx
又因为 ψ ( 2 j x − k ) = ∑ m h ψ ( m − 2 k ) 2 φ ( 2 j + 1 x − m ) \psi(2^{j}x-k)=\sum_{m}h_{\psi}(m-2k)\sqrt{2}\varphi(2^{j+1}x-m) ψ(2jxk)=mhψ(m2k)2 φ(2j+1xm)

所以存在
d j ( k ) = ∫ f ( x ) 2 j / 2 [ ∑ m h ψ ( m − 2 k ) 2 φ ( 2 j + 1 x − m ) ] d x = ∑ m h ψ ( m − 2 k ) [ ∫ f ( x ) 2 ( j + 1 ) / 2 φ ( 2 j + 1 x − m ) d x ] = ∑ m h ψ ( m − 2 k ) c j + 1 ( m ) \begin{aligned} d_{j}(k) &=\int f(x)2^{j/2}\biggl[\sum_{m}h_{\psi}(m-2k)\sqrt{2}\varphi(2^{j+1}x-m)\biggr]\mathrm{d}x\\ &=\sum_{m}h_{\psi}(m-2k)\biggl[\int f(x)2^{(j+1)/2}\varphi(2^{j+1}x-m)\mathrm{d}x\biggr]\\ &=\sum_{m}h_{\psi}(m-2k)c_{j+1}(m) \end{aligned} dj(k)=f(x)2j/2[mhψ(m2k)2 φ(2j+1xm)]dx=mhψ(m2k)[f(x)2(j+1)/2φ(2j+1xm)dx]=mhψ(m2k)cj+1(m)
同理可得
c j ( k ) = ∑ m h φ ( m − 2 k ) c j + 1 ( m ) c_{j}(k)=\sum_{m}h_{\varphi}(m-2k)c_{j+1}(m) cj(k)=mhφ(m2k)cj+1(m)

W ψ ( j , k ) = ∑ m h ψ ( m − 2 k ) W φ ( j + 1 , m ) W φ ( j , k ) = ∑ m h φ ( m − 2 k ) W φ ( j + 1 , m ) \begin{aligned}W_{\psi}(j,k)&=\sum_{m}h_{\psi}(m-2k)W_{\varphi}(j+1,m)\\ W_{\varphi}(j,k)&=\sum_{m}h_{\varphi}(m-2k)W_{\varphi}(j+1,m)\end{aligned} Wψ(j,k)Wφ(j,k)=mhψ(m2k)Wφ(j+1,m)=mhφ(m2k)Wφ(j+1,m)
上式揭示了相邻尺度直接的离散小波变换(DWT)系数之间的关系,可以认为是 W φ ( j + 1 , m ) , W ψ ( j + 1 , m ) W_{\varphi}(j+1,m),W_{\psi}(j+1,m) Wφ(j+1,m),Wψ(j+1,m)分别与 h φ ( − n ) , h ψ ( − n ) h_{\varphi}(-n),h_{\psi}(-n) hφ(n),hψ(n)进行卷积操作并下采样得到的,于是可以写成
W ψ ( j , k ) = h ψ ( − n ) ⋆ W ϕ ( j + 1 , n ) ∣ n = 2 k , k ⩾ 0 W φ ( j , k ) = h φ ( − n ) ⋆ W φ ( j + 1 , n ) ∣ n = 2 k , k ⩾ 0 W_{\psi}(j,k)=h_{\psi}(-n)\star W_{\phi}(j+1,n)\Big|_{n=2k,k\geqslant0}\\\\W_{\varphi}(j,k)=h_{\varphi}(-n)\star W_{\varphi}(j+1,n)\Big|_{n=2k,k\geqslant0} Wψ(j,k)=hψ(n)Wϕ(j+1,n) n=2k,k0Wφ(j,k)=hφ(n)Wφ(j+1,n) n=2k,k0
即如下图所示的结构

image-20231217143919224

同时可以经过多次迭代分解,如下图是二级分解的结构

image-20231217144032369

二维小波变换

为了将小波变换扩展到适应二维的图像,由此定义,存在尺度函数
φ ( x , y ) = φ ( x ) φ ( y ) \varphi(x,y)=\varphi(x)\varphi(y) φ(x,y)=φ(x)φ(y)
以及三个对方向敏感的小波函数
ψ H ( x , y ) = ψ ( x ) φ ( y ) ψ V ( x , y ) = φ ( x ) ψ ( y ) ψ D ( x , y ) = ψ ( x ) ψ ( y ) \begin{aligned} &\psi^{H}(x,y)=\psi(x)\varphi(y) \\ &\psi^{V}(x,y)=\varphi(x)\psi(y) \\ &\psi^{D}(x,y) =\psi(x)\psi(y) \end{aligned} ψH(x,y)=ψ(x)φ(y)ψV(x,y)=φ(x)ψ(y)ψD(x,y)=ψ(x)ψ(y)
以上三个小波函数分别对应图像沿着列方向的变换、图像沿着行方向的变换、图像沿着对角线方向的变换

并存在
φ j , m , n ( x , y ) = 2 j / 2 φ ( 2 j x − m , 2 j y − n ) ψ j , m , n i ( x , y ) = 2 j / 2 ψ i ( 2 j x − m , 2 j y − n ) , i = { H , V , D } \begin{array}{c}{{\varphi_{j,m,n}(x,y)=2^{j/2}\varphi(2^{j}x-m,2^{j}y-n)}}\\{{\psi_{j,m,n}^{i}(x,y)=2^{j/2}\psi^{i}(2^{j}x-m,2^{j}y-n),i=\bigl\{H,V,D\bigr\}}}\\\end{array} φj,m,n(x,y)=2j/2φ(2jxm,2jyn)ψj,m,ni(x,y)=2j/2ψi(2jxm,2jyn),i={H,V,D}
并可以推导出离散形式的小波变换
W φ ( j 0 , m , n ) = 1 M N ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) φ j 0 , m , n ( x , y ) W ψ i ( j , m , n ) = 1 M N ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) ψ j , m , n i ( x , y ) , i = { H , V , D } \begin{aligned} W_{\varphi}(j_{0},m,n)&=\frac{1}{\sqrt{MN}}\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x,y)\varphi_{j_{0},m,n}(x,y)\\\\ W_{\psi}^{i}(j,m,n)&=\frac{1}{\sqrt{MN}}\sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x,y)\psi_{j,m,n}^{i}(x,y),i=\{H,V,D\}\end{aligned} Wφ(j0,m,n)Wψi(j,m,n)=MN 1x=0M1y=0N1f(x,y)φj0,m,n(x,y)=MN 1x=0M1y=0N1f(x,y)ψj,m,ni(x,y),i={H,V,D}
其中 j 0 j_0 j0表示任意的开始尺度, W φ ( j 0 , m , n ) W_{\varphi}(j_{0},m,n) Wφ(j0,m,n)表示在尺度为 j 0 j_0 j0时的近似, W ψ i ( j , m , n ) , i = { H , V , D } W_{\psi}^{i}(j,m,n),i=\{H,V,D\} Wψi(j,m,n),i={H,V,D}表示对尺度为 j 0 j_0 j0时的水平、垂直与对角线方向的细节

j 0 = 0 , M = N = 2 j j_0=0,M=N=2^j j0=0,M=N=2j时,存在离散小波逆变换
f ( x , y ) = 1 M N ∑ m ∑ n W φ ( j 0 , m , n ) φ j 0 , m , n ( x , y ) + 1 M N ∑ i = H . V . D ∑ j = j 0 ∞ ∑ m ∑ n W ψ i ( j , m , n ) ψ j , m , n i ( x , y ) \begin{aligned} f(x,y)& =\frac{1}{\sqrt{MN}}\sum_{m}\sum_{n}W_{\varphi}(j_{0},m,n)\varphi_{j_{0},m,n}(x,y) \\ &+\frac{1}{\sqrt{MN}}\sum_{i=H.V.D}\sum_{j=j_{0}}^{\infty}\sum_{m}\sum_{n}W_{\psi}^{i}(j,m,n)\psi_{j,m,n}^{i}(x,y) \end{aligned} f(x,y)=MN 1mnWφ(j0,m,n)φj0,m,n(x,y)+MN 1i=H.V.Dj=j0mnWψi(j,m,n)ψj,m,ni(x,y)
同理可以得到

小波分解过程如图所示

image-20231220100830699

小波逆变换过程如图所示

image-20231220101000465

其小波分解的结果如图所示

image-20231220101104129

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

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

相关文章

Nginx快速入门:nginx各类转发、代理配置详解|location、proxy_pass参数详解(五)

0. 引言 咱们上节讲解了nginx的负载均衡配置,但是还有很多其他的转发情况,包括不同路径转发至不同的业务服务,通配符识别路径转发等。 今天一起来学习nginx的转发配置 1. location模块的匹配模式 首先我们要了解nginx进行转发代理的核心在…

c++学习笔记-提高篇-STL标准模板库3(stack容器、queue容器以及list容器)

目录 Stack容器 一、Stack容器介绍 二、stack常用接口 三、栈的示例 queue(队列)容器 一、queue容器介绍 二、queue常用接口 三、queue示例 list容器 一、list容器介绍 二、list常用接口及示例 (一)list构造函数 &am…

使用 Taro 开发鸿蒙原生应用 —— 探秘适配鸿蒙 ArkTS 的工作原理

背景 在上一篇文章中,我们已经了解到华为即将发布的鸿蒙操作系统纯血版本——鸿蒙 Next,以及各个互联网厂商开展鸿蒙应用开发的消息。其中,Taro作为一个重要的前端开发框架,也积极适配鸿蒙的新一代语言框架 —— ArkTS。 本文将…

html5 实现网页截屏 页面生成图片

效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"referrer" content"no-referrer" /><meta name"viewport"content"widthdevice-width,intial-sc…

Python整数常用的方法汇总与Python3 File(文件) 方法

Python整数常用的方法汇总 python&#xff13;基础之整数常用的方法整理 希望对大家学习或者使用python3能具有一定的参考价值。 __abs__ #返回一个数的绝对值 __add__ #两数相加 __and__ #两数按位与操作 __bool__ …

11种方法判断​软件的安全可靠性​

软件的安全可靠性是衡量软件好坏的一个重要标准&#xff0c;安全性指与防止对程序及数据的非授权的故意或意外访问的能力有关的软件属性&#xff0c;可靠性指与在规定的一段时间和条件下&#xff0c;软件 软件的安全可靠性是衡量软件好坏的一个重要标准&#xff0c;安全性指与防…

智能优化算法应用:基于蜜獾算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于蜜獾算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于蜜獾算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蜜獾算法4.实验参数设定5.算法结果6.参考文献7.MA…

centos(linux)安装jenkins

官网&#xff1a;https://pkg.jenkins.io/redhat/ jdk版本要和jenkins对上&#xff01; 安装官网进行操作&#xff1a; sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.reposudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io-…

华为Harmony——ArkTs语言

文章目录 一、简单示例二、声明式UI描述创建组件无参有参数 配置属性配置事件配置子组件 三、自定义组件基本用法基本结构成员函数/变量 一、简单示例 我们以一个具体的示例来说明ArkTS的基本组成。如下图所示&#xff0c;当开发者点击按钮时&#xff0c;文本内容从“Hello Wo…

关于“Python”的核心知识点整理大全35

目录 13.3.4 重构 create_fleet() game_functions.py 13.3.5 添加行 game_functions.py alien_invasion.py 13.4 让外星人群移动 13.4.1 向右移动外星人 settings.py alien.py alien_invasion.py game_functions.py 13.4.2 创建表示外星人移动方向的设置 13.4.3 检…

转义字符使用详解【C语言】

目录 转义字符的概念 转义字符表 转义字符详解 和 实际使用示例 一、\a 二、\b 三、\f 四、\n 五、\r 六、\t 七、\v 八、\\ 九、\ 十、\" 十一、\? 十二、\0 十三、\ddd 十四、\xhh 总结—— 转义字符的概念 所有的 ASCII码都可以用“\加数字” 来表示…

【C语言】动态内存管理基础知识——动态通讯录,如何实现通讯录容量的动态化

引言 动态内存管理的函数有&#xff1a;malloc,calloc,ralloc,free,本文讲解动态内存函数和使用&#xff0c;如何进行动态内存管理,实现通讯录联系人容量的动态化&#xff0c;对常见动态内存错误进行总结。 ✨ 猪巴戒&#xff1a;个人主页✨ 所属专栏&#xff1a;《C语言进阶》…

C语言之输入输出和字符(2)

目录 缓冲和重定向 ▇缓冲 ▇重定向 字符 转义字符 \和\"……字符和字符" 字符串字面量的写法 字符常量的写法 八进制转义字符和十六进制转义字符 字符编码 在看本节之前&#xff0c;请先看下上一章&#xff0c;做到更好地衔接。https://blog.csdn.net/W061…

基于vue-cli快速发布vue npm 包

一、编写组件 1. 初始化项目并运行 vue create vue-digital-countnpm run serve2. 组件封装 新建package文件夹 ​ 因为我们可能会封装多个组件&#xff0c;所以在src下面新建一个package文件夹用来存放所有需要上传的组件。 ​ 当然&#xff0c;如果只有一个组件&#xff…

【科普知识】什么是步进驱动器、驱动模式及驱动的方法?

我们已经知道步进电机就是一种将电脉冲信号转化为角位移的执行机构。那么如何精准地控制电机的速度和位置呢&#xff1f;这就需要一种驱动器的装置。 1.什么是步进驱动器&#xff1f; 电机控制原理图 步进驱动器是一种能使步进电机运转的功率放大器&#xff0c;能把控制器发来…

Linux(二)常用命令

文章目录 一、文件管理命令1.1 chmod1.2 chown1.3 cat1.4 cp1.5 find1.6 head1.7 tail1.8 less1.9 more1.10 mv1.11 rm1.12 touch1.13 vim1.14 >和>>1.15 scp1.16 ln1.17 怎么用命令查看日志 二、文档管理命令2.1 grep2.2 wc2.3 echo 三、磁盘管理命令3.1 cd3.2 df3.3…

Observability:捕获 Elastic Agent 和 Elasticsearch 之间的延迟

在现代 IT 基础设施的动态环境中&#xff0c;高效的数据收集和分析至关重要。 Elastic Agent 是 Elastic Stack 的关键组件&#xff0c;通过促进将数据无缝摄取到 Elasticsearch 中&#xff0c;在此过程中发挥着至关重要的作用。 然而&#xff0c;显着影响此过程整体有效性的关…

[CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]

文章目录 前言小结 原文地址&#xff1a;https://blog.csdn.net/qq_45752541/article/details/132854115 前言 mesh 和点是最常见的3D场景表示&#xff0c;因为它们是显式的&#xff0c;非常适合于快速的基于GPU/CUDA的栅格化。相比之下&#xff0c;最近的神经辐射场&#xf…

基于Java+Swing实现大鱼吃小鱼小游戏(含用户登陆、注册功能)

基于JavaSwing实现大鱼吃小鱼小游戏 一、系统实现二、功能展示1.效果演示2.游戏界面3.游戏运行界面4.用户登陆 三、其他系统四源码下载 一、系统实现 1、创建窗口对象Ui 2、背景的绘制 3、键盘的监听事件 4、将己方鱼放上去 5、让小鱼移动 6、其他的鱼并引导&#xff08;先创建…

用户管理第2节课--idea 2023.2 后端--实现基本数据库操作(操作user表) -- 自动生成

一、插件 Settings... 1.1 File -- Settings 1.2 Settings -- Plugins 1.2.1 搜索框&#xff0c;也可以直接搜索 1.3 Plugins -- 【输入 & 搜索】mybatis 1.3.1 插件不同功能介绍 1.3.2 翻译如下 1.4 选中 Update&#xff0c;更新下 1.4.1 更新中 1.4.2 Restart IDE 1…