Advertisement

matlab图像增强实验总结,MatLab图像增强实验

阅读量:

图像增强实验

一、实验目的

掌握图像增强的作用及其重要性,并提高对图像增强本质的理解水平,在理解的基础上加强理论知识的掌握程度。

2、学会对图像直方图的分析。

3、掌握直接灰度变换的图像增强方法。

4、掌握直方图均衡化。

5、采用均值滤波、中值滤波实现图像平滑。

6、采用梯度方法、拉普拉斯算子、Sobel 算子和 Prewitt 算子实现图像锐化。

二、实验原理及知识点

按照特定需求突出显示一幅图片中的相关信息,并非为了强化这些信息而抑制其他信息的存在。通常情况下,这一过程旨在使经过增强后的图片在某些特定应用中表现得更加出色。常见的图像是增强技术包括直接灰度尺度变换,直方图修改处理, 图像平滑化处理以及 图像尖锐化 处理等

1、 灰度变换

亮度调整是图像处理技术中的一种核心方法,在提升图像亮度的同时能够优化色彩平衡,在图像数字化与显示领域发挥着关键作用。该方法通过精确控制像素值的变化实现对整体画面的调节效果,在实际应用中展现出显著的优势。

在实际应用中,为了强调图像中感兴趣的研究对象,常通过局部调整特定灰度范围来增强细节表现力;同时也可以根据不同区域设定独立的拉伸比例以实现更为精细的效果调整。假设原图像f(x,y)的灰度分布区间为[a,b]区间,在经由特定算法转换后将映射至目标区间[c,d]内,则可采用线性变换方法以达到预期效果

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.001.jpg (3.37 KB, 下载次数: 31)

2017-7-29 03:43 上传

2、 直方图变换

直方图被视为数字影像处理中最重要的基本统计特性之一,并直接反映了影像中像素灰度值的整体分布情况。其核心目的旨在通过调整影像中的像素亮度分布使其在整个可变范围之内趋于均匀状态。这种处理方式不仅有助于优化整体亮度平衡状态还能显著提升影像的空间对比效果进而增强人眼对影像细节信息的感受能力。具体而言直方图均衡化过程即通过特定灰度变换算法将原始影像转换为一个具有全局均匀直方图的目标影像这一过程实现了对原始数据的高度重构并达到了更好的视觉呈现效果。

根据定义,在离散形式中使用 rk 表示离散灰度级,并以 pr(rk) 表示其对应值;满足以下等式成立

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.002.jpg (1.62 KB, 下载次数: 43)

2017-7-29 03:43 上传

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.003.jpg (909 Bytes, 下载次数: 29)

2017-7-29 03:43 上传

rk

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.004.jpg (796 Bytes, 下载次数: 34)

2017-7-29 03:43 上传

1 k=0,1,2,…l-1

式中: 为图像中出现级灰度的像素数,n 是图像像素总数,而即为频数。

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.005.jpg (3.8 KB, 下载次数: 30)

2017-7-29 03:43 上传

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.006.jpg (1.24 KB, 下载次数: 45)

2017-7-29 03:43 上传

k=0,1,2,…l-1

3、 空域滤波

空域滤波通过模板在图像空间中进行操作以实现领域处理。每个像素的取值均基于模板计算其邻域像素值得出。该方法的作用在于抑制频域空间内特定范围内的频率分量而其他分量不受影响。从而导致输出图像频率分布发生改变。该技术通常被划分为线性与非线性两种类型,并根据不同功能主要可分为平滑与锐化两种类型来实现特定效果

空间滤波器都是基于模板卷积,其主要工作步骤是:

  1. 将模板在图中移动,并将模板中心与图中某个像素位置重合;

  2. 将模板上的系数与模板下对应的像素相乘;

  3. 将所有乘积相加;

  4. 将和(模板的输出响应)赋给图中对应模板中心位置的像素。

4、 图像平滑

图像平滑的目的可分为两方面:一方面是为了模糊化,在提取较大目标前去除过于微小的细节并将其内部的小肩端进行融合相连;另一类是为了消除噪声。平滑通过使用低通滤波器实现,在空间域内全部为正值。

  1. 均值滤波

均值滤波亦称线性滤波技术,在图像处理中被广泛采用。其核心方法基于局部平均思想:对于待处理的目标 pixels (x,y),选取一个包含该目标 pixel 及其周边 pixel 的局部区域作为模板窗口。计算该局部区域内所有 pixel 的平均灰度,并将此平均灰度赋给当前目标 pixel (x,y),从而实现平滑处理效果。具体而言,在处理过程中:

  1. 首先确定目标 pixel (x,y);
  2. 选取一个包含该目标 pixel 及其邻域 pixels 的窗口区域;
  3. 计算该窗口区域内所有 pixels 的算术平均 gray value;
  4. 将计算得到的平均 gray value 赋予当前目标 pixel (x,y),即 g(x,y) = (1/m) * ∑f(i,j),其中 m 表示窗口内 pixel 的总数;
  5. 重复上述步骤对整个图像进行遍历处理。
  1. 中值滤波

