数字图像处理与Python实现 课件 第7、8章-图像分割、-图像压缩_第1页
数字图像处理与Python实现 课件 第7、8章-图像分割、-图像压缩_第2页
数字图像处理与Python实现 课件 第7、8章-图像分割、-图像压缩_第3页
数字图像处理与Python实现 课件 第7、8章-图像分割、-图像压缩_第4页
数字图像处理与Python实现 课件 第7、8章-图像分割、-图像压缩_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字图像处理课程内容入门认识第8章图像压缩第7章图像分割基本操作应用第9章图像水印第10章指纹识别第11章深度学习综合案例第七章图像分割7.1图像分割基本概念7.2基于边缘的图像分割7.3基于区域的图像分割7.1.1图像分割定义

数字图像信号𝑓(𝑥,𝑦),将其分割为满足以下5个约束条件的若干相连的、非空子集(即图像子区域)𝑓_1,𝑓_2,𝑓_3,⋯,𝑓_𝑛的过程,称为图像分割。每个像素都可以被分割到确定的子区域中;各个子区域内图像像素是连通的;确保一个图像元素不会同时被分割到多个子区域;属于同一个子区域的像素应该具有某些相似性;属于不同子区域的属性应该不同。7.1.2图像分割分类按照是否考虑语义:分为非语义分割和语义分割。根据被分割图像的种类不同:灰度图像分割,彩色图像分割;根据被分割图像的状态不同:静态图像分割,动态图像分割;根据分割的粒度不同:

以识别物体轮廓为准则的粗分割,

以颜色、纹理等的高度相似性为准则、适宜压缩编码的细分割;按照被分割图像的应用领域不同:

遥感图像分割、医学图像分割、交通图像分割、工业图像分割、安防图像分割等;根据分割目标不同:语义分割、实例分割、全景分割;按照分割方法不同:

基于边缘的图像分割、基于区域的图像分割、基于显著性分析的图像分割、基于深度学习的图像分割等。7.1.2图像分割分类(1)非语义分割:

在图像分割中所占比重更高,目前算法也非常多,研究时间较长,而且算法也比较成熟。代表算法:阈值分割:简单,给定输入图像一个特定阈值,如果大于这个阈值,则设定为前景像素值,否则为背景像素值。区域分割有代表性的算法有两种:区域生长和区域分裂合并。区域生长算法的核心思想是给定子区域一个种子像素,作为生长的起点,然后将种子像素周围邻域中与种子像素有相同或相似性质的像素(可以根据预先设定的规则,比如基于灰度差)合并到种子所在的区域中。区域分裂合并基本上就是区域生长的逆过程,从整个图像出发,不断分裂得到各个子区域,然后再把前景区域合并,实现目标提取。聚类:聚类是一个应用非常广泛的无监督学习算法,该算法在图像分割领域也有较多的应用。聚类的核心思想就是利用样本的相似性,把相似的像素点聚合成同一个子区域。7.1.2图像分割分类(1)非语义分割:

在图像分割中所占比重更高,目前算法也非常多,研究时间较长,而且算法也比较成熟。边缘分割这是图像分割中较为成熟,而且较为常用的一类算法。边缘分割主要利用图像在边缘处灰度级会发生突变来对图像进行分割。常用的方法是利用差分求图像梯度,而在物体边缘处,梯度幅值会较大,所以可以利用梯度阈值进行分割,得到物体的边缘。对于阶跃状边缘,其位置对应一阶导数的极值点,对应二阶导数的过零点(零交叉点)。因此常用微分算子进行边缘检测。常用的一阶微分算子有Roberts算子、Prewitt算子和Sobel算子,二阶微分算子有Laplace算子和Kirsh算子等。由于边缘和噪声都是灰度不连续点,在频域均为高频分量,直接采用微分运算难以克服噪声的影响。因此用微分算子检测边缘前要对图像进行平滑滤波。LoG算子和Canny算子是具有平滑功能的二阶和一阶微分算子,边缘检测效果较好,因此Canny算子也是应用较多的一种边缘分割算法。参考网址:/article/8750657.1.2图像分割分类(2)语义分割:

在图像分割中所占比重更高,目前算法也非常多,研究时间较长,而且算法也比较成熟。语义分割和非语义分割的共同之处都是要分割出图像中物体的边缘,但是二者也有本质的区别,用通俗的话介绍就是非语义分割只想提取物体的边缘,但是不关注目标的类别。而语义分割不仅要提取到边缘像素级别,还要知道这个目标是什么。因此,非语义分割是一种图像基础处理技术,而语义分割是一种机器视觉技术,难度也更大一些,目前比较成熟且应用广泛的语义分割算法有以下几种:Grabcut

