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

2023-11-11

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

引言

正像图像增强那样,图像复原技术的主要目的是以预先确定的目标来改善图像。尽管两者有相覆盖的领域,但图像增强主要是主观过程,而图像复原则大部分是一个客观过程图像复原试图利用退化现象的某种先验知识来复原被退化的图像。所以复原技术是面对退化模型的,并且采用相反的过程来进行处理,以此来恢复出原图像。

5.1背景知识

本章中给出的教材严格地说只是介绍性的 我们仅从给出的一幅退化数字图像的特点来考虑复原问题,因此对传感器 数字化转换器和显示退化等话题考虑得较少。下面简单介绍下,图像退化、图像在增强、图像复原。
图像退化是图像在形成、记录、处理的过程中,因为各种原因,导致图像质量的下降。图像增强正如第三章介绍的那样是个主观的过程,目的是提高图像质量,提高可懂度,更偏向于主观判断。图像复原是图像退化的反变换,根据图像畸变或退化的原因,进行模型化处理,将质量退化的图像重建或恢复到原始图像,简单的来说就是恢复出图像退化之前的图像。

5.2图像退化与复原

在这里插入图片描述
就像这个流程图一样来说明图像退化与图像复原之间的关联。其中,f(x, y)表示输入图像,退化后的图像用g(x, y)表示,退化过程可以分为退化函数H以及加载在图像上的噪声η(x, y)表示,经过复原滤波器后便能得到复原后的图像。
我们可以根据流程图得出退化图像在空间域的表达式

g(x, y) = h(x,y)*f(x,y)+n(x,y)

以及在频率域的表达式

G(u,v)=H(u,v)F(u,v)+N(u,v)

5.3噪声模型

在图像预处理中,图像去噪是一个很重要的步骤,这个步骤会对后面的结果有很大的影响。因此需要选择适当的滤波技术来增强图像。图像噪声是图像信息或者像素亮度的随机变化。它是由一些因素造成的图像信号的退化。图像

高斯噪声

高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。
高斯随机变量z的概率密度函数如下所示
在这里插入图片描述

其中μ表示噪声x均值或期望值,σ表示噪声x的标准差

下面是可以实现加入高斯噪声之后的图像的代码实现部分

def gaosi_noise(image, mean=0, var=0.001):
    image = np.array(image/255,dtype=float)
    noise = np.random.normal(mean, var ** 0.5, image.shape)#正态分布
    result = image + noise
    if result.min() < 0:
        clip = -1
    else:
        clip = 0
    result = np.clip(result, clip, 1.0)
    result = np.uint8(result * 255)
    return result
 

椒盐噪声

椒盐噪声也称泊松噪声。,一般是由图像传感器、传输信道及解码处理等产生的黑白相见的亮暗点噪声,椒盐噪声常由图像切割产生。椒盐噪声一般是指两种噪声,即黑噪声和白噪声。
椒盐噪声的概率密度函数如下所示
在这里插入图片描述


def jiaoyan_noise(image, pera):
    result = np.zeros(image.shape,np.uint8)
    perb = 1 - pera
    for i in range(image.shape[0]):
        for j in range(image.shape[1]):
            rod = random.random()
            if rod < pera:
                result[i][j] = 0
            elif rod > perb:
                result[i][j] = 255
            else:
                result[i][j] = image[i][j]
    return result
 

瑞丽噪声

瑞利噪声的概率密度函数如下所示:
在这里插入图片描述
其均值和方差为:在这里插入图片描述

下面是实现在图像中加入瑞利噪声之后图像的代码实现部分

    image = np.array(image, dtype=float)
    noise = np.random.rayleigh(a, size=image.shape)
    result = image + noise
    result = np.uint8(normalize(result) * 255)
    return result

伽马噪声

伽马噪声的概率密度函数为:
在这里插入图片描述

下面是实现加入伽马噪声图像之后的代码实现部分:

def gama_noise(image,scale):
    image = np.array(image, dtype=float)
    noise = np.random.gamma(shape=1, scale=scale, size=image.shape)
    result = image+noise
    result = np.uint8(normalize(result) * 255)
    return result

通过输出比较原图与加入高斯噪声、加入椒盐噪声、加入瑞利噪声、加入伽马噪声的五幅图像来作出比较
在这里插入图片描述

5.4只存在噪声的复原——空间滤波