中值滤波是通过将包含在每个滑动窗口中的所有像素亮度进行排序后取中间亮度赋给当前处理区域的中心像素的一种图像去噪方法。其本质是一种基于非线性运算实现图像去噪的技术手段。该方法特别针对像椒盐噪声这样的脉冲型随机噪声具有良好的去噪能力,在去除随机噪声的同时也能较好地保持图像边缘清晰自然,在一定程度上也避免了因过度平滑导致边缘模糊的问题。

5、 图像锐化

锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。

  1. 梯度法

通过邻域平均的方法可以达到模糊图像的效果;由于平均值与积分存在对应关系,则可以通过应用微分操作来增强图像细节。在图像处理领域中广泛采用的方法通常是基于梯度的计算方式;其中较为常见的包括经典的Steer-ROF方法以及Roberts边缘检测法等技术手段;另外还有一些如Sobel算子、Prewitt算子等也是常用的选择

  1. 拉普拉斯算子

拉普拉斯算子是一种用于图像处理中的二阶导数运算符;它在模板中心位置上的系数均为正值,在周边区域则为负值;所有这些系数总和等于零

对3×3 的模板来说,典型的系数取值为:

前者为离散拉普拉斯算子的模板,后者为扩展模板。

三、实验仪器与软件

1、PC 计算机

2、MatLab 软件/语言包括图像处理工具箱(Image Processing Toolbox)

3、实验所需要的图片

四、实验内容及步骤

1、灰度变换和伽马校正图像数据读入pic=imread(‘rice.bmp’);

pic1=imadjust(pic…);通过图像直方图比较pic 和pic1 的灰度差异

pic2=imadjust(pic,[],[],gama);其中gama>1 和0

功能:调整图像灰度值或颜色映像表,也可实现伽马校正。

语法: J = imadjust(I,[low_in high_in],[low_out high_out],gamma)

程序

pic=imread('E:abcice.bmp');

imshow(pic);

[count,x]=imhist(pic,32);

stem(x,count);

pic1=imadjust(pic);

imshow(pic1);

[count,x]=imhist(pic1,32);

stem(x,count);

pic1=imadjust(pic,[0.2 0.5],[0.2 0.9],0.5);

imshow(pic1);

[count,x]=imhist(pic1,32);

stem(x,count);

pic2=imadjust(pic,[0.2 0.4],[0.2 0.9],0.4);

imshow(pic2);

[count,x]=imhist(pic2,32);

stem(x,count);

Pic

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.007.jpg (7.94 KB, 下载次数: 37)

2017-7-29 03:43 上传

Pic1

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.008.jpg (8.74 KB, 下载次数: 50)

2017-7-29 03:43 上传

参数Gamma的功能:该函数根据取值不同而表现出选择性的影响,在低灰度区域和高灰度区域内分别能够达到增强对比度的目的

展示原图像及其经由直方图均衡(pic3=histeq(pic); pic4=adapthisteq(pic))和适应性直方图均衡后的结果(pic4=adapthisteq(pic))

的图像直方图,比较两种均衡的效果差异函数:histeq()

功能:直方图均衡。

语法: J = histeq(I,hgram)将原始图像I的直方图变成用户指定的向量

hgram。hgram中的各元素的值域为[0,1]

J = histeq(I,n)指定直方图均衡后的灰度级数n,默认值为64。

程序

pic3=histeq(pic);

imshow(pic3);

[count,x]=imhist(pic3,32);

stem(x,count);

pic4=adapthisteq(pic);

imshow(pic4);

[count,x]=imhist(pic4,32);

stem(x,count);

原图像

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.009.jpg (17.89 KB, 下载次数: 37)

2017-7-29 03:43 上传

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.010.jpg (15.43 KB, 下载次数: 36)

2017-7-29 03:43 上传

均衡化处理之后

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.011.jpg (15.79 KB, 下载次数: 46)

2017-7-29 03:43 上传

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.012.jpg (9.23 KB, 下载次数: 52)

2017-7-29 03:43 上传

3、图像平滑输入图像及灰度化pic=imread(‘pic.name’); graypic=rgb2gray(pic);

pic=imread('E:aaalena512color.JPG');

imshow(pic);

graypic=rgb2gray(pic);

imshow(graypic);

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.013.jpg (15.3 KB, 下载次数: 34)

2017-7-29 03:43 上传

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.014.jpg (13.52 KB, 下载次数: 43)

2017-7-29 03:43 上传

