收藏 分享(赏)

图像处理.docx

上传人:hskm5268 文档编号:5819570 上传时间:2019-03-18 格式:DOCX 页数:15 大小:392.38KB
下载 相关 举报
图像处理.docx_第1页
第1页 / 共15页
图像处理.docx_第2页
第2页 / 共15页
图像处理.docx_第3页
第3页 / 共15页
图像处理.docx_第4页
第4页 / 共15页
图像处理.docx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、专业综合实验报告图像处理学 院:计算机科学与工程专 业:电子信息工程班 级:100404学 号:20101392姓 名:孙恩泽指导教师:王昕 侯阿临 杨冬日 期:2013 年 7 月 26 日实验二 图像变换七、思考题1直方图是什么概念?它反映了图像的什么信息?答:直方图是图像亮度分布的概率密度函数,是图像最基本的统计特征,它反映的是图像的灰度值的分布情况和图像的明暗分布规律, 。直方图操作能有效地用于图像增强,其固有的信息还可用于在其他图像处理应用中,如图像压缩与分割。直方图在软件中易于计算,也适用于商用硬件设备,因此,它们成为了实时图像处理的一个流行工具。2直方图均衡化是什么意思?它的主要

2、用途是什么?答:直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程直方图均衡化的目的是使图像在整个灰度值动态变化范围内的分布均匀化,改善图像的亮度分布状态,增强图像的视觉效果。灰度直方图是图像预处理中之一。3直方图规定化是什么意思?它的主要用途是什么?答:直方图匹配(规定化) 函数 histeq 实现直方图匹配的形式为:g=histeq(f,hspec)其中,f 为输入图像,hspec 为指定的直方图(一个由指定值构成的行向量),g 为输出图像,其直方图近似于指定的直方图 hspec。向量中包含对应于等分空间 bin 的整数值。histe

