图像处理灰度变换实验_第1页
图像处理灰度变换实验_第2页
图像处理灰度变换实验_第3页
图像处理灰度变换实验_第4页
图像处理灰度变换实验_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.实 验名称: 空间图像增强(一)一 实验目的1 熟悉和掌握利用 matlab 工具进行数字图像的读、写、显示、像素处理等 数字图像处理的基本步骤和流程。2 熟练掌握各种空间域图像增强的基本原理及方法。3 熟悉通过灰度变换方式进行图像增强的基本原理、方法和实现。4 熟悉直方图均衡化的基本原理、方法和实现。二 实验原理(一)数字图像的灰度变换灰度变换是图像增强的一种经典而有效的方法。 灰度变换的原理是将图像的 每一个像素的灰度值通过一个函数, 对应到另一个灰度值上去从而实现灰度的变 换。常见的灰度变换有线性灰度变换和非线性灰度变换, 其中非线性灰度变换包 括对数变换和幂律(伽马)变换等。1、线性

2、灰度变换1)当图像成像过程曝光不足或过度, 或由于成像设备的非线性和图像记录设 备动态范围太窄等因素, 都会产生对比度不足的弊病, 使图像中的细节分辨不清, 图像缺少层次。 这时, 可将灰度范围进行线性的扩展或压缩, 这种处理过程被称 为图像的线性灰度变换。 对灰度图像进行线性灰度变换能将输入图像的灰度值的 动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围。2)令原图像f(x,y)的灰度范围为a,b,线性变换后得到图像g(x,y),其灰度范 围为c,d,则线性灰度变换公式可表示为d/ d _cg(x,y)二|b-ac,f (x, y) b(1)f (x, y) - a c,a _ f(x

3、, y) _ bf (x, y) : a图1线性灰度变换示意图由(1)式可知,对于介于原图像f(x,y)的最大和最小灰度值之间的灰度值,可通过 线性变换公式,一一对应到灰度范围c,d之间,其斜率为(d-c)/(b-a);对于小于原 图像的最小灰度值或大于原图像的最大灰度值的灰度值,令其分别恒等于变换后 的最小和最大灰度值。变换示意图如图1所示。当斜率大于一时,变换后的灰度值范围得到拉伸,图像对比度得到提高;当 斜率小于一时,变换后的灰度值范围被压缩,最小与最大灰度值的差变小,图像 对比度降低;当斜率等于一时,相当于对图像不做变换。3)由上述性质可知,线性灰度变换能选择性地加强或降低特定灰度值范

4、围 内的对比度,故线性灰度变换同样也可做分段处理: 对于有价值的灰度范围,将 斜率调整为大于一,用于图像细节;对于不重要的灰度范围,将图像压缩,降低 对比度,减轻无用信息的干扰。最常用的分段线性变换的方法是分三段进行线性 变换。在原图像灰度值的最大值和最小值之间设置两个拐点, 在拐点处,原图像的 灰度值分别为ri, r2,该拐点对应的变换后的图像的灰度值分别为 si, S2,另外, 取原图像灰度的最小值为ro,最大值为rm,对应的变换后的灰度值分别为S0,Sm。 则分段线性灰度变换公式为邑盘f(x,y)ro+so,ro 兰 f(x,y)兰斤ri - roS2 S|g(x,y) = tf(x,y

5、)ri+si 兰 f(x,y)“2(2)绻 一f(x, yRQ+S2J2 兰 f(x, y)兰扁rm r2调整公式中的各个参数,即可得到不同的变换效果4)在线性灰度变换中,有一种特殊的变换,叫做图像反色。通过图像反色 变换,每一个像素点的变换前后的灰度值之和为白色(255)。图像反色的变换 公式为g(x,y) =L -1 - f (x, y)(3)当L取为256时,实现图像反转变色2、非线性灰度变换除了图像灰度的线性变换外,还有非线性灰度变换。非线性灰度变换不是对 图像的所有灰度值进行拉伸,一部分被拉伸,另一部分则会被压缩。非线性灰度 变换在整个灰度值范围内采用统一的变换函数。比较常见的有对数

