数字图像处理实验报告概况 下载本文

内容发布更新时间 : 2024/6/29 10:10:22星期一 下面是文章的全部内容请认真阅读。

数字图像处理实验报告

实验一 数字图像基本操作及灰度调整

一、实验目的

1) 2) 3) 4)

掌握读、写图像的基本方法。

掌握MATLAB语言中图像数据与信息的读取方法。 理解图像灰度变换处理在图像增强的作用。

掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方法。

二、实验内容与要求

1. 熟悉MATLAB语言中对图像数据读取,显示等基本函数

特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。

1) 将MATLAB目录下work文件夹中的forest.tif图像文件读出.用到imread,imfinfo 等文件,观察一下图像数据,了解一下数字图像在MATLAB中的处理就是处理一个矩阵。将这个图像显示出来(用imshow)。尝试修改map颜色矩阵的值,再将图像显示出来,观察图像颜色的变化。

2) 将MATLAB目录下work文件夹中的b747.jpg图像文件读出,用rgb2gray()将其 转化为灰度图像,记为变量B。

2. 图像灰度变换处理在图像增强的作用

读入不同情况的图像,请自己编程和调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。

3. 绘制图像灰度直方图的方法,对图像进行均衡化处理 请自己编程和调用Matlab函数完成如下实验。

1) 显示B的图像及灰度直方图,可以发现其灰度值集中在一段区域,用imadjust函 数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰度直方图与原灰度直方图的区别。

2) 对B进行直方图均衡化处理,试比较与源图的异同。

数字图像处理实验报告

3) 对B进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。

图1.1 分段线性变换函数

三、实验原理与算法分析

1. 灰度变换

灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。

1) 图像反转

灰度级范围为[0, L-1]的图像反转可由下式获得

s?L?1?r

2) 对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接

使用原图,则一部分细节可能丢失。解决的方法是对原图进行灰度压缩,如对数变换:

s = clog(1 + r),c为常数,r≥ 0

3) 幂次变换:

s?cr?,c?0,??0

4) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求局部扩展

拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸:

其对应的数学表达式为:

第 1 页 共 36 页 1

数字图像处理实验报告

2. 直方图均衡化

灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频度,它是图像最基本的统计特征。依据定义,在离散形式下, 用rk代表离散灰度级,用pr(rk)代表pr(r),并且有下式成立:

Pr(rk)?nk 0?rk?1k?0,1,2,?,l?1 n式中:nk为图像中出现rk级灰度的像素数,n是图像像素总数,而nk/n即为频数。 直方图均衡化处理是以累积分布函数变换法为基础的直方图修正法。假定变换函数为

rs?T(r)??pr(?)d?

0

(a) Lena图像 (b) Lena图像的直方图

图1.2 Lena图像及直方图

当灰度级是离散值时,可用频数近似代替概率值,即

pr(rk)?nkn0?rk?1k?0,1,?,l?1

式中:l是灰度级的总数目,pr(rk)是取第k级灰度值的概率,nk是图像中出现第k级灰度的次数,n是图像中像素总数。

所以积分可以表示为下列累计分布函数(cumulative distribution function, CDF)

sk?T(rk)??j?0knjn??pr(rj)j?0k0?rj?1k?0,1,?,l?1

四、实验步骤

1. 熟悉MATLAB语言中对图像数据读取,显示等基本函数 1) 文件读取与信息显示:

load trees;

第 2 页 共 36 页

2