《数字图像处理》第七章 小波域多分辨率处理 学习笔记

小波域多分辨率处理

    • [0. 前言](#0. 前言)
    • [1. 背景](#1. 背景)
      • [1.1 图像金字塔](#1.1 图像金字塔)
      • [1.2 子带编码](#1.2 子带编码)
    • [2. 多分辨率展开](#2. 多分辨率展开)
      • [2.1 级数展开](#2.1 级数展开)
      • [2.2 尺度函数](#2.2 尺度函数)
      • [2.3 小波函数](#2.3 小波函数)

0. 前言

本章难度大(看不太懂),没有什么详细记录,大家还得自行查阅其他相关博客视频等。

小波变换基于小型波(傅里叶变换以正弦函数为基函数).

FT的结果完全丢失了时间信息, 而小波变换的意义就在于判断什么时间(间隔)出现什么样的频谱成分.

辅助材料: THE WAVELET TUTORIAL (unr.edu)

辅助视频: Wavelets: a mathematical microscope (youtube.com)

第三版教材中图片下载地址: book images downloads

vs2019配置opencv可以查看:VS2019 & Opencv4.5.4配置教程

前情回顾:
数字图像处理第三章 灰度变换和空间滤波 学习笔记
数字图像处理第四章 频率域滤波 学习笔记

数字图像处理第五章 图像复原和重建(内容较简单,就没有详细记录笔记)
数字图像处理第六章 彩色图像处理 学习笔记

后续剧情:
数字图像处理 第九章 形态学图像处理 学习笔记
数字图像处理 第十章 图像分割 学习笔记
数字图像处理 第11章 标识和描述 学习笔记

1. 背景

1.1 图像金字塔

  • 步骤1: 计算第j-1级近似. 第j级通过滤波并以2为因子进行下采样.

  • 步骤2: 通过对步骤1结果进行上采样, 得到第j级预测值.

  • 步骤3: 汁算步骤 2 的预测图像和步骤 1 的输入之间的差. 把得到的结果放在预测残差金字塔的第j级。

c 复制代码
void test04(string path) {
    Mat img = imread(path);
    if (img.empty()) {
        cout << "Error: unable to load the image\n";
        return;
    }

    //构建图像金字塔
    vector<Mat> pyramid;
    pyramid.push_back(img.clone());
    for(int i = 0; i < 4; i++) {
        Mat blurred;
        GaussianBlur(pyramid.back(), blurred, Size(5, 5), 0, 0);
        Mat downsampled;
        pyrDown(blurred, downsampled);
        pyramid.push_back(downsampled);
    }

    //构建残差金字塔
    vector<Mat> residualPyramid;
    for (int i = 1; i < pyramid.size(); i++) {
        Mat upsampled;
        pyrUp(pyramid[i], upsampled, Size(pyramid[i - 1].cols, pyramid[i - 1].rows));
        residualPyramid.push_back(pyramid[i - 1] - upsampled);
    }

    for (int i = 0; i < pyramid.size() - 1; i++) {
        imshow("level_" + to_string(i), pyramid[i]);
        imshow("residual" + to_string(i), residualPyramid[i]);
    }
    waitKey(0);
}

1.2 子带编码

2. 多分辨率展开

多分辨率分析(MRA)中, 尺度函数被建立成一个函数或一幅图像的一系列近似值, 每个近似与其最近邻近似在分辨率方面都用因子2来区分.

2.1 级数展开

2.2 尺度函数

2.3 小波函数

小波函数是小波变换的基础,以下是整个小波函数家族

小波函数的满足条件:

  1. 积分为 0 , ∫ − ∞ + ∞ ψ ( t ) d t = 0 积分为0, \int_{-\infty}^{+\infty}\psi (t)dt =0 积分为0,∫−∞+∞ψ(t)dt=0

  2. 能量有限 , ∫ − ∞ + ∞ ∣ ψ ( t ) ∣ 2 d t < ∞ 能量有限, \int_{-\infty}^{+\infty}|\psi (t)|^2 dt < \infty 能量有限,∫−∞+∞∣ψ(t)∣2dt<∞

将小波函数进行平移缩放

ψ a , b = ψ ( t − b a ) \psi_{a,b}= \psi(\frac{t-b}{a}) ψa,b=ψ(at−b)

其中, b表示平移因子, a表示缩放因子

某一小波函数对于信号y(t)具有的贡献:

T ( a , b ) = ∫ − ∞ + ∞ y ( t ) ⋅ ψ a , b ( t ) d t T(a, b)=\int_{-\infty}^{+\infty}y(t)\cdot \psi _{a,b}(t)dt T(a,b)=∫−∞+∞y(t)⋅ψa,b(t)dt

相关推荐
懒惰的bit2 小时前
基础网络安全知识
学习·web安全·1024程序员节
李元豪3 小时前
【智鹿空间】c++实现了一个简单的链表数据结构 MyList,其中包含基本的 Get 和 Modify 操作,
数据结构·c++·链表
2401_858286113 小时前
L7.【LeetCode笔记】相交链表
笔记·leetcode·链表
UestcXiye4 小时前
《TCP/IP网络编程》学习笔记 | Chapter 9:套接字的多种可选项
c++·计算机网络·ip·tcp
埃菲尔铁塔_CV算法4 小时前
图像算法之 OCR 识别算法:原理与应用场景
图像处理·python·计算机视觉
一丝晨光5 小时前
编译器、IDE对C/C++新标准的支持
c语言·开发语言·c++·ide·msvc·visual studio·gcc
Natural_yz5 小时前
大数据学习09之Hive基础
大数据·hive·学习
龙中舞王5 小时前
Unity学习笔记(2):场景绘制
笔记·学习·unity
Natural_yz5 小时前
大数据学习10之Hive高级
大数据·hive·学习
丶Darling.5 小时前
Day40 | 动态规划 :完全背包应用 组合总和IV(类比爬楼梯)
c++·算法·动态规划·记忆化搜索·回溯