6、变换和幕律(伽马)变换等。1) 对数变换设原图像为f(x,y),变换后的图像为g(x,y),对数变换的变换函数为g(x,y) =clog(1 f (x, y)(4)式中,c是一个比例因子,log是求以e为底的数值的对数,原图像灰度值加1 的目的是保证对数变化对于任何灰度值都有意义。c取适当的值,可得到对数变换的函数图像如图2所示。图2对数变换函数曲线由图2可知,通过对数变换,对于较低的灰度值起到较大程度的拉伸作用,而对于较高的灰度值起到压缩作用,从而将整幅图像的灰度值均匀化。2) 幕律(伽马)变换伽马变换可通过调节幕指数参数来改变其变换特性,设f(x,y)和g(x,y)分别为 变换前后的图像,

7、丫为幕指数,c为比例系数,则伽马变换的公式如下yg(x,y) =cf(x, y)(5)对于c为正值的情况,当 Y1时,伽马变换将低灰度值压缩,高灰度值拉伸;当Y1时,伽马变换将低灰度值拉伸,高灰度值压缩,类似对数变换;当Y1时,等同于对原图像进行线性变换。伽马变换的曲线图如图3所示0L/4L/23L/4Inpul inlerijjly level., r5it-Reuc二4 / 25图3不同丫下的伽马变换曲线图(二)直方图处理1、直方图的两种定义直方图是反映一幅图像中的灰度级与出现这种灰度级的次数或概率之间的关系的统计图表。直方图有两种定义,分别如下。1)定义1: 一幅灰度级范围在0,L-1的

8、数组图像的直方图定义为以下离散 函数:h(m) = nk(6)其中rk是第k个灰度级,nk是图像中灰度级为rk的像素个数,k=0,1,2.L-1。2)定义2: 一幅灰度级范围0,L-1的数组图像的直方图定义为以下离散函 数:Pg)n其中rk和nk的意义同定义1, n是指图像的像素总数。此处,直方图便是图像中 不同灰度级像素出现的概率。通过观察一幅图像的直方图可以判断这幅图像的对比度和清晰度, 也可以掌 握图像的明暗程度。但是直方图只能反映灰度值出现的概率, 并不能反映各个灰 度值在空间的分布情况。2、直方图的均衡化直方图的均衡化是将原图像的直方图通过变换函数修正为均匀的直方图,然后按照均衡后的

9、直方图修正原图像。 图像均衡化后,理论上,图像的直方图完全 平直,即各个灰度级具有近似相同的出现频率。直方图均衡化的作用就是实现了灰度级的均匀分布,增加了图像的对比度,使得图像看起来更清晰。直方图均衡化的原理和方法如下。 设r和s分别表示归一化了的原图像灰度 和经直方图修正后的图像灰度。在0,1区间内,对任意一个灰度级r,可通过一5 / 25种对应法则对应到灰度级s,设这种对应法则为T,则s=T(r)(8)为了使变换后的灰度仍保持从暗到亮的单一变化顺序,且变换范围与变换前保持 一致,以避免整体变量或变暗,一般规定:正变换,在OWW1中,T(r)为单调递增函数,且OWT(r) W;反变换,r=T

10、-1(s),T-1(s)也为单调递增函数,即0QW1 考虑到灰度变换不影响像素的位置分布且不增减像素数目,所以有rT(r) p(r)dr(9)而实际图像是有许多离散的像素点和离散的灰度级构成的,对于离散的情况,均衡化后的效果将受到一定限制,不一定绝对平整。离散情况下的均衡化方 法如下。设一幅图像的像素总数为n,分为L个灰度级。若nk为第k个灰度级出现的 频数,则第k个灰度级出现的概率为p(rk)=nk/n,其中,OWk=1 k=0,1,2,L-1。 变换后的灰度为kk nSk =T(m)P(rJ(10)j =oj=o n可以看出,离散情况下的直方图均衡化是将连续的积分转化为离散的叠加求和,可近

11、似得到直方图平直的效果。三. 实验器材PC, MATLAB软件(各版本),若干幅图像四. 实验步骤(一)数字图像的灰度变换1、线性灰度变换1)在MATLAB中用imread函数读取原图像,将其赋值给某个矩阵,如11,进而用imshow函数显示。2)检测图像的通道数目,即检测矩阵的高度,若超过了 1个通道,将矩阵灰 度化,变为单通道的灰度图。3)将矩阵中所有的8位整形元素转换为double型,便于计算的更精确,特 别是进行除法运算的时候。4)用max函数和min函数得到原图像中灰度的最大值和最小值。5)预分配一个内存给矩阵12,对矩阵中的每一个元素进行循环检测, 并将每 一个元素的灰度值带入线性

