数字图像处理笔记(一)---- 图像数字化与显示

news2024/11/15 17:18:01

系列文章目录

数字图像处理学习笔记(一)---- 图像数字化与显示
数字图像处理笔记(二)---- 像素加图像统计特征
数字图像处理笔记(三) ---- 傅里叶变换的基本原理


文章目录

  • 系列文章目录
  • 前言
  • 一、数字图像处理
  • 二、图像数字化与显示(数字图像的基本获取过程)
    • 2.1 采样
    • 2.2 量化
      • 2.2.1 量化方法--标量量化
      • 2.2.2 矢量量化
  • 总结


前言

慕课视频地址:https://www.icourse163.org/course/HHU-1471232170 from=searchPage&outVendor=zw_mooc_pcssjg_
注重讲解图像变换以及分解过程中物理含义
理解数学模型如何描述和解决实际应用问题
培养对复杂工程问题的分析解决的能力


一、数字图像处理

包括图像增强,图像压缩,图像重建,图像融合,图像分类,目标识别。

图像增强技术
图像增强技术的应用范围很广,最常见的就是手机美颜功能,可以平滑掉面部的瑕疵和纹理,也可以实现眼睛鼻子嘴唇等部位的特征增强。图像增强技术在医学影像领域也很重要,例如x光片,和CT影像,对图像全图或感兴趣区域进行局部对比度拉伸,方便医生做出诊断。

图像压缩技术
图像压缩技术是研究如何对数字图像进行压缩和编码,降低图像传输和存储所占用的带宽和存储资源的技术。我们平时的照片通常是jpg格式文件,视频通常是mp4格式文件。这些文件格式中都包含有图像压缩技术。

图像重建技术
图像重建技术是基于对场景有限的观测数据重建出清晰、完整的图像。例如在核磁共振成像领域,通常需要牺牲一部分观测数据换取扫描时间。成像时间长一直是核磁共振成像的一大弊力,对于CT影像快速成像可以降低患者的辐射量,它的意见就更加明显。

稀疏采样和压缩感知技术可以实现快速成像

快速成像为图像重建提出了新的挑战。

老照片复原技术,换脸技术都可以理解为图像重建技术。老照片复原技术中,由于当时传感器设备性能的局限性,很多保存的老照片存在分辨率低,噪声干扰强,图片失真等情况。可以通过图像重建技术进行修复和补充。

图像的分类识别
属于高级别的图像处理技术。在自动驾驶技术,医学AI诊断,遥感自动解译等领域都具有重要的研究价值。比如现有的CT影像已经可以实现机器的自动阅片,这就是通过图像分割,分类,识别技术实现的。

二、图像数字化与显示(数字图像的基本获取过程)

图像数字化的基本过程包括采样、‌量化和编码三个步骤。‌

采样:‌这一步骤涉及将二维空间上连续的图像在水平和垂直方向上等间距地分割成矩形网状结构,‌形成的微小方格称为像素点。‌例如,‌一幅640x480分辨率的图像由307200个像素点组成。‌采样频率,‌即一秒钟内采样的次数,‌反映了采样点之间的间隔大小。‌采样频率越高,‌得到的图像样本越逼真,‌图像质量越高,‌但要求的存储量也越大。‌采样点间隔大小的选取非常重要,‌它决定了采样后的图像能真实反映原图像的程度。‌

量化:‌量化是指使用多大范围的数值来表示图像采样之后的每一个点。‌量化的结果是图像能够容纳的颜色总数,‌反映了采样的质量。‌例如,‌如果使用4位存储一个点,‌图像只能有16种颜色;‌若采用16位存储一个点,‌则有2^16=65536种颜色。‌量化位数越大,‌图像可以拥有的颜色越多,‌产生的图像效果越细致,‌但也会占用更大的存储空间。‌

