实验2灰度修正技术1
图像的灰度校正

7 0.04
8 0.08
9 0.12
3.5 直方图均衡化
3)计算图像各灰度级的累计分布hp。
i
hp(i) h(k ) k 0
i 1,2,...,255
3.5 直方图均衡化
0 0.12
1 0.08
hs
2 0.16
3 0.16
4 0.04
5 0.04
6 0.16
7 0.04
8 0.08
( f b) gb
g
255
gb
0 f a a f b b f L
γ
β
ga
α
f
ab
255
3. 2 对比度展宽
二、灰级窗:
只显示指定灰度级范围内的信息。如:
α=γ=0
g
g
255
γ
gb
255
β
ga
α
f
ab
255
β
ab
f
255
3.2 对比度展宽
三、灰级窗切片:
只保留感兴趣的部分,其余部分置为 0。
值得注意的是:所得到的r 值不一定准 确,那么我们来看一下r 值不准确时,进 行校正后的图像效果。
3. 2 对比度展宽
一、对比度展宽的目的:
是一点对一点的灰度级的影射。设 新、旧图的灰度级分别为g和f,g和f 均在 [0,255]间变化。
目的:将人所关心的部分强调出来。
3.2 对比度展宽
方法:
f g ( f a) ga
第三章 图像的灰度变换
灰度变换的目的是为了改善画 质,使图像的显示效果更加清晰。
3.1 输入图像的r校正
我们知道,数字图像信息的获取来 自于CCD图像传感器。但是,CCD的输 入输出特性不是线性的,所以如果不进 行校正处理的话,将无法得到好的图像 效果。 (同理,加洗照片不对颜色进行校正
实验三图像灰度修正技术和直方图均衡化

实验三图像灰度修正技术和直方图均衡化一、实验目的1、掌握图像灰度修正技术的原理和实现方法;2、掌握图像直方图均衡化处理的方法。
二、实验原理及内容图像增强的目的是,对一幅给定的图像,突出一些有用的信息,抑制一些无用的信息,提高图像的使用价值。
常用的图像增强方法有:灰度修正法、平滑、几何校正、图像锐化、频域增强、维纳滤波、卡尔曼滤波等。
Matlab图像处理工具箱中的函数imadjust实现上述对比度调整算法。
函数实现:J=imadjust(I,[low high],[bottom top],gamma) Matlab函数实现:(1)求图像的灰度直方图Imhist ( I,n )(2)求灰度的等值图Imcontour ( I,n )(3)直方图均衡化J=histeq (I, hgram )实验内容:1、显示图像“bacteria.tif”的灰度直方图和灰度等值图;2、对给定图像“pout.tif”进行灰度变换、增强对比度,显示增强前、后的图像以及它们的灰度直方图;3、对给定图像“pout.tif”进行直方图均衡处理,显示处理前、后的图像以及它们的灰度直方图;三、实验报告要求1、给出求图像“bacteria.tif”的灰度直方图和灰度等值图的Matlab程序,并显示图像的灰度直方图和灰度等值图的;2、给出对图像“pout.tif”进行灰度变换、增强对比度的Matlab程序,显示增强前、后的图像以及它们的灰度直方图;对结果进行分析。
3、给出对图像“pout.tif”进行直方图均衡处理的Matlab程序,显示处理前、后的图像以及它们的灰度直方图;对结果进行分析。
四、实验程序及框图1.实验1实验框图实验程序clear all %清空工作空间I=imread('bacteria.tif'); %读入图像subplot(2,2,1);imshow(I);xlabel('原图') %显示原图subplot(1,2,2);imhist(I,128);xlabel('灰度直方图') %显示灰度直方图subplot(2,2,3);imcontour(I,8);xlabel('灰度等值图') %显示灰度等值图2.实验2 实验框图实验程序clear all; %清空工作空间I=imread('pout.tif'); %读入图像J=imadjust(I,[0.3 0.7],[ ]); %增强对比度subplot(2,2,1);imshow(I);xlabel('原图像'); %显示原图像subplot(2,2,2);imhist(I);xlabel('原图像直方图'); %显示原图像直方图subplot(2,2,3);imshow(J);xlabel('对比度增强后图像'); %显示对比度增强图像subplot('2,2,4');imhist(J);xlabel('增强图像直方图') %显示增强后图像直方图3.实验3实验框图实验程序clear all; %清空工作空间I=imread('pout.tif'); %读入图像J=histeq(I); %直方图均衡化subplot(2,2,1),imshow(I);xlabel('原图') %显示原图subplot(2,2,2),imhist(I);xlabel('原图灰度直方图') %显示原图灰度直方图subplot(2,2,3),imshow(J);xlabel('处理后图像') %显示处理后图像subplot(2,2,4),imhist(J)xlabel('处理后图像灰度直方图') %显示处理后图像直方图五、思考题1、为什么一般情况下对离散图像进行均衡化并不能产生完全平坦的直方图?答:因为映射后的图像不能取到所有灰度级,变换后的直方图会有某些灰度级空缺,故不能产生完全平坦的直方图。
4-1、图像增强之灰度变换和彩色增强

g=9*log(f+1)
作用:将暗的部分扩展,而将亮的部分抑制。(示例)
4、直方图均衡化
直方图均衡方法的基本思想是对 在图像中像素个数多的灰度级进行展 宽,而对像素个数少的灰度级进行缩 减。从而达到清晰图像的目的。 用以改变图像整体偏暗或整体偏亮, 灰度层次不丰富的情况,将直方图的 分布变成均匀分布
2、 对比度展宽(灰度线性变换)
一、对比度展宽的目的:
是一点对一点的灰度级的影射。设新、旧图的 灰度级分别为g和f,g和f 均在[0,255]间变化。 实质是旧图到新图的灰度级的逐点映射。 g=G(f) 目的:将人所关心的部分强调出来。 特点:变换前后像素个数不变,但不同像素之间的 灰度差变大,对比度加大,视觉效果增强gγຫໍສະໝຸດ 255gbβ
ga
β
α
a b 255
f
a
b 255
f
2、对比度展宽 三、灰级窗切片:
只保留感兴趣的部分,其余部分置为 0。如: 0
g
255
a
b
255
f
2、对比度展宽
四、二值化图像: 可将多灰度的图像转换成黑白二值 图像;方法是对图像取一阈值,大 于该阈值的像素赋予灰度1,小于该 阈值的像素赋予灰度0
I ( x, y) e( x, y) g ( x, y)
g ( x, y) e ( x, y) I ( x, y)
1
1、灰度级的修正
灰度级修正的方法: (1)先用该系统对一已知亮度均匀的图像进行 记录,得到一个实际的“非均匀曝光”的图像, 求得是图像发生畸变的比例因子 (2)当用同一系统对其他图像进行记录时,便 可通过该比例因子求出理想图像
51
实验二 图像的灰度变换增强

实验二 图像的灰度变换增强一、实验目的1、 理解数字图像处理中点运算的基本作用;2、 掌握对比度调整与灰度直方图均衡化的方法。
二、实验原理1、对比度调整如果原图像f (x , y )的灰度范围是[m , M ],我们希望对图像的灰度范围进行线性调整,调整后的图像g (x , y )的灰度范围是[n , N ],那么下述变换:[]n m y x f mM nN y x g +---=),(),(就可以实现这一要求。
MATLAB 图像处理工具箱中提供的imadjust 函数,可以实现上述的线性变换对比度调整。
imadjust 函数的语法格式为:J = imadjust(I,[low_in high_in], [low_out high_out])J = imadjust(I, [low_in high_in], [low_out high_out])返回原图像I 经过对比度调整后的新图像J 。
其中[low_in high_in]为原图像中要变换的灰度范围,[low_out high_out]指定了变换后的灰度范围,灰度范围可以用 [ ] 空矩阵表示默认范围,默认值为[0, 1](注意:灰度范围只能在0~1之间)。
例:I = imread('pout.tif');J = imadjust(I, [0.3 0.7], [ ]); %输出灰度范围为默认范围,即为[0, 1] imshow(I), figure, imshow(J)不使用imadjust函数,利用matlab语言直接编程也很容易实现灰度图像的对比度调整。
但运算的过程中应当注意以下问题,由于我们读出的图像数据一般是uint8型,而在MATLAB的矩阵运算中要求运算变量为double型(双精度型)。
因此读出的图像数据不能直接进行运算,必须将图像数据转换成双精度型数据。
MATLAB中提供了这样的图像数据类型转换函数:im2double函数,其语法格式为:I2 = im2double(I1)该函数将I1的各元素除以255后转换为0~1内的双精度型数据。
数字图像处理实验二图像灰度变换

实验二图像灰度变换实验一、实验目的熟悉亮度变换函数的使用熟悉灰度图像的直方图的表示;掌握图像增强的基本方法:灰度变换、直方图均衡;二、实验内容灰度线性变换、灰度直方图、直方图均衡处理;灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。
灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。
三、实验原理1.函数imad just函数imad just是对灰度图像进行亮度变换的基本命令,语法为:g = imadju st(f, [low_in high_in], [low_ou t high_out], gamma)将图像f中的亮度值(灰度值)映射到新图像g中,即将low_in至hi gh_in 之间的值映射到low_out至high_out之间的值。
low_in以下的灰度值映射为l ow_o u t,high_in以上的灰度值映射为h igh_out,函数imad just的矩阵[ ]内参数均指定在0和1之间,[low_in high_i n]和[low_ou t high_ou t]使用空矩阵[ ]会得到默认值[0 1]。
若high_out小于l ow_ou t,则输出图像会反转。
参数gamm a指定了曲线(变换函数)的形状,若gamma小于1,则映射被加权至更高(更亮)的输出值;若gamma大于1,则映射被加权至更低(更暗)的输出值。
若省略了函数的参量gamma,则gamma默认为1——即线性映射。
>>f = imread(‘filename’)>>imshow(f)>>g1 = imadju st(f, [0 1], [1 0]); %图像反转>>figure, imshow(g1) %figure命令表示同时显示多个窗口>>g2 = imadju st(f, [0.5 0.75], [0 1]);%将0.5至0.75之间的灰度级扩展到范围0和1之间>>figure, imshow(g2)>>g3 = imadju st(f, [ ], [ ], 2) %使用gamm a值>>figure, imshow(g3)2.直方图处理与函数绘图图像的直方图定义为离散函数:h(r k) = n k绘制图像的直方图,函数imhi st,语法为:h = imhist(f, b)f为输入图像,h为直方图h(r k),b是用于形成直方图的灰度级个数,若b省略,则默认值为256。
实验报告二灰度级修正

实验报告二姓名:学号:班级:实验日期: 2016.5.9 实验成绩:实验题目:图像灰度级修正一.实验目的(1)掌握常用的图像灰度级修正方法,包括图象的灰度变换和直方图均衡化法,加深对灰度直方图的理解。
(2)掌握对比度增强、直方图增强的原理,方法。
二.实验原理灰度变换在空间域中进行,它是将原图像的灰度级按照一定的线性或是非线性函数映射到指定的灰度级上,起到图像增强、突出细节等作用,直方图均衡化则是在频域上对灰度值的频谱密度分布更加均匀化,能起到增强对比度的作用。
三.实验内容及结果(1)读入一副灰度图像Image.bmp,调整灰度的图像细节更容易看清,应用非线性点运算(对数变换),显示灰度变换前后的像。
图1灰度对数化和指数化运算(2)习题3.14,使用MATLAB语言构建两幅图像的矩阵,再对两幅图像进行3×3均值模板进行模糊处理,比较模糊前后两幅图像的直方图(imhist)。
图2 均值滤波及直方图(3)任意选择一副灰度图像,使用函数histeq将其均衡化成32个灰度级数的直方图。
图2 均值滤波及直方图四.结果分析(1)观察图一,显然原图像由于球体偏暗,导致球上的花边纹细节不够清晰,在对其灰度进行对数运算过后,球的亮度显然增加,球上的花边纹也由此显得清晰可见,这正是因为对数曲线的特征决定的,它能将输入中范围较窄的低灰度级映射为输出中较宽的灰度级,相反的,对高的灰度值也是如此,起到了扩展图像中暗的灰度,同时压缩更高的灰度级的值,所以球上花纹由于球体亮度的增大而突出起来,同样伽马变换中gama值小于1时和对数变换效果一样,而当gama值大于1时则和对数变换效果相反。
(2)观察图二中的黑白交替的原图在空间域的规律性交替变换或是说周期交替变换,在频率域上频谱为纯净的两根谱线,经过均值滤波器平滑处理之后,谱线增多且改变了原来谱线的幅值和相位,这些变化是由于滤波器模板本身的系统响应所带来的对频谱的加工,在观察图一滤波后的空间域图像,发现四周角灰度值特殊,感觉有四条粗线,观察图二滤波后的图更明显,会发现最左边的白没有接触黑,但是在滤波过后却变灰了,所以说,最左边的白并不真的不和黑相邻,由于图片的周期性,它其实是和最右边的黑相邻的,这就是由于图片的周期性决定的。
数字图像处理实验02图像灰度级修正

数字图像处理实验02图像灰度级修正一、数字图像处理实验实验二图像灰度级修正一、实验目的掌握常用的图像灰度级修正方法,即图象的灰度变换法和直方图均衡化法,加深对灰度直方图的理解。
观察图象的增强效果,对灰度级修正前后的图像加以比较。
二、实验内容1. 编程实现图像的灰度变换。
改变图像输入、输出映射的灰度参数范围(拉伸和反比),观看图像处理结果。
2. 修改可选参数gamma 值,使其大于1、等于1和小于1,观看图像处理结果。
3. 对图像直方图均衡化处理,显示均衡前后的直方图和图像。
三、实验原理灰度级修正是图像空间域的增强方法,它以图像的灰度映射变换为基础,直接对图像中的像素进行处理,主要是利用点运算来修改图像像素的灰度。
其变换函数通常可写作如下的简单形式:)(r T s = (2.1)其中,r 表示图像f 中相应点(x,y)的灰度,s 表示图像g 中相应点(x,y)的灰度。
1. 灰度变换1)图像增强常用的三个基本灰度变换类型函数有:线性的(正比和反比)、对数的(对数和反对数变换)、幂次的(n 次幂和n 次方根变换)。
线性变换为最一般的函数。
假定原图像),(y x f 的灰度范围为],[b a ,希望变换后图像),(y x g 的灰度范围扩展至],[d c ,则线性变换可表示为公式(2.2)所示:图1.2 灰度范围的线性变换2)幂次变换用于图像获取、打印和显示的各种装置根据幂次规律进行响应。
幂次变换的基本形式为:γcr s = (2.3)其中s 为变换后的图像灰度级,c 和r 为正常数。
当1==r c 时,将简化为正比变换。
幂次等式中的指数是指伽马值。
用于修正幂次响应现象的过程称作伽马校正。
2. 直方图均衡化直方图均衡是直方图修正技术中的一种常用的方法。
1) 采用灰度频数直方图统计一幅数字图像在范围],0[G 内总共有L 个灰度级,其直方图定义为离散函数k k n r h =)( (2.4)其中,k r 是区间],0[G 内的第k 级亮度,k n 是灰度级为k r 的图像中的像素数。
图像灰度级修正

图像灰度级修正一、实验目的:掌握常用的图像灰度级修正方法,即图像的灰度变换法和直方图均衡化法,加深对灰度直方图的理解。
二、实验内容:(1) 编程实现图像的灰度变换。
改变图像输入、输出映射的灰度参数范围(拉伸和反比),观看图像处理结果。
(2) 修改可选参数gamma值,使其大于1,等于1和小于1,观看图像处理结果。
(3) 对图像直方图均衡化处理,显示均衡前后的直方图和图像。
实验图像选用hor256或vax256。
三、实验方法及编程:function newbuf=GrayTransf(oldbuf)% ************************************************************************ % 函数名称:% GrayTransf() 灰度变换函数% 参数:% oldbuf 原图像数组% newbuf 存放处理后的图像二维数组% 说明:% 可以任意指定输入图像需要映射的灰度范围和指定输出图像所在的灰度范围。
还可接% 受一个可选的参数来指定修正因素r。
% ************************************************************************ [M,N]=size(oldbuf);newbuf=imadjust(oldbuf,stretchlim(oldbuf),[]);newbuf=uint8(newbuf);%-------------------------------------------------------------------------function newbuf=GrayGamma(oldbuf,r)% ************************************************************************ % 函数名称:% GrayGamma() gamma校正函数% 参数:% r gamma校正值% oldbuf 原图像数组% newbuf 存放处理后的图像二维数组% 说明:% 图像获取、打印和显示的各种装置是根据幂次规律进行响应的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2 灰度修正技术
一、 实验目的:
1. 掌握灰度变换
2. 深入理解图像直方图的概念,掌握图像直方图的绘制方法
3. 掌握直方图均衡化的原理,并会用直方图均衡化对图像进行处理
二、 实验原理
2.1灰度修正技术
包括直接灰度变换和直方图修正,其目的是增强图像的对比度,使图像更加清晰。
1.灰度变换
灰度变换是一种最简单的图像增强技术,它属于点操作,这种变换方法有多种,如线性变换、对数变换、幂次变换等。
(1) 线性变换
所谓线性变换是指:输出图像灰度值g 和输入图像灰度值f 之间的函数关 系是线性关系。
由图2-1(a)所示的线性变换可知,输出图像灰度值g 的表达式可以写成
M m f M m f m
n M N g +-=+---=)()(α (2-1) 若α > 1,则输出图像对应的灰度范围扩大,对比度增强;若0 < α < 1,则输出图像对应的灰度范围压缩,对比度减小;若α < 0,则图像灰度值求反(见图2-1(b)),使白变黑,使黑变白。
(a) (b)
图2-1 灰度线性变换 (a)线性变换;(b)求反.
(2) 对数变换
设输入图像灰度值为非负值,即0≥f ,则对数变换的数学表达式为
)1log(f c g += (2-2)
式中c 是一个可以调整的常数。
当1=c 时,对数变换曲线如图2-2所示。
由图可以看出,窄范围的低灰度输入图像值映射为一宽范围输出值,而宽范围的高灰度
值映射为一窄范围的输出值,即暗像素的灰度值范围被扩大,而亮像素的灰度值范围被压缩,这就使低灰度区域的图像细节能够获得清晰的显示。
对数变换能有效地压缩图像的动态范围,其典型应用是图像Fourier 频谱的显示。
Fourier 幅度谱的动态范围很大,其数值在0至106数量级范围内变化,而普通显示器的动态范围只有8比特,如果不经对数变换而直接显示,则低数值的细节就无法显示出来。
图2-2 对数变换
(3) 幂次变换
幂次变换的数学表达式可以写成
γf c g ⋅= (2-3)
式中γ,c 均是正的常数。
对于不同的γ值,幂次变换曲线如图2-3所示,图中所有曲线均对应于1=c 的情况。
由图可见,当1<γ时,幂次变换将扩大暗像素的灰度值范围,压缩亮像素的灰度值范围,这类似于对数变换;与此相反,当1>γ时,幂次变换将压缩暗像素的灰度值范围,扩大亮像素的灰度值范围;当1=γ时,幂次变换简化为线性变换。
图2-3 幂次变换
幂次变换常用来对各种CRT 显示器进行γ校正。
(4) 灰度修正的MATLAB 函数
在MATLAB 中,灰度修正函数为 imadjust ,其调用格式为
J=imadjust(I,[low high],[bottom top],gamma);
该语句中的I 为输入图像,[low high]是其需要变换的灰度范围;J 为灰度变换后的输出图像,[bottom top]是输出图像相应的灰度范围;gamma 是灰度变换的参数γ。
2.2直方图修正
1.直方图原理
离散图像的灰度直方图是指图像中每一个灰度级与该灰度级像素个数之间的 统计关系。
设n k 是灰度级为s k 的像素个数,则图像灰度直方图可表示为:
k k n s h =)( (2-4)
若图像的像素总数为n ,则可得到归一化的灰度直方图如下:
n
n s p k k =)( (2-5) 这是一种概率表达形式,)(k s p 是灰度级为s k 出现的概率。
Matlab 中提供了IPT 函数imhist 来绘制图像的直方图,调用格式为
imhist(I,n);
此函数的功能是计算和显示灰度图像I 的直方图,n 为指定的灰度级数目(缺省值为256)。
但是除此之外绘制直方图的方法还有很多,可以通过条形图、杆状图等方式来表示直方图。
2.直方图均衡化
直方图均衡化主要用于增强动态范围偏小的图像的反差。
该方法的基本思想是把原始的直方图变换为均匀分布的形状,这样就增加了像素灰度值的动态范围,从而达到增强图像整体对比度的效果。
直方图均衡化一般采用原始图的累计分布函数作为变换函数。
假设灰度级归一化至范围[0, 1]内,pr(r)表示给定图像中的灰度级的概率密度函数,对于离散的灰度级,均衡化变换为:
∑∑=====k j j
k j j r k k n n r p r T s 11)()(
式中k=1,2,…,L ,sk 是输出图像中的亮度值,它对应于出入图像中的亮度值rk 。
直方图修正是通过改变图像灰度直方图的形状来达到图像增强的目的。
常用的方法有直方图均衡和直方图匹配,本实验使用直方图均衡来增强图像的对比度。
直方图均衡的基本思想是将待处理图像的直方图变为均匀分布的形式,从而增强图像的对比度。
图2-4 直方图均衡
图2-4给出了直方图均衡的实例。
图中(a)是一幅不清晰的汽车轮胎图像;
(b)是直方图均衡处理后的图像;(c)是图(a)的直方图;(d)是图(b)的直方图。
由图可以看出,直方图(c)很不均匀,大多数像素值集中分布在零附近的低灰度区,反映原图像偏暗而不清晰;直方图(d)比较均匀,反映图像(b)比原图像清晰。
在MATLAB 中,直方图均衡函数为histeq ,其调用格式为:
J=histeq(I,n) ;
此函数的功能是对图像I 作直方图均衡处理,并将处理结果返回J ,这里n 为灰度级数(缺省值为64)。
三、实验内容和要求:
1. 绘制图像pout.tif 的归一化的直方图,要求不使用IPT 函数imhist,并与使用imhist 的结果进行比较(对比结果图输出)。
2. 编写程序,对图像pout.tif 进行直方图均衡化,最好不使用IPT 函数
histeq,对均衡化前后的图像以及直方图进行对比。
3.灰度变换:选择一幅对比度不足的图像,对该图像进行灰度变换,增强对比度,显示增强前、后的图像以及它们的灰度直方图。
四、思考题[答案写进实验报告]
1.设定不同的斜率值和截距,显示效果会怎样?
2.直方图均衡化是什么意思?它的主要用途是什么?
3. 在数字X光医学图像中,每个像素值用12比特表示,但普通显示器的动态范围只有8比特,医生有时需要观察暗区的细节,有时要观察亮区的细节,请你设计一种处理方法,使医生可以自由选择某个灰度范围来观察图像的细节。
将设计方案写入实验报告。