通过调用函数 imnoise 来向图像中加入高斯噪声图像noisepic=imnoise(graypic,'gaussian',0,p),其中参数 p 表示高斯噪声的标准差。

noisepic=imnoise(graypic,'gaussian',0,1);

imshow(noisepic);

noisepic=imnoise(graypic,'gaussian',0,0.5);

imshow(noisepic);

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.015.jpg (34.71 KB, 下载次数: 46)

2017-7-29 03:43 上传

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.016.jpg (33.4 KB, 下载次数: 43)

2017-7-29 03:43 上传

通过Matlab指令向图像添加salt-and-pepper noise$noisepic = imnoise(graypic, 'salt-and-pepper', p);其中变量p表示噪声密度

noisepic=imnoise(graypic, 'salt & pepper',1);

imshow(noisepic);

noisepic=imnoise(graypic, 'salt & pepper',0.5);

imshow(noisepic);

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.017.jpg (36.69 KB, 下载次数: 33)

2017-7-29 03:43 上传

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.018.jpg (35.05 KB, 下载次数: 43)

2017-7-29 03:43 上传

均值滤波构造平滑卷积模版H=fspecial(‘average’,n),其中n 是滤波器大小

图像均匀滤波denoisepic=imfilter(noisepic,H);

选取不同参数值p 和n,比较结果的差异

H=fspecial('average',360);

imshow(H);

H=fspecial('average',32);

imshow(H);

denoisepic=imfilter(noisepic,H);

imshow(denoisepic);

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.019.jpg (4.82 KB, 下载次数: 31)

2017-7-29 03:43 上传

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.020.jpg (6.76 KB, 下载次数: 49)

2017-7-29 03:43 上传

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.021.jpg (5.44 KB, 下载次数: 32)

2017年7月29日3时43分处理中值滤波图像用于降噪;其中n代表模板尺寸;调用\texttt{medfilt2}函数进行二维中值滤波。

选择合适的参数值p 和n,进行中值滤波

比较均值滤波和中值滤波的差异

denoisepic=medfilt2(noisepic,[360,360]);

imshow(denoisepic);

denoisepic=medfilt2(noisepic,[32,32]);

imshow(denoisepic);

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.022.jpg (8.81 KB, 下载次数: 47)

2017-7-29 03:43 上传

4、图像锐化输入图像及灰度化pic=imread(‘pic.name’); graypic=rgb2gray(pic);

研究Edge命令时,请根据参数选择采用多种方式对上述灰度图像进行边缘检测,并对比各方案的结果。

边缘检测性能。包括梯度方法、拉普拉斯算子、Sobel 算子和 Prewitt 算子。

pic=imread('E:aaaice.bmp');

imshow(pic)

BW1 = edge(pic,'sobel');

imshow(BW1)

BW2 = edge(pic,'prewitt');

imshow(BW2);

BW3 = edge(pic,'roberts');

imshow(BW3);

BW4 = edge(pic,'log');

imshow(BW4);

BW5 = edge(pic,'canny');

imshow(BW5);

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.023.jpg (16.2 KB, 下载次数: 32)

2017-7-29 03:43 上传

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.024.jpg (13.52 KB, 下载次数: 40)

2017-7-29 03:43 上传

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.025.jpg (19.46 KB, 下载次数: 43)

2017-7-29 03:43 上传

3f829e29e76caa8c3b1f630a6b27d58d.gif

1.026.jpg (18.46 KB, 下载次数: 31)

2017-7-29 03:43 上传

五、实验报告要求

1. 简述实验目的和实验原理;

阐述实验的基本流程时,请呈现各阶段所得的数据及其对应的代码,并简要说明各部分程序的功能。

3. 改变有关函数的参数,分析比较实验结果,进行必要的讨论;

六、思考题/问答题

1.直方图是什么概念?它反映了图像的什么信息?

2.直方图均衡化是什么意思?它的主要用途是什么?

基于实验结果的分析,请对均值滤波器/中值滤波器在去除高斯噪声和椒盐噪声方面的去噪效果进行定性评估。

4.结合实验内容,定性评价滤波窗口对去噪效果的影响?

答:1.直方图表示用于显示一个变量不同级别所对应频率值的图表形式;它能够显示数字图像中各个灰度等级与其对应频率值之间的关系

它是通过对原始图像施加特定变换的方式生成一幅以实现灰度值分布均匀为目标的新图像的方法。这种方法的主要作用在于通过对直方图进行调整来提升图像的质量。

完整论文下载(word格式 可编辑):

95d1098ed7cbcc93a3c84393e0bd5f5e.gif

图像增强.rar

(3.43 MB, 下载次数: 22)

2017-7-29 03:43 上传

点击文件名下载附件

下载积分: 黑币 -5

全部评论 (0)

还没有任何评论哟~