编码:‌在采样和量化之后,‌将像素灰度转换成离散的整数值,‌然后进行编码的过程。‌这一步骤将数字图像转换为计算机可以存储和处理的格式。‌

2.1 采样

在这里插入图片描述
数字信号是通过采样和量化两个过程,将模拟信号转化为数字信号,图像也是如此。
对于空间位置连续,辐射强度连续的场景,可以通过采样和量化两个步骤实现模拟信号的数字化
在这里插入图片描述

对于一个感兴趣的场景信号,我们采用一个光感受器阵列来记录该场景信息,这个过程就是采样,采样后场景中任意一个点都对应一个像素。采样可以将信号在空域维度上进行离散化。
对于同一个场景,既可以采用1024 * 1024 像素来记录也可以采用 256 * 256来记录,这就是由拍摄图像的设备来决定。当光感受器阵列上的采样孔径越小,采样间隔越小,采样得到的图像空间分辨率越高,场景中的细节越清晰。更高的像素即更小的采样间隔,这样我们获取的图像分辨率越高。

2.2 量化

量化是对采样的信号在幅度上进行离散化。

均匀量化可以将信号的变换区间,按照一定的间隔,映射为一个个离散的整数。通常为了满足计算机存储和计算的需要,量化后的数值取值会按照2的幂次方来选择。

可以用0-255这256个灰度级作为量化信号的强度,像素的灰度值就可以用8Bit二进制位来记录。

采样定理–奈奎斯特采样定理
在这里插入图片描述

对于一个信号FT,傅里叶变换后可以得到信号的频谱,频谱的宽度是最高频率的两倍;
使用一个采样脉冲序列对它进行采样,采样间隔和w_s称反比例关系。w_s是采样后信号频谱在频域上搬移的距离。

在这里插入图片描述

通常为了降低采样点的个数,减少存储的数据量和传输的带宽,我们需要加大采样间隔,这样采样得到信号的频谱搬移的距离w_s就会变小,当搬移的距离小于信号带宽时,我们采样得到的频谱就会发生镜像折叠,就无法重建信号。
在这里插入图片描述

如果对一个带宽时20HZ的信号进行采样,采样频率采样12HZ.
按照这个采样频率我们能测量的最高频率只有6HZ,而原始信号最高频率为10HZ.
10HZ的部分就会以6HZ为镜像,产生镜像折叠,就是2HZ.
采集到的信号频谱发生了折叠,最多采集到12HZ带宽的信号。

等间隔均匀采样时,需要满足奈奎斯特采样定理才能无失真的复原信号。
如果不采用等间隔采样,在压缩感知理论下,通过非均匀稀疏采样,就可以打破奈奎斯特采样定理,实现更低采样频率的采样。

如果我们的信号是在频域进行采样,那么采样频率是否要满足Niquest采样定理?

2.2.1 量化方法–标量量化

对每个采样点的信号强度进行量化

均匀量化和非均匀量化

在这里插入图片描述

均匀量化:将整个取值范围等间隔划分然后设置量化值代替落入区间的信号幅度

非均匀量化:根据信号幅度出现的频率来优化量化区间和量化值

不同量化间隔下均匀量化得到的成像效果

在这里插入图片描述

随着量化间隔的减少,图像中一些灰度差异较小的信息,就会被量化间隔淹没。量化级的减少导致图像中灰度变化平缓区域丢失。量化级越多,图像灰度变化刻画的越准确。
以上两种量化方法都是针对单个像素点的量化,称为标量量化。
如果要将多个像素点的灰度值组合起来一起量化,就是矢量量化。

2.2.2 矢量量化

矢量量化需要提前设计匹配的码字,码字是由同等数量的像素组成的向量;
每个码字分配一个编号。
量化过程就是寻找与输入向量距离最近的码字,用该码字的编号作为量化值进行传输和存储。
在解码时,根据包含所有码字的码书,通过编号索引进行解码。
在这里插入图片描述
下面这四个码字分别用两位二进制数进行编码,计算输入向量与各个码字的距离,发现输入向量与第三个码字最接近,因此量化后的编码是10.