12、灰度变换公式,即公式 (1),其中,令d=250,c=10。 将每一个变换后的像素灰度存入矩阵I2的相应元素位置上。6)将变换后的矩阵转换为8位整形,并将其显示出来,以另一个文件名的形 式保存。7)绘制变换前后两幅图像的灰度直方图,将其与相应的图像一起,用一张图 展示出来。8)绘制函数曲线。具体实验的流程图如图4所示幵抬输AS并将图灰度化返回担阵尺寸.行为r*乳为匕逅昼示转换为塑L回惡度诵憤,最小为k最大为b輸 Ad-250图4线性灰度变换实验流程图2、非线性灰度变换1)在 MATLAB 中用 imread 函数读取原图像,将其赋值给某个矩阵,如I1,进而用 imshow 函数显示。2)检测图

13、像的通道数目,即检测矩阵的高度,若超过了1 个通道,将矩阵灰度化,变为单通道的灰度图。3)将矩阵中所有的 8 位整形元素转换为 double 型,便于计算的更精确,特 别是进行求对数运算的时候。5)预分配内存给矩阵12, 13,用于存放对数变换和伽马变换后的图像灰度值。4)对数变换:取比例系数c=5,对原图像的每一个像素进行循环检测,并将其灰度值代入公式 (4)进行对数变换,将变换后的灰度值存在矩阵I2 的相应元素位置上。5)对图像进行显示,由于经过对数变换后,所有的灰度值均处于较低水平, 直接显示将导致图像过暗不便观察。所以,采用 MATLAB 内部的拉伸方式将图 像显示,函数为 imsho

14、w(I2,) 。6) 伽马变换:合理设置比例系数和指数,以免变换后的灰度值超过255。取比例系数c=1/255,指数 y2,对原图像的每一个像素进行循环检测,并将其灰 度值代入公式 (5)进行伽马变换,将变换后的灰度值存在矩阵I3 的相应元素位置上。7)对图像进行显示,也采用 MATLAB 内部的拉伸方式将图像显示,函数为 imshow(I3,) 。8)利用 plot 函数和 hold on 命令将对数变换和伽马变换的函数曲线绘制在同 一幅坐标图上。对数变换和伽马变换的实验流程图如图 5所示。开蛤(ft入原图,井将厲图巫JS化返回矩阵尺寸r行为列为匕返| 显示 1转换为double型回灰度戴值

15、,最小为即*大为b谕 2*255;C=5jl=l;j=lYESl;、NOj=l输出变按 后的閔懾;NO1LVCS亠绘制曲蹊囹l=i+i冃+1结束图5非线性灰度变换流程图说明:本实验将对数变换和幕律(伽马)变换均做了练习。(二)直方图处理1)在MATLAB中用imread函数读取原图像,将其赋值给某个矩阵,如11,进而用imshow函数显示。2) 检测图像的通道数目,即检测矩阵的高度,若超过了1个通道,将矩阵灰 度化,变为单通道的灰度图。3)统计矩阵的行列数。4) 利用统计带有某个灰度的像素的数目绘制直方图。在MATLAB中,对灰度级0-255依次寻找,可用find函数找到带有相应灰度的像素的位

16、置,再用length 函数求出这些位置的数目,即像素的个数,结合bar函数或stem函数绘制原图像的灰度直方图;将各灰度的像素个数除以总像素数,得到第二种定义下的灰度 直方图,即灰度出现概率,绘制。5) 对第二种定义下的灰度直方图进行操作。从灰度为0开始,对于该灰度出现的概率,与之前的灰度概率总和进行叠加,直到255,总和为1。6)用255与每一个灰度所在的概率和相乘, 再四舍五入,将不同的概率归并 为同一概率7)对照该对应法则,将原图中相应位置的灰度进行替换,图像得到均衡化, 对比度得到提高,将图像显示出来。8)再利用之前的方法,绘制均衡化后的灰度直方图,分析结果找到规律。直方图均衡化的流程

