目录

引言:

一、背景

1.1 图像金字塔

1.2 子带编码

1.3 哈尔变换

二、多分辨率展开

2.1 级数展开

2.2 尺度函数

2.3 小波函数

三、一维小波变换

3.1 小波级数展开

3.2 离散小波变换

3.3 连续小波变换

四、快速小波变换

五、二维小波变换


引言:

尽管20世纪50年代末起傅里叶变换就一直是基于变换的的图像处理的基石,但近年来出现了一种新的名为小波变换的变换使得压缩、传输和分析图像变得更加容易。与基函数为正弦函数的傅里叶变换不同,小波变换基于一些小型波,称为小波,具有变化的频率和有限的持续时间。本章将从多分辨率的角度来审视基于小波的变换,这样将简化它们的数学和物理解释,同时将从影响多分辨率理论形成的图像处理技术的概述入手阐述该理论的基本概念。

一、背景

我们所观察到的物体是由相似的纹理和灰度级连城的区域相结合形成的。对于不同尺寸或不同对比度的物体我们通常选用不同的分辨率去研究,而如果大尺寸、小尺寸/高对比度、低对比度同时存在的话,就需要使用多分辨率处理对其加以操作了。从数学角度看,图像可以看成是一个具有局部变化的统计特性灰度值的二维阵列。

1.1 图像金字塔

图像金子塔是一种以多个分辨率来表示图像的一种有效且概念简单的结构,最初应用于机器视觉和图像压缩,一个图像金字塔是一系列以金字塔形状排列的、分辨率逐步降低的图像结合。

金字塔底部是待处理图像的高分辨率表示,顶部则包含一个低分辨率近似,越往金字塔上层移动,尺寸和分辨率越低。基础级J大小为:或N*N,其中,顶点级0的大小为1*1(单个像素)。第P+1级金字塔中的像素总数为:

上图为一个构建两个密切联系的图像金字塔的简单系统,第j-1级近似输出提供,提供建立一个近似值金字塔所需的图像,第j级预测残差输出用于构建一个补充的预测残差金字塔。残差金字塔则仅包含输入图像的一个降低分辨率的近似。近似和预测残差金字塔都以一种迭代方式进行计算,步骤如下:

1、计算第j级输入图像降低的分辨率近似,可通过滤波并对滤波后的结果以2为因数进行下采样来完成。在两种操作将在下一阶段中描述。将得到的近似放在近似金字塔的第j-1级。

2、由步骤1中产生的降低的分辨率近似创建第j级输入图像的一个估计。这通过对产生的近似与第j级图像进行上采样和滤波来完成。得到的预测图像与第j级输入图像的维数相同。

3、计算2中预测图像与1中输入之间的差,结果放入残差金字塔的第j级。

上采样和下采样被用于加倍和减半计算得到降低近似和预测图像的空间维数,对于给定的整数变量n和一维取样序列f(n),上采样序列可以表示为:

基2的下采样的互补操作定义为:

上采样可以看成是每一个样本后面插入0,下采样 则可以看成是每隔一个样本丢弃一个样本。

1.2 子带编码

子带编码是另一种与多分辨率相关的重要图像处理技术,在子带编码中,一幅图像被分解为一组频带受限的分量,称为子带,由于执行了分解,所以子带可以重组在一起无误差的重构原始图像。

图为一个数字滤波器,由三个基本部件组成,即延时单元、乘法器和加法器。延时序列为:

输入序列与延时序列分别于常数相乘并求和就可以产生滤波后的输出序列。

当输入序列为离散单位冲激时:

上图为6个功能上相关的滤波器的冲激响应,c、d中滤波器响应是a图的顺序反转形式:

记第5张图以下式定义:

则第6张图序列就可以写成:

以上的序列可以说明,在规定的两个滤波器之间的关系时,符号反转、顺序反转和调制是可以合并在一起的。

二带子带编码和解码系统

上图中可以看出一个子带编码系统由分析滤波器和综合滤波器组成。同时,两者的冲激响应必须按照:

或者:

两者之一联系起来,上式中的被看成是交叉调制,并且满足双正交条件:

1.3 哈尔变换

哈尔变换的基函数是已知的最古老也是最简单的正交小波,可用:

F是一个N*N的图像矩阵,H是一个N*N的哈尔变换矩阵,T是一个N*N的变换结果。转置是必要的,因为H是非对称的。H中包含哈尔基函数 ,定义为:

对于哈尔变换矩阵,假设N=2,那么一个2*2的哈尔矩阵的第一行使用,z=0/2,1/2来计算。第二行,z=0/2,1/2来计算。因此一个2*2的哈尔矩阵为:

当N为4时:

import cv2
import numpy as np
import matplotlib.pyplot as plt
import pywt.dataimg = cv2.imread('D:\\picture\\tupian.jpg', 0)  # 将图像转为灰色图像
titles = ['original', 'shuiping', 'chuizhi', 'duijiaoxian']
coeffs2 = pywt.dwt2(img, 'haar')
LL, (LH, HL, HH) = coeffs2  # 查看分解结果
fig = plt.figure(figsize=(12, 3))
for i, a in enumerate([LL, LH, HL, HH]):ax = fig.add_subplot(1, 4, i + 1)ax.imshow(a, interpolation="nearest", cmap=plt.cm.gray)ax.set_title(titles[i], fontsize=10)ax.set_xticks([])ax.set_yticks([])
fig.tight_layout()
plt.show()

二、多分辨率展开

2.1 级数展开

信号或函数f(x)通常可以被很好地分解为一系列展开函数的线性组合:

k是有限或无线和的整数下标,是具有实数值的展开系数,是具有实数值的展开函数。如果展开是唯一的,也就是说对于任何给定的c只有一组与之对应,那么就称为基函数,并且展开集合{}就称为可这样表示的一类函数的基.可展开的函数形成了个函数空间,称为展开集合的闭合跨度,表示为:

系数可以表示为:

2.2 尺度函数

考虑由整数平移和实数二值尺度、平方可积函数组成的展开函数集合,即{},其中

若将j限制为某个指定的值,如,则得到的展开集合就是{}的一个子集。可将子空间定义为:

由此可以写出:

一般的,对于任意j,在k上跨越的子空间可以表示为:

2.3 小波函数

尺度函数与小波函数空间之间的关系

根据上图给出的空间对应关系,可以给出小波集合{}:

用到先前提及的尺度函数,可以写为:

f(x)可表示为:

三、一维小波变换

3.1 小波级数展开

小波函数的展开可以表示为:

是任意的开始尺度,的改写形式,一般被称为近似或尺度系数,

称为细节或小波系数。如果展开函数形成一个正交基或紧框架,展开系数的计算变为:

3.2 离散小波变换

就如傅里叶级数展开一样,当待展开的函数是离散的时,得到的系数就称为离散小波变换(DWT)其系数为:

反向DWT:

3.3 连续小波变换

当待展开函数为连续的时,得到的就是连续小波变换(CWT),连续小波变换将一个连续函数变换为两个连续变量的高度冗余函数。

连续的平方可积函数f(x)的连续小波变换与实数值小波的关系定义为:

其中:

s和分别称为尺度参数和平移参数。

其中

四、快速小波变换

快速小波变换FWT是一种实现离散小波变换DWT的高效计算,多分辨的详细等式为:

对x尺度化,用k对它进行平移,并令m=2k+n,给出:

上面我们了解过了连续函数的小波级展开系数,由此我们可以得到:

式子代入得:

计算得:

FWT分析滤波器组

由上图可以写出:

其中,卷积是在n=2k,k>=0时直接求值。上述公式为快速计算小波变换的定义式,对于一个长度为的序列,涉及的数学操作次数约为O(M),即乘法和加法的次数与输入序列的长度呈线性关系。用FWT分析滤波器组执行的卷积所涉及的乘法和加法的次数与进行卷积序列的长度成正比。

五、二维小波变换

一维变换可很容易地扩展到像图像这样的二维函数。在二维情况下,需要一个二维尺度函数和三个二维小波。每个都是两个一维函数的乘积。除去产生一维结果的乘积后,剩下的乘积产生可分离的尺度函数:

以及可分离的“方向敏感”小波:

度量沿列方向的变化(水平边缘)、响应沿行方向的变化(垂直边缘)、度量对应对角线方向的变化。方向敏感是中可分离性的自然结果;并不会增加二维变换的复杂性。

给定可分离的二维尺度函数和小波函数,一维DWT便可直接拓展到二维。定义尺度函数与平移基函数:

大小为M*N的图像的离散小波变换为:

和一维情况相似,是一个任意的开始尺度,系数定义f(x,y)在尺度处的近似。系数对尺度j>=附加了水平、垂直和对角方向的细节。当=0时,N=M=,有j=0,1,2...J-1和m=n=0,1,2...-1。

f(x,y)可以通过离散小波反变换得到:

二维DWT同样也可以通过使用数字滤波器和下取样器来实现,利用可分离的二维尺度函数和小波函数,我们可以简单的取出f(x,y)的行的一维FWT,然后,取结果列的一维FWT。

分析滤波器组

综合滤波器组的重建算法类似一维情况,情况图如下:

利用python编码获得二维小波作用下图片的近似图像、纵向边缘特征、横向边缘特征、对角特征

img = cv2.imread('D:\\picture\\tupian.jpg',0)  # 图像读取
img = np.array(img)   #
LLY,(LHY,HLY,HHY) = pywt.dwt2(img, 'haar')  # 观察图像的近似图像、纵向边缘特征(、横向边缘特征、对角特征
plt.figure(figsize=(50, 10))
plt.subplot(2, 2, 1)
plt.imshow(LLY, cmap="Greys")
plt.subplot(2, 2, 2)
plt.imshow(LHY, cmap="Greys")
plt.subplot(2, 2, 3)
plt.imshow(HLY, cmap="Greys")
plt.subplot(2, 2, 4)
plt.imshow(HHY, cmap="Greys")
plt.show()