3、q 的一个特性是在 length(hspec)远小于图像 f 中的灰度级数时,图像 g 的直方图通常会较好地匹配 hspec。 4傅里叶变换有哪些重要的性质?答:1.在傅里叶变换(FT, Fourier Transform)域中,高频分量往往对图像边缘 2. 傅里叶变换后,图像能量往往集中在少数项上,或者说能量主要集中在低频分量上,于是通过对 低频成分分配较多的比特数,对高频成分分配较少的比特数,即可实现图像数据压缩。 3. 舍弃变换函数矩阵中某些幅度小的系数,可缩减计算维数,提高计算速度等等。5图像的二维频谱在显示和处理时应注意什么?答:这两种处理过程不可互换。即 fftshift(fft2

4、(f)fft2(fftshift(f) 。实验三 图像增强七、思考题1在对图像进行邻域平均法滤波时,邻域半径的大小对图像有什么影响,为什么?答:半径不同,图像的模糊度也不同。2邻域平均法更适合于处理高斯噪声还是椒盐噪声?试分析原因。答:邻域平均法更适合于处理高斯噪声。 3中值滤波更适合于处理高斯噪声还是椒盐噪声?试分析原因。答:中值滤波更适合于处理椒盐噪声。 4对叠加有乘性噪声的图像,设计一种处理方法,既能去噪声又能保持边缘清晰。答:采用取对数的方法使乘性噪声变为加性噪声。实验四 图像分割七、思考题1分析 Sobel 算子特点,并给予说明。答:Sobel 相对于先对图像进行加权平均再做差分。2

5、分析 laplacian 算子特点,并解释它为何能增强图像的边缘?答:拉普拉斯算子定义图像 f(x,y)的梯度为 锐化后的图像 g 为 式中 k为扩散效应系数。对系数 k 的选择要合理,太大会使图像中的轮廓边缘产生过冲;太小则锐化不明显。3比较各个边缘算子对图像边缘的检测效果。答:laplacian 算子对边缘的处理最明显,Sobel 和 prewitt 较差一些。4比较各个边缘检测算子对噪声的敏感性,并提出抗噪声性能较好的边缘检测的方法。答:laplacian 算子对噪声的敏感性最强,可先对图像进行平滑处理,再进行边缘检测实验五 图像压缩七、思考题1图像中哪些信息是主要的,哪些信息是次要的?

6、答: 频域的低频分量影响更大一些,而高频分量相对次要 2简述离散余弦变换(DCT)和行程编码(RLE)的原理。DCT 是一种空间变换,在 MPEG-2 中 DCT 以 8x8 的像块为单位进行,生成的是 8x8 的 DCT 系数数据块。DCT 变换的最大特点是对于一般的图像都能够将像块的能量集中于少数低频 DCT 系数上,即生成 8x8DCT 系数块中,仅左上角的少量低频系数数值较大,其余系数的数值很小,这样就可能只编码和传输少数系数而不严重影响图像质量。 行程编码(RLE)的原理:基于 Matlab 的图像边缘检测算法的实现及应用一、 实验目的边缘是图像的最基本特征,它包含了用于识别的有用信

7、息,为人 们描述或识别目标以及解释图像提供了一个重要的特征参数。物体的 边缘是以图像局部特性的不连续性为形式出现的。从本质上说,边缘 常常意味着一个区域的终结和另一个区域的开始,它普遍存在于目标 与背景、目标与目标、区域与区域、基元与基元之间,是图像分割所 依赖的重要特征,也是纹理特征的重要信息源和形状特征的基础。有 了图像边缘,我们就可以确定物体的几何尺寸并进一步对其测量,确定物体在空间中的几何位置,确定物体的形状特征并对物体进行识 别。图像的边缘信息在图像分析和计算机视觉中都是十分重要的,是图像识别中提取图像特征的一个重要属性。二、 实验原理数字图像中,边缘(edge)是指图像局部强度变化

8、最显著的部分。边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间。边缘检测常用到的有属于简单空域微分算法的 Roberts 算子、Sobel 算子、Prewitt 算子,拉普拉斯高斯(LOG)算法以及 Canny边缘检测器等。边缘检测算法的基本步骤:滤波:改善与噪声有关的边缘检测器的性能; 一般滤波器降导致了边缘的损失;增强边缘和降低噪声之间需要折衷;增强:将邻域强度值有显著变化的点突显出来, 边缘增强一般是通过计算梯度幅值来完成的; 检测:最简单的边缘检测判据是梯度幅值阀值;定位:边缘的位置和方位在子像素分辨率上估计。2.1边缘检测的基本原理图像边缘是图像最基本的特征,边缘

9、在图像分析中起着重要的作 用。所谓边缘(edge)是指图像局部特征的不连续性。灰度或结构等 信息的突变称为边缘,例如:灰度级的突变、颜色的突变、纹理结构 的突变。边缘是一个区域的结束,也是另一个区域的开始,利用该特 征可以分割图像。2.1.1基于一阶导数的边缘检测梯度是函数变化的一种度量,是图像对应二维函数的一阶导数。 而一幅图像可以看作是图像强度连续导数的取样点数组。梯度是一阶 导数的二维等价式,可定义为向量有两个重要的性质和梯度有关,一是向量 G(x,y)的方向就是函数 f(x,y)增大时的最大变化率方向;二是梯度的幅值。对于数字图像,偏导数可用差分来近似,则边缘往往在差分值最 大处,最小

10、处或过零点发生。在计算梯度时,计算空间同一位置处(x,y)的真实偏导数是至关重 要的。而采用上面公式计算的梯度近似值并不位于同一位置。所以常 常使用22 的一阶差分模板来计算位于内插点x+1/2,y+1/2的x 方向 和 y 方向偏导数,此时 Gx 和 Gy 可表示为2.1.2 基于二阶导的边缘检测以上介绍的计算一阶导数的方法,把一阶导数大于阈值的点作为边界点的方法,有可能会导致检测出的边缘点过多,数据存储量比较大。一种在理论上更有效的方法是求梯度局部最大值对应的点,并认为它们是边缘点。这种去除了一阶导数中的非局部最大值的方法,可以检测出更精确的边缘,一阶导数的局部最大值对应着二阶导数的零交叉

11、点。这样,通过找图像灰度的二阶导数的零交叉点就能较好地找到精确边缘点。从图 1 可以看出,图像灰度二阶导数的过零点对应边缘点。2.2 边缘检测算子2.2.1Canny 算子Canny 边缘检测利用高斯函数的一阶微分,在噪声抑制和边缘检测之间寻求较好的平衡,其表达式近似于高斯函数的一阶导数。Canny 算子是一阶算子。其方法的实质是用 1 个准高斯函数作平滑运算 fs=f(x,y)G(x,y),然后以带方向的一阶微分算子定位导数最大值。平滑后 fs(x,y)的梯度可以使用 22 一阶有限差分近似式:Pi,j(fsi,j+1-fsi,j+fsi+1,j+1-fsi+1,j)/2Qi,j(fsi,j

12、-fsi+1,j+fsi,j+1-fsi+1,j+1)/2在这个 22 正方形内求有限差分的均值,便于在图像中的同一点计算 x 和 y 的偏导数梯度。幅值和方向角可用直角坐标到极坐标的坐 标转化来计算:Mi,j反映了图像的边缘强度; i,j反映了边缘的方向。使得 Mi,j取得局部最大值的方向角 i,j,就反映了边缘的方向。 Canny 算子也 可用高斯函数的梯度来近似 , 在理论上很接近 4 个指数函数的线性组 合形成的最佳边缘算子。在实际工作应用中编程较为复杂且运算较 慢。Canny 边缘检测算子对受加性噪声影响的边缘检测是最优的。2.2.2 Roberts 梯度算子对阶跃状边缘,在边缘点处

13、一阶导数有极值,因此可计算每个像素处的梯度来检测边缘点。对于图像 g (x ,y ),在(x ,y )处的梯 度定义为 grad(x ,y )。梯度是一矢量,大小代表边缘的强度,方向 与边缘走向垂直。梯度算子仅用最近邻像素的灰度计算,对噪声敏感, 无法抑制噪声的影响。Roberts 边缘检测算子根据任意一对垂直方向上的差分可用来计算剃度的原理;采用对角线方向相临两像素之差,即:x f=f(i,j)-f(i+1,j+1)(1)y f=f(i,j)-f(i+1,j+1)(2)有了x f,y f 之后,可以根据下式计算出 Roberts 的剃度幅度值它们的卷职算子为:适当选取门限 TH,并作如下判断

14、: 如果 R(i,j)TH,则(i,j)为阶跃状边缘点,R(i,j)为边缘图像。2.2.3 Prewitt 算子Prewitt 从加大边缘检测算子的模板大小出发,由 2 2 扩大到 33 来计算差分算子,采用 Prewitt 算子不仅能检测边缘点,而且能抑制噪声的影响。这些算子样板由理想的边缘图像构成。依次用边缘样板去检测图像, 与被检测区域最为相似的样板给出最大值。用这个最大值作为算 子的输出值 P(i,j),这样可将边缘像素检测出来。定义 Prewitt 边缘检测 算子模板如下:8 个算子样板所对应的边缘方向分别是 8 个等份方向的。 适当选取门限 TH,并作如下判断 : 如果 P(i,j

15、)TH,则(i,j)为阶跃状边缘点。P(i,j)为边缘图像。2.2.4 Sobel 算子Sobel 在 Pre-witt 算子的基础上,对 4-邻域采用带权的方法计算差分,该算子不仅能检测边缘点,且能进一步抑制噪声的影响,但检 测的边缘较宽。Sobel 算法是基于一阶导数的边缘检测,通过逼近导数来找边缘, 其边缘点存在于图像梯度最大值处。Sobel 算子中用到了两个卷积模 板(一个水平算子,一个垂直算子)。它是一种奇数大小(33)模板下的全方向微分算子,对检测点的 上下左右进一步加权。Sobel 算子的思想是邻域的像素对当前像素产 生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子

16、结果产生的影响也不同。我们用 Sobel 来检测边缘的时候,先分别用 上述的模板对图像进行卷积,得到的是两个矩阵,在不考虑边界的情 形下也是和原图像同样大小的 bx,by,它们分别表示图像 a 中相同位 置处的两个偏导数。然后把 bx,by 对应位置两个数平方后相加得到一 个新的矩阵 b ,b 表示图像 a 中各个像素的灰度的梯度值。最后通过 阈值处理和细化处理得到边缘图像。在阈值不为空的情况下,边缘存 在于梯度幅值大于阈值平方的点上。2.2.5 Log 算子Log 算法是基于二阶导数的边缘检测,这种方法是将高斯平滑滤波器和拉普拉斯锐化滤波器结合了起来,先平滑掉噪声,再进行边缘 检测。它是对图

17、像进行滤波和微分的过程,是利用旋转对称的 Log模板与图像做卷积,确定滤波器输出的零交叉位置。常用的 Log 算子 是 55 的模板,如下所示Log 算法的特点是图像首先与高斯滤波器进行卷积,这样在平滑 图像的同时降低了噪声,孤立的点噪声和较小的结构组织将被滤除。 由于平滑会导致边缘的延伸,因此边缘检测只考虑那些具有局部梯度 最大值的点为边缘点。正确地选用 Log 算子中的尺度参数是很重要 的。直观上说,大的对应于更大的平滑范围,它有利于抑制噪声,但不利于定位精度;值小时,边缘定位精度高,但边缘细节变化多,信噪比低。因此应根据噪声水平和边缘定位精度的要求来决定的值三、 实验步骤3.1 edge

18、 函数 在 MATLAB图像处理工具箱中提供了专门的边缘检测 edge 函 数,由 edge 函数可以实现各算子对边缘的检测,其调用格式如下: BW=edge(I,method)BW=edge(I,method,thresh)Bw=edge(I,method,thresh,direction)BW,thresh=edge(I,method,)其中,I 是输入图像。edge 函数对灰度图像 I 进行边缘检测,返回与 I 同样大的二值图像 BW;其中 1 表示边缘,表示非边缘。 I 可以是 uint8 型、uint16 型或 double 型;BW 是 uint8 型。method 是表示选用的方

19、法(算子)类型,可以选择的 method 有 Sobel、Prewitt、Roberts、Log、Canny 等。可选的参数有 thresh(阈值)、sigma(方差)和 direction(方向)。3.2 边缘检测的编程实现利用 edge 函数,分别采用 Sobel、Roberts、Prewitt、Log、Canny 5 种不同的边缘检测算子编程实现对图 5 .1 所示的原始图像进行边缘提取。 程序代码如下:%MATLAB调用 edge 函数实现各算子进行边缘检测程序I=imread(tire.tif);%读入灰度图像并显示 figure(1),imshow(I);BW1=edge(I,so

20、bel,0.1);%用 sobel 算子进行边缘检测,判断阈值为 0.1 figure(2),imshow(BW1)BW2=edge(I,roberts,0.1);%用 roberts 算子进行边缘检测,判断阈值为 0.1 figure(3),imshow(BW2)BW3=edge(I,prewitt,0.1);%用 prewitt 算子进行边缘检测,判断阈值为 0.1 figure(4),imshow(BW3)BW4=edge(I,log,0.01);%用 log 算子进行边缘检测 ,判断阈值为 0.01 figure(5),imshow(BW4)BW5=edge(I,canny,0.1);

21、%用 canny 算子进行边缘检测, 判断阈值为 0.1 figure(6),imshow(BW5)检测效果如图 5.2 所示,从图中可以看出,在采用一阶微分进行边缘检测时,除了微分算子对边缘检测结果有影响外,阈值选择也对检测有重要影响。比较几种边缘检测结果,可以看到 Canny 算子提取边缘较完整,其边缘连续性较好,效果优于其它算子。其次是 Prewitt算子,其边缘比较完整。再次就是 Sobel 算子。图 5.2 采用各种边缘检测算子得到的边缘图像效果四、 总结与体会利用 MATLAB,我们可以很方便的对图像边缘检测算法进行仿真研究,比较各自的优缺点,得到最优、效果最好的算法来进行图像 处

22、理。Roberts 算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感。Prewitt 算子是平均滤波的一阶的微分算子,检测的图像边 缘可能大于 2 个像素,对灰度渐变低噪声的图像有较好的检测效果, 但是对于混合多复杂噪声的图像,处理效果就不理想了。Canny 方法 则以一阶导数为基础来判断边缘点。它是一阶传统微分中检测阶跃型 边缘效果最好的算子之一。梯度算子计算简单,但精度不高,只能检测出图像大致的轮廓, 而对于比较细的边缘可能会忽略。Prewitt 和 Sobel 算子比 Roberts 效果要好一些。Log 滤波器和 Canny 算子的检测效果优于梯度算子,能够检测出图像较细的边缘部分。 比较几种边缘检测结果,可以看到 Canny 算子提取边缘较完整,其边缘连续性较好,效果优于其它算子。其次是 Prewitt 算子,其边缘比较完整。再次就是 Sobel 算子。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报