当一幅图像中唯一存在的退化是噪声时,空间域表达式为

g(x, y) = f(x,y)+n(x,y)

频率域表达式为

G(u,v)=F(u,v)+N(u,v)
噪声项是未知的,故从g和G中减去它们不是一个现实的选择。当且仅当存在加性噪声的时候,可以选择空间滤波的方法。

均值滤波

均值滤波的种类有很多种,其中就有算数均值滤波,算术均值滤波是最简单的滤波器。最简单的均值滤波器,在S定义的区域中计算被污染图像g(x,y)的平均值:
在这里插入图片描述
几何均值滤波器,使用几何均值滤波器复原的一幅图像由如下表达式给出
在这里插入图片描述
这种处理,几何均值滤波器实现的平滑可以与算数均值滤波相比,但这种处理丢失的图像细节更少。
谐波均值滤波器复原的图像如下
在这里插入图片描述

谐波均值滤波器对于盐粒噪声效果较好,但不适用于胡椒噪声。它善于处理像高斯噪声那样的其他噪声。

添加噪声的方式上面有,这里均值滤波器调用OpenCV代码如下,其中cv2.blur的参数为原图像

# 分别实现滤波
# 使用7×7的滤波器
img_mean = cv2.blur(img, (7, 7))
gaussian_mean = cv2.blur(out1, (7,7))
salt_pepper_mean = cv2.blur(out2, (7,7))

逆谐波均值滤波器
在这里插入图片描述

其中Q称为滤波器的阶数。这种滤波器适合减少或在实际中消除椒盐噪声的影响。当Q值为正时,该滤波器消除胡椒噪声;当Q值为负时,该滤波器消除盐粒噪声。但它不能同时消除这两种噪声。注意,当Q=0时,逆谐波均值滤波器简化为算术均值滤波器;而当Q=-1时,则为谐波均值滤波器。

统计排序滤波

统计排序滤波器是空间域滤波器,空间域滤波器的响应基于由该滤波器包围图像区域中的像素值的顺序。排序结果决定滤波器的响应。

中值滤波:
在这里插入图片描述
统计学中的排列本身还有很多其他的可能性,可以使用序列中最后一个数值,称为最大值滤波器:
在这里插入图片描述
当然还会有最小值滤波器
在这里插入图片描述
最小值滤波器对于发现图像中的最暗点非常有用,可以降低盐粒噪声。

自适应滤波

自适应滤波器的行为变化基于由m×n矩形窗口Sxy定义的区域内图像的统计特性,它的性能要明显优于前面介绍的滤波器,代价是滤波器的复杂度。滤波器作用于局部区域Sxy,滤波器在中心化区域中任何点(x,y)上的滤波器响应基于以下4个量,1是g(x, y)表示噪声图像在点(x, y)上的值,2是干扰f(x, y)以形成g(x, y)的噪声方差,3是在Sxy上像素点的局部均值,4是在Sxy上像素点的局部方差。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数字图像处理 第五章图像复原与重建 的相关文章

