灰度修正 下载本文

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

第2次实验 灰度修正技术及应用

一、 实验目的:

1. 掌握灰度变换

2. 深入理解图像直方图的概念,掌握图像直方图的绘制方法 3. 掌握直方图均衡化和直方图匹配的原理,并能跟据实际需要实现图像均衡化和匹配处理.

二、 实验原理

2.1灰度修正技术

包括直接灰度变换和直方图修正,其目的是增强图像的对比度,使图像更加清晰。

1.灰度变换

灰度变换是一种最简单的图像增强技术,它属于点操作,这种变换方法有多种,如线性变换、对数变换、幂次变换等。

(1) 线性变换

所谓线性变换是指:输出图像灰度值g和输入图像灰度值f 之间的函数关 系是线性关系。由图2-1(a)所示的线性变换可知,输出图像灰度值g的表达式可以写成

g?N?M(f?m)?M??(f?m)?M (2-1) n?m若α > 1,则输出图像对应的灰度范围扩大,对比度增强;若0 < α < 1,则输出图像对应的灰度范围压缩,对比度减小;若α < 0,则图像灰度值求反(见图2-1(b)),使白变黑,使黑变白。

(a) (b)

图2-1 灰度线性变换 (a)线性变换;(b)求反.

(2) 对数变换

设输入图像灰度值为非负值,即f?0,则对数变换的数学表达式为

g?clog(1?f) (2-2)

式中c是一个可以调整的常数。当c?1时,对数变换曲线如图2-2所示。由图可

1

以看出,窄范围的低灰度输入图像值映射为一宽范围输出值,而宽范围的高灰度值映射为一窄范围的输出值,即暗像素的灰度值范围被扩大,而亮像素的灰度值范围被压缩,这就使低灰度区域的图像细节能够获得清晰的显示。

对数变换能有效地压缩图像的动态范围,其典型应用是图像Fourier频谱的显示。Fourier幅度谱的动态范围很大,其数值在0至106数量级范围内变化,而普通显示器的动态范围只有8比特,如果不经对数变换而直接显示,则低数值的细节就无法显示出来。

图2-2 对数变换

(3) 幂次变换

幂次变换的数学表达式可以写成

g?c?f? (2-3)

式中c,?均是正的常数。对于不同的?值,幂次变换曲线如图2-3所示,图中所有曲线均对应于c?1的情况。由图可见,当??1时,幂次变换将扩大暗像素的灰度值范围,压缩亮像素的灰度值范围,这类似于对数变换;与此相反,当??1时,幂次变换将压缩暗像素的灰度值范围,扩大亮像素的灰度值范围;当??1时,幂次变换简化为线性变换。

2

图2-3 幂次变换

幂次变换常用来对各种CRT显示器进行?校正。

(4) 灰度修正的MATLAB函数

在MATLAB中,灰度修正函数为 imadjust,其调用格式为

J=imadjust(I,[low high],[bottom top],gamma);

该语句中的I为输入图像,[low high]是其需要变换的灰度范围;J为灰度变换后的输出图像,[bottom top]是输出图像相应的灰度范围;gamma是灰度变换的参数?。

Tip: 输入I灰度值必须先做归一化,可用转换: I = im2double(I);

2.2直方图修正 1.直方图原理

离散图像的灰度直方图是指图像中每一个灰度级与该灰度级像素个数之间的 统计关系。设nk 是灰度级为sk的像素个数,则图像灰度直方图可表示为:

h(sk)?nk (2-4)

若图像的像素总数为n,则可得到归一化的灰度直方图如下:

n p(sk)?k (2-5)

n这是一种概率表达形式,p(sk)是灰度级为sk出现的概率。

Matlab中提供了IPT函数imhist来绘制图像的直方图,调用格式为

imhist(I,n);

此函数的功能是计算和显示灰度图像I的直方图,n为指定的灰度级数目(缺省值为256)。

但是除此之外绘制直方图的方法还有很多,可以通过条形图(bar)、杆状图(stem)等方式来表示直方图。

直方图修正是通过改变图像灰度直方图的形状来达到图像增强的目的。常用的方法有直方图均衡和直方图匹配。

3