在这里插入图片描述

相对于标量量化,矢量量化后数据量更小,且具有很强的抗干扰能力。


总结

等间隔均匀采样时,需要满足奈奎斯特采样定理才能无失真的复原信号。如果不采用等间隔采样,在压缩感知理论下,通过非均匀稀疏采样,就可以打破奈奎斯特采样定理,实现更低采样频率的采样。

相对于标量量化,矢量量化后数据量更小,且具有很强的抗干扰能力。

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

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

相关文章

文件I/O基础

一、传统I/O数据传输过程 用户进程调用 read() 函数,发送上下文切换,用户进程由用户态切换成内核态,CPU向磁盘发起数据读取IO请求,然后返回;磁盘控制器收到请求,就开始准备数据,把数据放入磁盘控制器的内存缓冲区中,然后产生一个中断;CPU收到中断信号,停下手头工作,…

linux系统查历史cpu使用数据(使用sar 查询cpu和网络占用最近1个月历史数据)。

一 sar 指令介绍 在 Linux 系统中,sar 是 System Activity Reporter 的缩写,是一个用于收集、报告和保存系统活动信息的工具。它是 sysstat 软件包的一部分,提供了丰富的系统性能数据,包括 CPU、内存、网络、磁盘等使用情况&am…

802.11 Omnipeek 抓包

802.11 Omnipeek 抓包 前言Omnipeek安装软件配置 前言 设备准备环节和前面一样,本文不再赘述,参考前面的文章:https://blog.csdn.net/m0_55334946/article/details/140671901 采用 Omnipeek 抓包分析,我可以说比起 wireshark 已…

计算一段英文句子的最后一个单词的长度,单词间以空格隔开。

# 计算一段英文句子的最后一个单词的长度,单词间以空格隔开。 # 例如:输入”how are you“,输出:3EnglishStr:str str(input("请输入你的英文句子:")) EnglishList:list EnglishStr.split( ) strLength len(EnglishL…

走难而正确的路并持之以恒

走难而正确的路并持之以恒 接近八月,台风频繁。气象台说台风“格美”今夜将至,往粤北走,而留在粤东的将是持续的高温。高温的广州,这几晚的天空惊喜不断,成片的火烧云,站在猎德大桥观望,丹红的凤…

ModelArts中sinh算子的开发

一、环境配置 1、创建notebook并连接 使用ModelArts新建一个notebook,我这里镜像选择第一个,里面含有cann和Ascend910处理器,我这里环境只能使用ssh连接,创建一个密钥对,保存到C盘中的user/Administrator/目录下。 在网页中选择使用vscode接入,等待vscode打开后,选择密…

LangChain的数据增强

吾名爱妃,性好静亦好动。好编程,常沉浸于代码之世界,思维纵横,力求逻辑之严密,算法之精妙。亦爱篮球,驰骋球场,尽享挥洒汗水之乐。且喜跑步,尤钟马拉松,长途奔袭&#xf…

给Windows系统中注入服务,即windwos守护进程

最近总是在windwos环境下测试nginx,总是需要频繁重启nginx服务。于是考虑有没有可能把nginx加入到系统服务的操作。在网上找了一大堆资料,现在来总结一下! 方法1:利用nssm工具实现 这是一个守护进程的软件,可以在win…

初阶数据结构——二叉树大汇总

这篇博客将会讲到二叉树的部分内容及堆的相关知识~ 这里将会涉及到大量的递归(头大) 目录 1.树 1.1树的概念 1.2树的相关概念 1.3树的表示 1.4树的实际应用 2.二叉树 2.1二叉树的概念 2.2特殊的二叉树 2.2.1 满二叉树 2.2.2 完全二叉树 2.2…