17、图如图6所示开始四舍五入*$=ri551r原图中庚度直沖i的 嵋羅衬应*50*1)返回狂阵尺寸* |tr列匚; 返回抚度虽僅显示均击化后的1结束“用上述算址巍制 玄方團图6直方图均衡化流程图1=0YES11 NO计寡嘅 率时找到抚憧值 等于,的像 辜井统计其J绘H直方图i2i+lJ-2256” ND五. 实验结果及分析(一)数字图像的灰度变换1、线性灰度变换实验结果:1)将原图片和线性变换后的图片以及其灰度直方图绘制在同一张图片上, 得到如图7所示结果。蛭性灰度娈换后的国片姿棧后遛片灰度直方團图7线性灰度变换前后的图像和灰度直方图由实验结果可知,原图片的灰度值情况如下:最小灰度为49,最大灰度

18、为181,较多出现的灰度值主要集中在 120到160之间。实验中,我们规定,变换后的图像的最低灰度值为10,最高灰度值为250,实现线性灰度变换,得到图7中的结果。2)绘制本实验中的线性灰度变换函数曲线。本实验中线性灰度变换的函数 曲线如图8所示。图8线性灰度变换的曲线图由图8知,当灰度小于等于49时,变换后的灰度值等于10;当灰度值大于 等于181时,变换后的灰度值等于250;当灰度值介于49和181之间时,变换 后的灰度值通过线性变换函数与原灰度值一一对应。结果分析:线性灰度变化将原图像的每一个灰度进行了线性变换,拉伸(或压缩了)原图像的灰度范围,但是不改变具有各灰度值的像素的数量, 不改

19、变灰 度的分布,即不改变灰度直方图的形状。本实验中,将灰度范围做了线性的拉伸 变换从而扩大了灰度范围,故原图像的最高灰度值增大,最低灰度值减小,从而 实现了图像对比度的增大。2、非线性灰度变换实验结果:输入原图像,并将原图像显示出来,得到结果如图 9所示。图9原始图像由图9可得,原图像是一个具有高、低灰度值的图像。令比例系数c=5,对原图像进行对数变换,并用 MATLAB内部方法对图像的灰度范围进行拉伸,即imshow(,),得到如图10所示的图像。迪过对割銮腆后的屋腺图10通过对数变换并拉伸后显示的图像结果分析:从图10中得知,人物部分的像素灰度值变得近似相等,背景部 分的像素灰度仍保持较低

20、水平。这是由灰度变换的特性决定的,灰度变换可将高 灰度值部分有效地压缩,低灰度部分有效地拉伸,使得整幅图像的灰度保持在十 分接近的水平。对原图进行伽马变换,令指数 丫 =2令比例系数c=1/255,这是为了保证经 过伽马变换后,原图的灰度值的最大值不会超过 255的充分条件。经过伽马变换 后,得到如图11所示结果。通过伽马娈瓠后的国懂图11通过伽马变换并拉伸后显示的图像结果分析:由图11可以看出,原图中人物较暗的部分变得更暗,相比之下,原本亮的地方,变得相对更亮,但与原图比稍显暗,这是由比例系数的设定所致 如果考虑原图经过斜率为1的线性变化后仍为原图,而伽马变换在0至255范围 内的整个函数曲

21、线均在y=x之下,所以灰度值不会比原图高,但自身的高低灰度 级间相对差值变大。将本实验中对数变换和伽马变换的曲线绘制在同一幅坐标图中,得到如图12所示的结果。图12对数变换和伽马变换的函数曲线图结果分析:从图12中可以看出,对数变换的曲线整体处于较低水平,若要 将其调高,可通过调整比例系数 C,或在显示时再次进行一定的拉伸,如线性灰 度变换;为防止伽马变换后的灰度值超过255,其比例系数的设定也必须要合理(二)直方图处理实验结果:读取原图像,并显示,得到结果如图13。原團图13原始图像由图13知,原图像是一幅对比度较低,高低灰度不明显的图像。通过自己编程(拒绝imhist函数)从灰度值为0开始

22、,对每一个灰度拥有的 像素数目进行统计,其中自变量为灰度,因变量为该灰度出现的次数或频率, 绘 制出两种定义下的灰度直方图如图14所示。厢因灰度级出现的次數宜方国图14原始图像在两种定义下的直方图(自己编程)结果分析:从图14中得到,原图像的灰度值主要分布在80到150之间的很 集中的范围内,最高灰度值与最低灰度值差距不大,造成了原图像的对比度偏低。 如果能将这部分主要集中的灰度均衡化, 均匀地分布在0到255之间,对改善图 片对比度有较大帮助。通过离散情况下的直方图均衡化的原理和方法,将原图进行均衡化,得到结 果如图15所示。图15均衡化后的图像(自己编程)30 / 25结果分析:在图15中