随机推荐

  • 边缘计算:提升数据处理效率的新时代

    随着物联网 人工智能等技术的快速发展 边缘计算已经成为一个备受关注的话题 但是 很多人对于边缘计算的概念并不是很清晰 本文将重点解释 轻松读懂边缘计算 中的重点词汇或短语 帮助读者更好地理解边缘计算 一 边缘计算 边缘计算是一种新型计算模型
  • 使用ffmpeg视频切片并加密和视频AES-128加密后播放

    创建加密文件 想达到的目的 将一个mp4视频文件切割为多个ts片段 并在切割过程中对每一个片段使用AES 128 加密 最后生成一个m3u8的视频索引文件 电脑环境mac 已经安装了最新的ffmpeg 4 0 2版本 如果要加密 首先准备好
  • 电脑回收站已经清空的文件怎么还原

    互联网时代 我们很难去想象我们的生活没有了电脑没有了智能手机的日子 但是 作为电子设备 在方便我们的同时 也会给我们带来一些小小的烦恼 最常见的使用手机和电脑的弊端就是 被删除的文件 如果回收站已经清空了 那么你的文件就找不会来了 特别是有
  • Java防止重复数据多次调用接口导致数据库插入重复记录

    Java防止重复数据多次调用接口导致数据库插入重复记录 一 我们可以对数据库表设置主键 字段唯一约束来防止重复数据插入到数据库 在数据库层通过唯一键的方式来限制重复提交的记录 对于重复提交的内容自动被过滤 二 在前端控制 比如按钮置灰等 三
  • MySQL 5.7 版本登录报 error 1524: plugin ... in not loaded

    昨天看到论坛有人提问 error 1524 plugin in not loaded 问题相关信息 1 安装mysql 5 7 16 2 修改my ini为 For advice on how to change settings plea
  • 基于SpringBoot的自习室预约管理系统

    项目背景 在网络高速发展的时代 众多的软件被开发出来 给学生带来了很大的选择余地 而且人们越来越追求更个性的需求 在这种时代背景下 学院只能以学生为导向 所以自习室预订系统是必须的 系统采用了Java技术 将所有业务模块采用以浏览器交互的模
  • HAL库学习笔记-11 I2C

    目录 前言 一 I2C协议简介 I2C物理层 I2C协议层 1 基本读写过程 2 通讯的起始和停止信号 3 数据有效性 4 地址及数据方向 5 应答信号 二 STM32的I2C特性及架构 STM32 I2C架构解析 1 逻辑引脚 2 时钟控
  • Linux系统管理(三)系统中的日志管理及优化

    1 实验环境 两台能够通信的主机 2 journal日志查看工具的使用 企业7之前的系统没有 日志的收集工具 systemd journald service 查看路径 run log journal machine id system j
  • IAR 编译优化 #pragma optimize

    在IAR工具菜单栏中 点击 help gt Serach 搜索optimize 说明 单独指定的优化等级优先级高于编译器统一指定的优化 1 格式 pragma optimize goal level vectorize disable Pa
  • Python零基础入门--手动安装pip、selenium、lib包

    一 python安装教程 1 python exe安装踩坑点 运行命令 提示 python 不是内部或外部命令 1 1 注意勾选path 不然要自己在系统path中的添加变量 操作步骤参考如下 1 2 自定义安装路径 本文python ex
  • STL标准模板库 list的使用

    ZZ 李木空间 www limou net list的使用 在使用list必须包括头文件 include
  • WSL结合Windows Terminal的优化

    windows下面使用Linux命令 对于如今的工作人员已经不再是遥不可及的梦想 这得益于WSL Windows subsystem for Linux 的出现 不仅如此 windows系统还推出了windows terminal 对于终端
  • Mysql 入门篇之二进制安装

    文章目录 Mysql 5 7 入门安装 卸载自带组件 下载二进制包 安装 配置 Mysql 8 0 入门安装 卸载自带组件 下载二进制包 安装 配置 Mysql 5 7 入门安装 环境说明 CentOS Linux release 7 6
  • C++STL之set/multiset容器

    概述 set multiset容器的特性 1 set multiset的特性是所有元素会根据元素的值自动进行排序 set是以RB tree 红黑树 属于平衡二叉树的一种 而平衡二叉树是属于二叉树的一种 为底层机制 其查找效率非常好 set容
  • c++循环、continue、排序、goto以及猜数字小游戏

    打印 include
  • 常用通信协议总结

    通信可以形象的比喻成两个人讲话 1 你说的别人得能听懂 双方约定信号的协议 2 你的语速别人得能接受 双方满足时序要求 3 串行通信 一个人说 一个人听 4 并行通信 xx个人说 xx个人听 一 UART协议 UART Universal
  • 关于Ubuntu14.04在VMware中分辨率的问题

    关于Ubuntu14 04在VMware中分辨率的问题 需要先安装VMware tool之后才能正确匹配显示分辨率 例如1920 1080
  • flutter 网络地址URL转file

    方法1 import dart io import package http http dart as http import package path path dart import package path provider path
  • 微信小程序上传图片报错:uploadFile:fail url not in domain list

    上传图片时 在微信开发工具中可以正常上传成功 手机上预览也可上传成功 小程序发布成功后 上传失败 提示 uploadFile fail url not in domain list 错误信息如下 解决方案 1 在微信管理公众平台 小程序 开
  • 数字图像处理 第五章图像复原与重建

    文章目录 数字图像处理 第五章 图像复原与重建 引言 5 1背景知识 5 2图像退化与复原 5 3噪声模型 高斯噪声 椒盐噪声 瑞丽噪声 伽马噪声 5 4只存在噪声的复原 空间滤波 均值滤波 统计排序滤波 自适应滤波 数字图像处理 第五章