MaskR-CNN

U-Net

FCN

SegNet参考网址:/article/875065第七章图像分割7.1图像分割基本概念7.2基于边缘的图像分割7.3基于区域的图像分割7.2.1边缘分割基本原理边缘有方向和幅度两个特性:沿着边缘走向的灰度值不变或者缓慢变化,垂直于边缘走向的灰度值存在突变。按突变形式不同,边缘可表现为阶跃式、渐变式(斜升和斜降式)、脉冲式、屋顶式等类型,边缘包括:

数字图像中目标物体或某区域的角点、轮廓、交界等处,代表了图像局部不连续性特征。边缘分割方法:

假设各子区域一定会有明显的边缘存在,

通过采用数学求导的方法提取图像中灰度或结构等信息突变(即不连续)的部分像素来实现。边缘与导数关系一阶微分算子有Roberts算子、Prewitt算子、Sobel算子、Kirsch算子等;二阶微分算子有Laplace算子、LoG算子等7.2.1边缘分割基本原理7.2.2Canny算子边缘与导数关系一阶微分算子有Roberts算子、Prewitt算子、Sobel算子、Kirsch算子等;二阶微分算子有Laplace算子、LoG算子等Canny算子,非微分边缘检测算子,图像边缘检测算法最经典、先进的算法之一。

是在满足一定约束条件下推导出来的边缘检测最优化算子7.2.2Canny算子3个最优准则(1)最优检测:

应尽可能检测出图像的真实边缘,漏检真实边缘和误检非边缘的概率都要尽可能小。(2)最优定位准则:

检测出的边缘要尽可能接近真实边缘,由于噪声影响形成的检测误差最小。(3)检测点与边缘点一一对应:

检测出的边缘点与实际边缘点要尽可能一一对应。7.2.2Canny算子步骤:(1)图像去噪对图像进行平滑滤波(2)计算梯度幅值和方向寻找图像中灰度强度变化最强的位置,即梯度方向,(Sobel算子计算)(3)非极大值抑制为了使模糊的边界变得清晰,需要保留局部最大梯度,在每个像素点上抑制除极大值外的其他梯度值。非极大值抑制图7.2.2Canny算子步骤:(4)双阈值(更加精确地检测边缘)设置两个阈值,一个是阈值上界,一个是阈值下界。像素点大于阈值上界,称为强边界,则认为必然是边界;小于阈值下界,则必然不是边界;

两者之间的称为弱边界,则认为是候选项,需要进一步处理。(5)边界跟踪(进一步处理弱边界点)弱边界可能是真边缘,也可能是噪声或者颜色变化引起。通常:真实边缘的弱边界与强边界是连通的,其他则不连通。一个弱边界点的8连通像素,只要有强边界点存在,则弱边界点是真实边缘并保留。其余的弱边界则被抑制。最终得到Canny算子边缘检测结果。7.2.2Canny算子步骤:使用格式:cv2.Canny(输入图像,最小阈值,最大阈值,[sobel算子(卷积核)大小])参数说明:输入图像:输入图像数据,imread()函数返回值;最小阈值、最大阈值:双阈值设置;Sobel算子卷积核大小:可选项,用于查找图像梯度的Sobel核的大小,默认为3,该值越大,保留信息越多优点是可以检测出真正的弱边缘,而且是细化后的单边缘,减少了边缘中断现象。对于对比度较低的图像,通过合理选择参数,也能有很好的边缘检测效果。第七章图像分割7.1图像分割基本概念7.2基于边缘的图像分割7.3基于区域的图像分割不同区域内像素的属性不同,同一个区域内像素都应该具有相似或相同的属性。7.3基于区域的图像分割根据分割特征不同,分为阈值法、聚类法、生长合并法等。1.生长合并法概念生长合并法主要考虑图像区域的连通性进行分割,常见的方法有区域生长法、分裂合并法、分水岭法等。区域生长法:

根据图像像素之间的连通性,按照事先定义的准则,将部分像素或者子区域聚合成更大区域以达到图像分割的目的。分裂合并法:适合事先完全不了解区域形状和数目的情况,首先将图像分解成互不重叠的区域,然后对各个区域进行合并或分裂,得到最终的分割结果。7.3.1生长合并法2.分水岭法将图像看成一张地形图,灰度值对应地形图中的海拔高度值高灰度值对应着山峰,低灰度值对应着山谷,水总是从地势高朝着地势低的地方流动,直到某个局部低洼处,形成盆地;最终所有水都会处于不同的盆地中,各盆地之间的山脊称为分水岭。自适应的多阈值图像分割算法,有很多实现算法,大多是模拟水从下而上的浸入过程。假设在每个盆地表面,刺穿一个小孔,然后把整个模型慢慢浸人水中,最后在两个盆地汇合处构筑大坝,即形成分水岭。3.Python下实现分水岭法(c)对图像进行“开运算”后再膨胀,得到确定的背景区域(d)通过与背景像素的距离矩阵阈值化寻找确定的前景区域(e)bg与fg相减,得到前景和背景的边缘区域,

定为未确定区域(f)用分水岭算法提取轮廓像素,并显示为特定颜色标识图像分割问题比较复杂,存在两个主要问题:(1)缺乏效果好、通用性强的图像分割算法;(2)因应用场景的不同,评价图像分割效果的标准不统一;

在医学图像分割领域,分割的评价标准和普通图像不同。7.4小结语义或实例级的分割结果:图像分割的FCN、U-net、SegNet、TransDeepLab等学习模型,在自动驾驶、视频监控、医疗影像等场景下都取得了较好的应用效果。第七章图像分割7.1图像分割基本概念7.2基于边缘的图像分割(Canny算子)7.3基于区域的图像分割(分水岭算法)数字图像处理课程内容入门认识第8章图像压缩第7章图像分割基本操作应用第9章图像水印第10章指纹识别第11章深度学习综合案例第八章图像压缩8.1图像压缩基础8.2常见的压缩编码技术8.3小结一幅24位高清图像,分辨率为1920×1080,所占空间为()。1920×1080×24/8=6220800byte=6075KB≈5.93MB1920×1080×24/1024/1024≈49.76MB1920×1080×24/8/1024/1024≈5.93M1920×1080×24/1024=48600MB1920×1080×24/8/1024=6072MBABCD提交单选题1分一段时长1分钟、24位色、分辨率为1920*1080、帧频为30fps的高清视频。1920*1080*24*30*60/8/1024/1024/1024≈10.428GB。若没有压缩,所占存储容量大约是:图像压缩:以较少的比特有损或无损地表示原来的像素矩阵的技术,

也称图像编码。图像和视频在存储、传输、处理等过程所需资源呈现爆炸式增长,所以对数字图像和视频数据进行压缩是非常必要。8.1.1数据冗余相关概念压缩率(又称压缩比),表示压缩后数据量与压缩前数据量的比值:

数据冗余,表示压缩减少的数据量占压缩前数据量的比值:

8.1.1数据冗余相关概念数字图像冗余形式:编码冗余、空间冗余、时间冗余、视觉冗余等。编码冗余(又称信息熵冗余):图像中平均每个像素使用的比特数大于图像的信息熵,比如,灰度图中用于表示灰度的8比特编码往往要多于表示灰度所需要的比特数。空间冗余(又称几何冗余:由图像内部相邻像素之间存在较强的相关性造成的冗余。比如,一幅图像中存在一片连续的像素颜色相同的区域,则空间冗余较多。时间冗余(又称帧间冗余):视频图像序列中由相邻帧之间相关性造成的冗余。比如,同一镜头内,相邻视频序列过渡比较缓慢,相邻帧具有极大的相似性。视觉冗余:人眼敏感度较低或者不能感知的那部分图像信息。8.1.2数据压缩模型编码器负责把原图像进行编码压缩;解码器负责将压缩后的图像进行解码操作。映射器:减少图像空间和时间冗余,是可逆操作;量化器:根据映射器输出的精确度进一步降低映射器输出的精度,排除无关信息;符号编码器:将量化器输出的频率高的值赋予短位数编码,达到减少编码冗余的目的。8.1.3图像格式和压缩标准常见的图像格式有:BMP、TIFF、JPEG、GIF等,

在本书第一章中已有介绍;常用的压缩标准主要有:JPEG、JEPG2000、DV、H.261、H.262、H.263、H.264、MPEG-1、MPEG-2、MPEG-4、MPEG-4AVC等。1.JPEG编码JPEG(JointPhotographicExpertsGroup)是最常用的图像文件格式,后缀名为.jpg或.jpeg,其是JPEG标准的产物。JPEG标准是面向连续色调静止图像的一种压缩标准,由国际标准化组织(ISO)制订。JPEG文件格式在本书第一章中已有介绍。常见的实现编码算法有基于图像块的变换编码、哈夫曼(Huffman)编码、行程编码等。8.1.3图像格式和压缩标准由国际标准化组织(ISO)制订;最常用的图像文件格式,后缀名为.jpg或.jpeg,其是JPEG标准的产物;面向连续色调静止图像的一种压缩标准;常见的编码算法:

基于图像块的变换编码、哈夫曼(Huffman)编码、行程编码等。1.JPEG编码(JointPhotographicExpertsGroup)8.1.3图像格式和压缩标准MPEG:是ISO与IEC(国际电工委员会,InternationalElectrotechnicalCommission)于1988年成立的专门针对运动图像和语音压缩制定国际标准的组织;MPEG标准主要有:MPEG-1、MPEG-2、MPEG-3、MPEG-4等。编码技术主要利用了具有运动补偿的帧间压缩编码技术以减小时间冗余度,利用DCT技术以减小图像的空间冗余度,利用熵编码在信息表示方面减小统计冗余度。这些技术的综合运用,大大提高了压缩性能。2.MPEG编码(MovingPictureExpertsGroup)8.1.3图像格式和压缩标准由ITU-T视频编码专家组(VCEG)和MPEG联合组成的联合视频组(JVT,JointVideoTeam)提出。以高压缩高质量和支持多种网络的流媒体传输被广泛使用。在ITU的标准里称为H.264,在MPEG的标准里为MPEG-4Part10,又称AVC(AdvancedVideoCodec)。因此H.264也常常称为MPEG-4或AVC。压缩方法主要包括:帧内预测压缩,解决空域数据冗余问题;帧间预测压缩(运动估计与补偿),解决时域数据冗余问题;整数离散余弦变换,将空间上的相关性变为频域上无关的数据,然后再进行量化。3.H.2648.1.4图像压缩编码技术分类(1)有损编码(不可逆编码)1.根据压缩过程有无信息损失:压缩时部分信息丢失,导致解码重新构造的图像存在一定失真。有损压缩多用于数字电视、静止图像通信等领域。代表性算法包括有损预测编码、变换编码等。压缩过程没有信息的损失,解压后的还原图像与原始图像完全相同。常用于工业检测、医学图像、存档图像等领域的图像压缩中。代表性算法包括哈夫曼编码、游程编码、无损预测编码等。(2)无损编码(可逆编码)8.1.4图像压缩编码技术分类(1)统计编码2.根据图像压缩编码原理进行划分:出现概率高的事件用短码表示,出现概率低的事件用长码表示。常见的统计编码方法有哈夫曼编码和算术编码。利用空间和时间高度相关性,以近邻像素值为参考,预测当前像素值,然后量化、编码预测误差。应用于运动图像、视频编码中,如数字电视、视频电话等。(2)预测编码(3)变换编码空域数据经正交转换到另一个变换域(频率域),然后对系数进行编码处理第八章图像压缩8.1图像压缩基础8.2常见的压缩编码技术8.3小结8.2.1霍夫曼编码1.算法原理根据符号的出现概率构建一棵二叉树:出现概率越高的符号离根节点越近,出现概率越低的符号离根节点越远。每个叶子节点,构建一个编码,由从根节点到该叶子节点的路径上的所有边构成。出现概率高的符号就用较短的编码表示,出现概率低的符号则需要较长的编码表示。(1925-1999)个人成就:(1)霍夫曼编码,

(2)霍夫曼算法,二叉最优搜索树算法效率最高,

是动态规划的一个范例(3)获得计算机先驱奖,

IEEE的McDowell奖(4)加州大学的SantaCruz分校计算机科学系的创始人无损编码8.2.1霍夫曼编码1.算法原理在图像压缩中,图像由若干个像素值组成,统计每个像素值的出现频率,将其转化为概率分布。根据概率分布构建霍夫曼树,得到每个像素值的哈夫曼编码。将每个像素值替换成对应的哈夫曼编码,即可实现对图像的压缩。8.2.1霍夫曼编码2.算法步骤(1)统计像素值出现的频率:统计每个像素值出现的次数。(2)根据频率建立哈夫曼树:使用像素值出现的频率作为权值,建立哈夫曼树。(3)对每个像素值进行编码:从哈夫曼树根节点向下遍历,可设定左子树编码为0,右子树编码为1,直到叶子节点。(4)生成编码表:将每个像素值对应的编码保存到编码表中。(5)压缩图像:根据编码表将像素值转换为对应的哈夫曼编码,拼接起来,得到压缩后数据。(6)存储压缩数据:将压缩后的数据保存到文件中,同时保存编码表。(7)解压缩:

读取压缩数据和编码表,根据编码表转换为像素值,将所有像素值拼接得到解压缩图像。8.2.1霍夫曼编码3.具体实现(1)统计各符号出现概率,并由大到小排队。(2)编码:从最小概率的两符号开始,选其中一个支路为0,另一支路为1。(3)将已编码的两支路的概率合并,并重新排队.(4)多次重复使用上述方法,直至合并概率归一时为止。8.2.1霍夫曼编码4.

Python实现编码之后的图像数据量与原始图像数据量之比为0.9968.2.2算术编码1.算法原理将区间[0,1)连续划分成多个子区间,每个字符区间代表一个字符,区间大小与这个字符出现的概率成正比。消息越长,编码表示它的间隔就越小,表示这一间隔所需的二进制位就越多。在保留字符排列顺序的同时,对于更高频出现的字符,赋予更大的小数区间。无损编码8.2.2算术编码2.算法步骤(1)以二进制的方式读取文件,计算出文件中不同字节的频数和累计频数;(2)按照不同字节出现的频率,将[0,1)区间划分成若干个子区间,每个子区间代表一个上述字节,区间的大小正比于这个字节出现的频率,且所有的子区间加起来正好是[0,1);(3)编码从初始区间[0,1)开始,不断读入原始数据的字符,每读入一个信号,找到该字符所在区间,然后把该区间作为新的区间间隔,然后按照字符出现的频率将字符等比例的缩小到最新得到的间隔中;(4)在最新的区间中重复步骤(3),继续将该区间进行划分,不断重复这个过程,直到最后信号中的信源信号全部读完为止,最后将得到的区间中任意一个小数以二进制形式输出即得到编码的数据。8.2.2算术编码3.算法实现假设存在四种信源信号分别为A、B、C、D,概率分别为:0.2、0.3、0.4和0.1。对字符串ACBD进行算术编码的过程:8.2.2算术编码4.解码算法假设存在四种信源信号分别为A、B、C、D,概率分别为:0.2、0.3、0.4和0.1。根据编码值0.154判断其所在的原始区间在[0,0.2)内,可以得到其首位字符为A;按照信源信号概率分布进一步划定“新的区间”,并判断编码值落在“新的区间”中的位置,得到第二位字符;重复以上步骤,直到编码长度达到要求为止。如果编码长度不限制的话,可以一直编码下去,可以无损还原出原始信息。8.2.2算术编码5.

Python实现显示压缩比为0.7388.2.3行程编码1.算法原理又称游程编码、变动长度编码或行程长度编码等,是一种统计编码。在数据图像的编码中寻找连续的重复数值,并用出现次数和颜色编号取代这些连续的值。例如,一串字母表示的数据为“aaaaabbcccddddccddbb”,

经过行程编码处理后可表示为“5a2b3c4d2c2d2b”。8.2.3行程编码1.算法原理数字图像而言,同一幅图像某些连续的区域颜色相同,即图像中,同一扫描行中许多连续的像素都具有同样的颜色值。只要存储像素的颜色值、相同颜色像素的位置以及相同颜色的像素数目即可,把具有相同灰度值(颜色值)的相连像素序列称为一个行程。8.2.3行程编码2.算法分类行程编码分为:定长行程编码和变长行程编码两种。(1)定长行程编码:编码的行程所使用的二进制位数固定。如果灰度连续相等的像素个数超过了固定二进制位数所能表示的最值,则进行下一轮行程编码。(2)变长行程编码:对不同范围的行程使用不同位数的二进制位数进行编码,需要增加标志位来表明所使用的二进制位数。8.2.3行程编码(RunLengthEncoding,RLE)3.算法特点相当直观和经济,运算简单,解压缩速度很快。译码规则与编码时相同,还原后得到的数据与压缩前的数据完全相同。RLE所能获得的压缩比有多大,取决于图像本身的特点。RLE一般不直接应用于颜色丰富的自然图像(多灰度图像),但适合于二值图像的编码。无损编码8.2.3行程编码(RunLengthEncoding,RLE)3.算法特点有时行程编码与其他一些编码方法混合使用。8.2.3行程编码(RunLengthEncoding,RLE)5.算法缺点缺点:(1)对传输差错很敏感,如果其中一位符号发生错误,就会影响整个编码序列的正确性,使行程编码无法还原回原始数据,一般要用行同步、列同步

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论