数字图像处理第7章——小波和多分辨率处理相关推荐

  1. 数字图像处理 第七章小波和多分辨率处理

    文章目录 数字图像处理 第七章小波和多分辨率处理 引言 7.1背景 7.1.1图像金字塔 7.1.2子带编码 7.1.3哈尔变换 7.2小波 7.2.1连续小波 7.2.2离散小波 数字图像处理 第七 ...

  2. 数字图像处理——第七章 小波和多分辨处理

    数字图像处理--第七章 小波和多分辨率处理 文章目录 数字图像处理--第七章 小波和多分辨率处理 写在前面 1 多分辨率处理 1.1 图像金字塔 1.2 多尺度和多分辨率的区别 2 小波 2.1 连续 ...

  3. 数字图像处理知识点梳理——第七章 小波和多分辨率处理

    文章目录 前言 1 背景 2 多分辨率展开 函数的伸缩和平移 级数展开 尺度函数 小波函数 3 一维小波变换 离散小波变换 连续小波变换 4 快速小波变换 5 二维小波变换 6 小波变换和Fourie ...

  4. 数字图像处理——第七章(小波变换和多分辨率处理)

    小波变换和小波包变换 一.基础 1.1 图像金字塔 1.2 子带编码 1.3 哈尔变换(Haar) 二.多分辨率展开 2.1 级数展开 2.2 尺度函数 2.3 小波函数 三.小波变换 3.1 一维小 ...

  5. 数字图像处理——第五章 图像复原与重建

    数字图像处理--第五章 图像复原与重建 文章目录 数字图像处理--第五章 图像复原与重建 写在前面 1 图像退化/复原过程的模型 2 噪声模型 2.1 高斯噪声 2.2 椒盐噪声 3 仅有噪声的复原- ...

  6. 数字图像处理——第六章 彩色图像处理

    数字图像处理--第六章 彩色图像处理 文章目录 数字图像处理--第六章 彩色图像处理 1 彩色模型 1.1 RGB彩色模型 1.2 CMY 和CMYK彩色模型 1.3 HSI彩色模型 2 伪彩色图像处 ...

  7. 数字图像处理——第四章 频率域滤波

    数字图像处理--第4章 频率域滤波 文章目录 数字图像处理--第4章 频率域滤波 频率域 1.傅里叶级数原理 1.1.一维傅里叶变换 1.2.二维傅里叶变换 2.python×傅里叶级数 2.1.傅里 ...

  8. 数字图像处理第六章——彩色图像处理(上)

    数字图像处理第六章 数字图像处理---彩色图像处理 (一) 在 MATLAB 中彩色图像的表示 1.1 RGB图像 1.2 索引图像 1.3 处理 RGB图像和索引 (二)彩色空间之间的转换 2.1 ...

  9. 数字图像处理第五章——几何变换与图像配准

    数字图像处理第五章 数字图像处理---几何变换与图像配准 (一)点变换 (二)仿射变换 (三)投影变换 (四)应用于图像的几何变换 (五)MATLAB 中的图像坐标系统 5.1 输出图像位置 5.2 ...

最新文章

  1. moravec 角点检测
  2. [c++][语言语法]函数模板和模板函数 及参数类型的运行时判断
  3. 阿里云NAS备份服务
  4. java+数组+列举,Java基础-基础语法-数组
  5. setuptools find_packages
  6. CROSS APPLY 和OUTER APPLY 的区别
  7. Mathematica实现微分算子功能
  8. SQL Server着眼于非数字数据类型
  9. docker的核心原理-cgroup
  10. delphi mysql ado_delphi2010利用ADO连接MySQL数据库
  11. Origin 2017去除水印的方法
  12. 数值分析课后习题答案(百度网盘)
  13. android hid 触摸屏驱动,针对USB接口触摸屏HID免驱触摸屏配置方法
  14. torch.sort
  15. keytool 错误:Keystore was tampered with, or password was incorrect
  16. DBA常用Sql语句--留着给自己看
  17. L.G.Hassebrook团队结构光论文记录
  18. C语言入门教程||C语言 文件读写||C语言 预处理器
  19. 为什么总显示连接服务器失败怎么回事,为什么总是出现"与总服务器连接失败"的字样 – 手机爱问...
  20. 风电场气象服务器是什么系统,气象站资料在风电场前期工作中到底有多重要?...

热门文章

  1. 苹果官网对xcode版本的要求
  2. 1070 结绳 (25 分)
  3. 《视窗控制中心 V6.0》(SIMATIC WinCC V6.0)6.0 SP3 + Hotfix2 Build: 6.1.1.2[ISO]
  4. 反恐24小时[第1季]——我打赌这是我第一次写观后感
  5. javascript打印发票
  6. 汉江师范数学与计算机科学院宿舍,汉江师范学院宿舍条件,宿舍环境图片(10篇)...
  7. No row with the given identifier exists 解决方法
  8. 利用经纬度计算两地距离——Power BI
  9. 容器+云管,BoCloud博云定位PaaS场景而非只是容器标签
  10. 浅谈模式 - 代理模式