【昇腾AI创新大赛集训营南京站学习笔记】-Ascend算子开发课程

昇腾AI创新大赛训练营 14:00-14:30 基础知识-理论课 一、CANN 、达芬奇架构和算子 1.AI Core逻辑架构 达芬奇架构包含三部分: 1)计算类:矩阵计算单元(两个矩阵扔进去相乘)、向量计算单元、标量计算单元 2)控…

一天搞定React(4)——Redux

Hello!大家好,今天带来的是React前端JS库的学习,课程来自黑马的往期课程,具体连接地址我也没有找到,大家可以广搜巡查一下,但是总体来说,这套课程教学质量非常高,每个知识点都有一个…

鸿蒙OpenHarmony Native API【drawing_path.h】 头文件

drawing_path.h Overview Related Modules: [Drawing] Description: 文件中定义了与自定义路径相关的功能函数 Since: 8 Version: 1.0 Summary Functions FunctionDescription[OH_Drawing_PathCreate] (void)[OH_Drawing_Path] * 函数用于创建一个路径对象OH_Drawin…

前端页面:用户交互持续时间跟踪(duration)user-interaction-tracker

引言 在用户至上的时代,精准把握用户行为已成为产品优化的关键。本文将详细介绍 user-interaction-tracker 库,它提供了一种高效的解决方案,用于跟踪用户交互的持续时间,并提升项目埋点的效率。通过本文,你将了解到如…

EXO-chatgpt_api 解释

目录 chatgpt_api 解释 resolve_tinygrad_tokenizer 函数 resolve_tokenizer 函数 调试和日志记录​​​​​​​ 参数 返回值 初始化方法 __init__ 异步方法 注意事项 chatgpt_api 解释 展示了如何在一个项目中组织和导入各种库、模块和类,以及如何进行一些基本的We…

双向链表(C语言版)

1. 双向链表的结构 注意:这里的“带头”跟单链表的“头结点”是两个概念,实际上在单链表阶段称呼不太严谨,但是为了更好地理解就直接称为单链表的头结点。带头链表里的头结点,实际为“哨兵位”,哨兵位结点不存储任何有…

rsync文件远程同步

目录 一、什么是rsync远程同步 二、实操rsync远程文件同步 1、配置rsync同步源 2、客户端部署 3、增量备份​编辑 4、删除文件 5、如何实现免交互登录 6、crontab rsync 实现定时同步 7、使用ssh实现rsync数据同步【☆】 如何使用ssh免交互实现数据同步?…

C++ Map Set的模拟实现

C Map Set的模拟实现 文章目录 前言一、Map 和 Set是什么?1.Set2.Map 二、困难点困难一、set和map中值的类型不同困难二、Map和Set中值不可修改困难三、红黑树中迭代器的和--1.2.- - 困难四、map中[ ] 运算符重载的实现1.修改红黑树以及Map和Set中insert的返回值1.修…

Spring Boot入门指南:轻松构建高效Spring应用(四)

Spring Boot入门指南:轻松构建高效Spring应用(三)-CSDN博客 一.传递参数 7.传递数组 1.在IDEA中写出处理代码 2.打开postman 或者这样:key相同时,也会组成一个数组。 8. 传递集合 如果像数组传参一样传递集合,可能…

Transformer合集

资料 位置编码:https://zhuanlan.zhihu.com/p/454482273 自注意力:https://zhuanlan.zhihu.com/p/455399791 LN:https://zhuanlan.zhihu.com/p/456863215 ResNet:https://zhuanlan.zhihu.com/p/459065530 Subword Tokenizati…

重生之我们在ES顶端相遇第5章-常用字段类型

思维导图 前置 在第4章,我们提到了 keyword(一笔带过)。在本章,我们将介绍 ES 的字段类型。全面的带大家了解 ES 各个字段类型的使用场景。 字段类型 ES 支持以下字段类型(仅介绍开发中常用,更多内容请自…