23、,图像的对比度得到明显的改善,亮的地方灰度值更 高,暗的地方灰度值更低,且没有出现杂乱无章的现象。将均匀化后的灰度直方 图绘制,得到如图16所示的直方图。均衝后国傕灰度级出观应数点冇国6000 !f11-4000 -200( | .0501001502CO250均衡后国僅灰度怨出现葩率直方團0 06口凹0.02%5Q10C160300250图16均衡化后的两种定义下的直方图(自己编程)结果分析:从图16可以得出,直方图明显得到均衡化,分布在 0到255整 个空间中,且没有出现某个区域过于集中的情况。 但由于离散情况的限制,直方 图不能绝对地均匀平缓,只能得到近似的均衡化。六.实验心得体会和建议

24、基于 MATLAB 光电图像处理实验巩固了我们在课上学的图像处理原理和方 法,锻炼了我们的逻辑思维能力和动手能力。 在实验过程中尤其应当注意矩阵的 尺寸、矩阵元素的数据类型和矩阵的非线性运算操作如乘除。 当对于每一个元素 操作时可采用循环语句逐一操作。 为了运算更精确, 建议将矩阵的数据类型改为 double型,根据需要,在显示时转换回8位整形。下一步,应当在算法优化的角 度多做练习,使得算法更加简捷准确。七.程序源代码(一)数字图像的灰度变换1、线性灰度变换% 图片的线性灰度变换clear,clcI1=imread( huitu.jpg );%读取图片文件 huitu.jpg ,赋值给矩阵

25、I1%图片的提取路径需在 MATLAB 命令窗口设置好subplot(2,2,1),imshow(I1); title( 原图片 );if size(I1,3)1%在一张2 X 2图的第1个位置显示11I1=rgb2gray(I1);%满足条件, 将看似为黑白图的多通道图转化为灰度图endI1=double(I1);%将图片灰度的数据类型转变为 double 型%这一部转化很重要,在后续的计算中,尤其是除法,运算结果能保证更高的精度lo,wi=size(I1);%获得矩阵 I1 的行列尺寸, 以备单个像素处理时的循环算法a=min(min(I1);%得到原图 (I1 )所有像素灰度的最小值b=

26、max(max(I1);%得到原图 (I1 )所有像素灰度的最小值I2=zeros(lo,wi);%初始化矩阵 I2 ,为处理后的图像分配内存c=10;d=250;%设置灰度线性拉伸后的灰度最小值和最大值%接下来,对矩阵 I1 中的逐个像素进行线性灰度变换,并存到 I2 相应位置for i=1:lofor j=1:wiI2(i,j)=(d-c)/(b-a)*(I1(i,j)-a)+c;%线性灰度变换公式endendI1=mat2gray(I1);I2=mat2gray(I2);%将变换后的矩阵 I1 、I2 转换为 8 位整型subplot(2,2,2),imshow(l2);%在一张 2X2

27、 图的第 2 个位置显示 12title( 线性灰度变换后的图片 );imwrite(l2, 线性灰度变换后的图片 .bmp , bmp )%以另一个文件名形式保存图像subplot(2,2,3),imhist(l1);%在一张2X2图的第3个位置显示I1 的灰度直方图ylim(0,7000),title( 原图片灰度直方图 );subplot(2,2,4),imhist(l2);%在一张2X2图的第4个位置显示I2的灰度直方图ylim(0,7000),title( 变换后图片灰度直方图 );% 画灰度变换曲线x=0:255;%设置 0 到 255 共 256 级灰度级y=zeros(1,25

28、6);%设置全 0 向量, 为线性灰度变换后的数值分配内存%按灰度级,从 0 到 255 开始循环,即 x(1) 到 x(256)for i=1:256if x(i)=a&x(i)by(i)=d;%当原图灰度介于a,b之间,用公式变换endendfigure,plot(x,y)%创建新的图片窗口,显示变换函数曲线title( 线性变换曲线图 ),xlim(0,255),ylim(0,255)ylim(0,255);%限定横坐标范围为 0 到 2552、非线性灰度变换% 对图像做非线性变换clear,clcI1=imread( Ein.jpg );%读取图像文件 Ein.jpg ,赋值给矩阵 I

29、1figure,imshow(I1);%创建一个图像显示窗口并显示图像title( 原图像 )if size(I1,3)1I1=rgb2gray(I1);%满足条件, 将三通道的图片变为灰度图endI1=double(I1);%将图片的数据类型转变为double 型,以便后续计算准确lo,wi=size(I1);%得到矩阵 I1 的行数和列数, 即像素个数I2=zeros(lo,wi);I3=zeros(lo,wi);%创建两个全零矩阵用于存放对数和伽马变换后的矩阵% 对图像做对数变换c=5;d=1/255;%令对数变换中的比例系数为5 ,伽马变换中的比例系数为 1/255%对每一个像素的灰度

30、值,用循环分别进行变换 for i=1:lo%对数变换公式for j=1:wiI2(i,j)=c*log(1+I1(i,j);end endI2=mat2gray(I2);%必须将 double型的矩阵还原为 8 位整型才能显示figure,imshow(I2,)%显示时由于灰度太低,需要 MATLAB 的内部方式进行拉伸title( 通过对数变换后的图像)imwrite(I2, 通过对数变换后的图像.bmp , bmp )%保存成一个新的文件% 对图像做伽马变换for i=1:lofor j=1:wil3(i,j)=d*l1(i,jF2;%伽马变换公式, 指数为 2endendl3=mat2

31、gray(l3);%还原为整型figure,imshow(l3,)%创建图像窗口,也要伸展显示title( 通过伽马变换后的图像 )imwrite(l3, 通过伽马变换后的图像.bmp , bmp )%保存成一个新文件% 显示对数变换和伽马变换的函数曲线x=0:255;y1=zeros(1,256);y2=zeros(1,256);%规定 x 坐标,并且为非线性变换后的数值分配内存%对每一个灰度级进行相应的变换for i=1:256y1(i)=c*log(1+x(i);y2(i)=d*x(iF2;end%在同一幅坐标图上绘制两个变换函数figureplot(x,y1),holdonplot(x

32、,y2)%创建新窗口, 显示xlim(0,255),ylim(0,255)title( 对数,伽马变换曲线图 )(二)直方图处理% 读取原图像,并绘制原图像在两种定义下的直方图I1=imread( youngboy.jpg);%读取图像文件 youngboy.jpg 并赋值给 I1figure,imshow(I1)%创建一个图像窗口,显示图像 youngboy.jpgtitle( 原图 ) if size(I1,3)1I1=rgb2gray(I1);%满足条件时将彩图灰度化endlo,wi=size(I1);%获取图像矩阵的长和宽greylevel=0:255;%创建存储灰度级的向量hi=ze

33、ros(1,256);%为各灰度级的像素数目分配内存p=zeros(1,256);%为各灰度级的像素出现的频率分配内存for i=1:256hi(i)=length(find(I1=greylevel(i);寻找等于第 i 个灰度级的像素并统计个数p(i)=hi(i)/(lo*wi*1.0);% 统计上式结果出现的频率, 其中分母出现 1.0 是为了采用 double 型进行操作end%创建一个图像窗口,同时显示两种顶一下的直方图,灰度级为横坐标,hi 和 p 为纵坐标figuresubplot(2,1,1),stem(greylevel,hi)xlim(0,255)title( 原图灰度级出

34、现的次数直方图 )subplot(2,1,2),stem(greylevel,p)xlim(0,255)title( 原图灰度级出现的频率直方图 )% 直方图的均衡化s=zeros(1,256);s(1)=p(1);for i=2:256%对于每一个灰度级出现的概率, 进行累加操作s(i)=p(i)+s(i-1);%用 255 与求和结果相乘, 并四舍五入, 将相似的灰度级归为一起 %为均衡化的图像分配内存endH=round(255*s);I2=zeros(lo,wi);%对新图的每一个像素的灰度级进行操作for i=1:lofor j=1:wiI2(i,j)=H(I1(i,j)+1);%均衡化后的图像的第 (i,j) 个像素等于原图该像素对应的灰度值被映射后得到的新灰度endend%显示均衡化后的图像, 必须取整型figure,imshow(mat2gray(l2);title(直方图均衡化后的图像)%绘制均衡化后的图像的直方图for i=1:256hi2(i)=le ngth(fi nd(l2=greylevel(i);p2(i)=hi2(i)/(lo*wi*1.0);end%在同一幅图中显示两个直方图figuresubplot(2,1,1),bar(greylevel,hi2)xlim(0,255)title(均衡后图像灰度级岀现次数直方图su

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论