MATLAB直方图均衡算法

MATLAB直方图均衡算法
MATLAB直方图均衡算法

直方图均衡

一、直方图的定义

假设图像在区间[0,G]内共有L 个灰度级,其直方图定义为离散函数:

h(r k )=n k

其中r k 为区间[0,G]内的第k 级灰度值,n k 为灰度值是r k 的像素个数。

使用所有元素的h(r k )除以图像中的像素总数n 可以得到归一化直方图,即:

p(r k )=n k /n

其中k=1,2,…,L 。p(r k )表示灰度级r k 的出现概率。

二、绘制直方图

利用MATLAB 内嵌函数imhist 可绘制直方图,基本语法为:h =imhist(f,b)

其中,f 为输入图像,h 为直方图h(r k ),b 是直方图中显示的灰度级的个数,即h 中所含元素的个数,默认为256。

三、直方图均衡算法

假设灰度级为归一化至范围[0,1]内的连续量,并令p r (r)表示某个给定图像中的灰度级的概率密度函数(PDF),假设作如下变换得到输出灰度级s 为:

0()()r r s T r p w dw ==?\*MERGEFORMAT (1)

其中s 同样为随机变量,则s 的PDF 由下式可得:

()()s r dr

p s p r ds =\*MERGEFORMAT (2)

对式(1)的定积分求导得:

()()r ds dT r p r dr dr ==\*MERGEFORMAT (3)

将式(3)代入式(2)可得p s (s)=1,即s 属于均匀分布,考虑去归一化后,s 的值域为[0,G],与r 的取值范围一样。实际应用中,图片的灰度值一般不连续,我们可以用出现频率(直方图值)与求和代替PDF 和积分,即:

00()()k k j k k r j i i n s T r p r n =====∑∑\*MERGEFORMAT (4)

其中,n 为图像中像素的总数。由上式可知,由于输入直方图是PDF 的近似,所以输出s 并不一定满足绝对的均匀分布,但其具有展开输入直方图的趋势。

四、仿真验证

MATLAB代码:

img_ori=imread('5.jpg');%读取原图

img_gray=rgb2gray(img_ori);%将原图转换为灰度图

[img_eq T]=histeq(img_gray);%直方图均衡,T为变换函数

subplot(2,2,1,'position',[00.550.240.4]),imshow(img_gray);%显示原图

title('原图');

subplot(2,2,2,'position',[0.30.550.60.4]),imhist(img_gray);

title('原图的直方图');

subplot(2,2,3,'position',[00.050.240.4]),imshow(img_eq);%显示处理后的图片

title('直方图均衡后图片');

subplot(2,2,4,'position',[0.30.050.60.4]),imhist(img_eq);

title('均衡后的直方图');

仿真结果1:

结果讨论:如上图所示,原图像素的灰度值大多集中在150-255之间,使得图像颜色发白,在直方图均衡后,原直方图被相应展宽,各灰度级的像素个数较为平均,使得输出图像对比度有明显提高。

仿真结果2:

结果讨论:如上图所示,原图为夜间拍摄的灯景图,经直方图均衡后,输出图像有过多的白斑,使整体效果偏亮。这是因为原图大部分像素的灰度值集中在50-150之间,MATLAB直方图均衡算法默认的映射函数会使处理后图像灰度值在150-255之间的像素点增多,从而影响处理效果。解决的方法是考虑直方图规定化,即人为设置映射(变换)函数T,减小其在低灰度级处的上升速率,使得均衡后的直方图低灰度级部分不过分移向右端。

基于Matlab编程仿真的直方图均衡化图像质量改善

基于直方图均衡的图像质量改善 班级:测控1004学号:2013270162姓名:杨明 摘要:为了解决灰度图像的灰度值分布集中在较窄的范围内,图像的细节不够清晰,对比度较低的问题。通过直方图均衡化使图像的灰度范围拉开或使灰度均匀分布,从而增大反差,使图像的细节清晰,以达到增强目的,直方图均衡化可得到任意的均匀直方图灰度图像。直方图均衡化是一种行之有效的图像增强方法,直方图均衡化是将原灰度图像的直方图通过变换函数变为均匀的直方图,然后按均匀直方图修改原图像,从而获得一幅灰度分布均匀的新图像。基于Matlab编程和工具箱的使用,实现图像直方图均衡化的图像仿真。 关键词:直方图均衡化;图像增强;Matlab Abstract: In order to solve the gray image gray value distribution concentrated in a narrow range of image detail is not clear enough, the problem of low contrast. Gray histogram equalization range so that the gradation image or pulled evenly distributed, thereby increasing the contrast, so that a clear image detail, in order to achieve the purpose of enhancing, histogram equalization histogram obtained arbitrary uniform gray image . Histogram equalization is an effective method for image enhancement, histogram equalization is the histogram of the original gray-scale image by histogram transformation function becomes uniform, a uniform histogram modification then the original image, thereby obtaining a a gray uniform distribution of the new image. Matlab toolbox based programming and the use of image histogram equalization image simulation. Keywords: histogram equalization; image enhancement; Matlab

数字图像处理实验报告--直方图均衡化

数字图像处理实验报告 实验名称:直方图均衡化 : 班级: 学号: 专业:电子信息工程(2+2) 指导教师:华华 实验日期:2012年5月24日

直方图均衡化 图像对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法。直方图均衡化是最常见的间接对比度增强方法。直方图均衡化则通过使用累积函数对灰度值进行“调整”以实现对比度的增强。 直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度围的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度围的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。 缺点: 1)变换后图像的灰度级减少,某些细节消失; 2)某些图像,如直方图有高峰,经处理后对比度不自然的过分增强。 直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。 这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。 直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态围从而可达到增强图像整体对比度的效果。设原始图像在(x,y)处的灰度为f,而改变后的图像为g,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。在灰度直方图均衡化处理中对图像的映射函数可定义为:g = EQ (f),这个映射函数EQ(f)必须满足两个条件(其中L为图像的灰度级数): (1)EQ(f)在0≤f≤L-1围是一个单值单增函数。这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。 (2)对于0≤f≤L-1有0≤g≤L-1,这个条件保证了变换前后灰度值动态围的一致性。 累积分布函数即可以满足上述两个条件,并且通过该函数可以完成将原图像f的分布转换成g的均匀分布。此时的直方图均衡化映射函数为: gk = EQ(fk) = (ni/n) = pf(fi) , (k=0,1,2,……,L-1) 上述求和区间为0到k,根据该方程可以由源图像的各像素灰度值直接得到直方图均衡化后各像素的灰度值。在实际处理变换时,一般先对原始图像的灰度情况进行统计分析,并计算出原始直方图分布,然后根据计算出的累计直方图分布求出fk到gk的灰度映射关系。在重复上述步骤得到源图像所有灰度级到目标图像灰度级的映射关系后,按照这个映射关系对

直方图均衡化及直方图规定化

《数字图像处理》实验 报告(二) 学号:____________ 姓名:__________ 专业:____ 课序号:__________ 计算机科学与技术学院

实验2直方图均衡化 一、实验学时:4学时(本部分占实验成绩的40%) 二、实验目的: 1、理解直方图均衡化的原理及步骤; 2、编程实现图像(灰度或彩色)的直方图均衡化。 三、必须学习和掌握的知识点: 直方图均衡化是一种快速有效且简便的图像空域增强方法,在图像处理中有着非常重要的意义,因此要求掌握。 四、实验题目: 编程实现灰度图像的直方图均衡化处理。要求给出原始图像的直方图、均衡化图像及其直方图和直方图均衡化时所用的灰度级变换曲线图。 五、思考题:(选做,有加分) 实现对灰度图像的直方图规定化处理。 六、实验报告: 请按照要求完成下面报告内容并提交源程序、可执行程序文件和实验结果图像。

1、请详细描述本实验的原理: 1.直方图均衡化概述 图像对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法。直方图拉伸和直方图均衡化是两种最常见的间接对比度增强方法。直方图拉伸是通过对比度拉伸对直方图进行调整,从而“扩大”前景和背景灰度的差别,以达到增强对比度的目的,这种方法可以利用线性或非线性的方法来实现;直方图均衡化则通过使用累积函数对灰度值进行“调整”以实现对比度的增强。 直方图均衡化的英文名称是Histogram Equalization. 直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。 2基本思想 直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。 直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。设原始图像在(x,y)处的灰度为f,而改变后的图像为g,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。在灰度直方图均衡化处理中对图像的映射函数可定义为:g = EQ (f),这个映射函数EQ(f)必须满足两个条件(其中L为图像的灰度级数): (1)EQ(f)在0≤f≤L-1范围内是一个单值单增函数。这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。 (2)对于0≤f≤L-1有0≤g≤L-1,这个条件保证了变换前后灰度值动态范围的一致性。 累积分布函数(cumulative distribution function,CDF)即可以满足上述两个条件,并且通过该函数可以完成将原图像f的分布转换成g的均匀分布。此时的直方图均衡化映射函数为: gk = EQ(fk) = (ni/n) = pf(fi) , (k=0,1,2,……,L-1)

基于matlab的直方图均衡化

目录 1、引言 (2) 2、直方图基础 (3) 3、直方图均衡化 (3) 3.1 直方图均衡化的概念 (3) 3.2 直方图均衡化理论 (4) 3.3 Matlab 实现 (4) 4、结论 (7) 致谢 (7) 参考文献 (7)

图像增强处理 —直方图均衡化的Matlab 实现摘要:为了使图像的灰度范围拉开或使灰度均匀分布,从而增大反差,使图像细节清晰,以达到增强的目的,通常采用直方图均衡化及直方图规定化两种变换,此文中探讨了直方图的理论基础,直方图均衡化的概念及理论,以Matlab为平台,对某地区遥感TM单波段遥感影像进行直方图均衡化,并给出了具体程序、仿真结果图像、直方图及变换函数。实验结果表明,原来偏暗的且对比度较低的图像经过直方图均衡化后图像的对比度及平均亮度明显提高,直方图均衡化处理能有效改善灰度图像的对比度差和灰度动态范围。 关键词:图像增强直方图均衡化 Matlab 1、引言 图像增强是指对图像的某些特征,如边缘、轮廓或对比度等进行强调或尖锐化。当一幅图像曝光不足或过度,造成对比度过小或过大而不能显示具体细节,通过增加这些细节的动态范围改善图像的视觉效果。图像增强可以突出图像中所感兴趣的特征信息,改善图像的主观视觉质量,提高图像的可懂度。 增强的首要目标是处理图像,使其比原始图像更适合于特定应用。图像增强的方法分为两大类:空间域方法和频域方法。“空间域”一词是指图像平面本身,这类方法是以对图像的像素直接处理为基础的。“频域”处理技术是以修改图像的傅氏变换为基础的。 一般说来,原始遥感数据的灰度值范围都比较窄,这个范围通常比显示器的显示范围小的多。增强处理可将其灰度范围拉伸到0-255 的灰度级之间来显示,从而使图像对比度提高,质量改善。增强主要以图像的灰度直方图最为分析处理的基础。直方图均衡化能够增强整个图像的对比度,提高图像的辨析程度,算法简单,增强效果好。本文主要讨论了空间域的直方图均衡化增强,并用Matlab 进行实验验证。 2、直方图基础 1、灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像元的个数。确定图像像

直方图均衡化处理

数字图像处理实验报告 姓名: 王程学号: 2012021199037 日期:2013.3.30 一、实验要求 (1)对一幅的对比度灰度图像进行直方图均衡化处理,画出处理前后的图像及直方图(2)用matlab读取和显示 二、实验代码 clc; clear; I=imread('E:\数字图像处理\exp2\伊伽贝拉.jpg'); %读入图像文件 if isrgb(I) I=rgb2gray(I); end subplot(221),imshow(I); title('原图像伊伽贝拉') [m,n]=size(I); %测量图像尺寸参数 B=zeros(1,256); %预创建存放灰度出现概率的向量for i=1:m for j=1:n %k=I(i,j); %k=k+1; %B(k)=B(k)+1; B(I(i,j)+1)=B(I(i,j)+1)+1; %计算每级灰度出现的概率end end subplot(222), stem(0:255,B,'Marker','none'); %绘制直方图 title('未均衡化的直方图'); S=I; [m,n]=size(S); %读出图像的大小 BP=zeros(1,256); %预创建存放灰度出现概率的向量for k=0:255 BP(k+1)=length(find(S==k))/(m*n); %计算每级灰度出现的概率 end B1=zeros(1,256) for i=1:256 for j=1:i B1(i)=BP(j)+B1(i); end

end B2=round((B1*256)+0.5); for i=1:256 BPeq(i)=sum(BP(find(B2==i))); end I=S; for i=0:255; I(find(S==i))=B2(i+1); %将各个像素归一化后的灰度值赋 给这个像素 end subplot(223), imshow(I); %显示均衡化后的图像 title('均衡化后的图像'); subplot(224), imhist(I); %利用系统函数进行直方图计算 title('均衡化后的直方图'); 三、 实验结果截图并做分析 原图像伊伽贝拉 0100200 300 1234x 104 未均衡化的直方图 均衡化后的图像 02000 4000 均衡化后的直方图 100 200 分析: 从上面各个图中可以看出在原图像中的一些看不到或看不清楚的细节在均衡化后可以

直方图均衡化图像增强与彩色图像处理算法分析

直方图均衡化图像增强与彩色图像处理算法分析 2012.05.29

目录 1. 前言 (1) 2. 理论分析 (2) 2.1 直方图修正技术的基础 (2) 2.2 直方图的均衡化 (3) 2.3 直方图均衡化的算法步骤 (4) 3. 仿真实验与结果 (6) 3.1直方图均衡化Matlab程序 (6) 3.2 彩色图形处理Matlab程序 (8) 3.3 直方图均衡化仿真结果: (10) 3.4 彩色图像处理仿真结果: (13) 4. 结论 (14) 参考文献 (15)

1. 前言 在实际应用中,无论采用何种输入装置采集的图像,由于光照、噪声等原因,图像的质量往往不能令人满意。例如,检测对象物的边缘过于模糊;在比较满意的一幅图像上发现多了一些不知来源的黑点或白点;图像的失真、变形等等。所以图像往往需要采取一些手段进行改善以求达到较好的效果。图像增强技术正是在此基础上提出的。图像增强是图像分析与处理的一个重要的预处理过程,其主要有两个目的:一是运用一系列技术手段改善图像的视觉效果,提高图像的清晰度;二是将图像转化成一种更适合于人或计算机进行分析处理的形式。即改善图像质量是图像增强的根本目的。图像增强的意义一般可以理解为:按需要进行适当的变换,对图像的某些特征,如边缘、轮廓、对比度进行强调或锐化,突出某些有用的信息,去除或削弱无用的信息以便于显示、观察或进一步分析和处理。 图像增强技术是一类基本的图像处理技术,是指有选择地突出图像中感兴趣的特征或者抑制图像中某些不需要的特征,其目的是使处理后的图像更适合于人的视觉特性或机器的识别系统,包括图像的轮廓线或者纹理加强、图像去噪、对比度增强等。因此图像增强处理是图像分析和图像理解的前提和基础。在图像的获取过程中,特别是对于多媒体监控系统采集的图像,由于监控场景光线照射复杂、拍摄背景也比较复杂等环境因素的影响。加之摄像设备、传感器等因素引入的噪声,使监控图像在一定程度上存在对比度差、灰度分布范围窄、图像分辨率下降。因此,为得到一幅清晰的图像必须进行增强处理。传统的图像增强算法通常是基于整幅图像的统计量,这样在计算整幅图像的变换时,图像中的低频信息、高频信息以及含有的噪声,同时进行了变换,因而在增强图像的同时增强了噪声,导致信息熵下降,给监控图像的分析和后期处理带来了困难。针对此问题,提出一种新算法。 图像增强处理方法根据图像增强处理所在的空间不同,可分为基于空间域的增强方法和基于频率域的增强方法两类。空间域处理方法是在图像像素组成的二维空间里直接对每一个像素的灰度值进行处理,它可以是一幅图像内像素点之间的运算处理,也可以是数幅图像间的相应像素点之间的运算处理。频率域处理方法是在图形的变换域对图像进行间接处理。其特点是先将图像进行变换,在空间域对图像作傅里叶变换得到它的频谱按照某种变化模型(如傅里叶变换)变换到频率域,完成图像由空间域变换到频率域,然后在频率域内对图像进行低通或高通频率域滤波处理。处理完之后,再将其反变换到空间域。 直方图均衡化算法是图像增强空域法中的最常用、最重要的算法之一。它以概率理论作基础,运用灰度点运算来实现直方图的变换,从而达到图像增强的目的。本文介绍一种基于累积分布函数变换法为基础的直方图修正法。它可以通过对直方图进行均匀化修正,可使图像的灰度间距增大或灰度均匀分布、增大反差,是图像的细节变得清晰。

直方图均衡化的matlab实现_数字图像处理课程论文

海南大学课程论文 课程名称:数字图像处理 题目名称:直方图均衡化的matlab实现 学院:信息科学技术学院 专业班级:2010级计算机科学与技术专业

直方图均衡化的matlab实现 摘要 直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的图像增强方法。为了使图像的灰度范围拉开或使灰度均匀分布,从而增大反差,使图像细节清晰,以达到增强的目的,本文采用直方图均衡化的图像增强的基本理论原理,在matlab环境下,对数字图像进行直方图均衡化处理。实验结果表明,原来偏暗的且对比度较低的图像经过直方图均衡化后图像的对比度及平均亮度明显提高,直方图均衡化处理能有效改善灰度图像的对比度差和灰度动态范围。 关键词:直方图,均衡化,matlab 引言 图像增强的方法是通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制(掩盖)图像中某些不需要的特征,使图像与视觉响应特性相匹配。在图像增强过程中,不分析图像降质的原因,处理后的图像不一定逼近原始图像。图像增强技术根据增强处理过程所在的空间不同,可分为基于空间域的算法和基于频率域的算法两大类。 基于空间域的算法分为点运算算法和邻域去噪算法。点运算算法即灰度级校正、灰度变换和直方图均衡化等,目的或使图像成像均匀,或扩大图像动态范围,扩展对比度。 直方图均衡化能够增强整个图像的对比度,提高图像的辨析程度,增强效果好。本文讨论了空间域的直方图均衡化增强方法,并用matlab 进行了实现。

1.论文目的 1.1通过直方图以及均衡化的理论原理,用matlab实现直方图均衡化; 1.2 在加深对直方图以及均衡化的理论原理知识理解的基础上,学会运用已 学的知识设计直方图均衡化实验并对结果进行分析,并用实验的结果来说明直方图均衡化的特点和应用。 2.直方图理论 灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像元的个数。确定图像像元的灰度值范围,以适当的灰度间隔为单位将其划分为若干等级,以横轴表示灰度级,以纵轴表示每一灰度级具有的像元数或该像元数占总像元数的比例值,做出的条形统计图即为灰度直方图。在matlab中,在imhist函数的返回值中,counts保存了落入每个区间的像素的个数,通过计算counts与图像中像素总数的商可以得到归一化的直方图。 3.直方图均衡化 很多原始的灰度图像由于其灰度分布集中在较窄的范围内,使图像的细节不够清晰,对比度较低。为了使图像的灰度范围拉开或使灰度均匀分布,从而增大反差,使图像细节清晰,以达到增强的目的,通常采用直方图均衡化变换。3.1 直方图均衡化的概念 直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。 3.2 直方图均衡化理论 考虑连续灰度值,并用变量r 表示待处理图像的灰度,假设日取值范围为[0,L-1],且r=0表示黑色,r=L-1表示白色,用S 分别表示输出图像灰度值。在r 满足这些条件的情况下,有S=T(r),0≤r≤L-1,T(r )为变换函数。对于输入

基于matlab的直方图均衡化

课程设计报告 题目基于matlab的直方图均衡化程序设计 学生姓名: 学生学号: 系别: 专业: 届别: 指导教师: 电气信息工程学院制

目录 1、引言·······················································································- 2 - 2、直方图基础 ···············································································- 2 - 3、直方图均衡化············································································- 3 -3.1 直方图均衡化的概念·····················································································- 3 -3.2 直方图均衡化理论························································································- 4 - 3.3 Matlab 实现······························································································- 4 - 4、结论 ······················································································- 10 - 5、心得体会················································································- 10 -参考文献·····················································································- 10 - 基于matlab的直方图均衡化程序设计

直方图均衡化matlab程序

直方图和直方图均衡的Matlab完整程序(数字图像处理) 一、实验目的 掌握基本的图象增强方法,观察图象增强的效果,加深对灰度直方图及直方图均衡化的理解,掌握直方图均衡化方法。 二、实验内容 将一张彩色图片转换成灰色图片,画灰度直方图和均衡化后的直方图,并将灰度图和均衡化后的图片对比。 三、实验原理 灰度直方图是将数字图像中的所有像素,按照灰度值的大小,统计其所出现的频度。通常,灰度直方图的横坐标表示灰度值,纵坐标为像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。 直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。 四、实验程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%% %函数功能,画出图像的直方图,并对图像进行直方图均衡 %直接读图像abc.jpg,读到tuu中 %graydis是原始直方图各灰度级像素个数

%原始直方图graydispro,利用原始直方图计算原始累计直方图graydispro %t[]计算和原始灰度对应的新的灰度t[],建立映射关系,t坐标代表原始的灰度,t[]代表对应原始坐标的新坐标 %new_graydis是统计新直方图各灰度级像素个数 %计算新的灰度直方图new_graydispro,利用新的直方图计算新的累计直方图new_graydispro %计算直方图均衡后的新图new_tu %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%% clear all close all tuu=imread('abc.jpg'); %读入图片 tu=rgb2gray(tuu); %将彩色图片转换为灰度图 graydis=zeros(1,256); %设置矩阵大小 graydispro=zeros(1,256); new_graydis=zeros(1,256); new_graydispro=zeros(1,256); [h w]=size(tu); new_tu=zeros(h,w); %计算原始直方图各灰度级像素个数graydis for x=1:h

直方图均衡化(DOC)

中北大学 课程设计说明书 学生姓名:学号: 学院:信息与通信工程学院 专业:电子信息工程 题目:专业综合实践图像处理部分: 直方图均衡化 指导教师:杨娜职称: 副教授 2016 年 1月 10 日

中北大学 课程设计任务书 15/16 学年第一学期 学院:信息与通信工程学院 专业:电子信息工程 学生姓名:学号: 学生姓名:学号: 学生姓名:学号: 课程设计题目:专业综合实践图像处理部分: 直方图均衡化 起迄日期:2016年1 月11日~2016年1月22 日课程设计地点: 指导教师:杨娜 系主任:王浩全 下达任务书日期: 2016 年1月 10 日

课程设计任务书

课程设计任务书

目录 引言.................................... 错误!未定义书签。 1 设计任务及其要求...................... 错误!未定义书签。 2 直方图基础 (4) 3 直方图均衡化 (14) 4 Matlab实现 (16) 5 结果分析 (18) 6 心得体会 (19)

前言 灰度直方图是图像的一种统计表达,它反映了该图中不同灰度级出现的统计概率。由于图像的视觉效果与直方图有对应关系,即直方图的形状和改变对视觉的感知影响很大,因此采用直方图变换的方式可以增强图像。 图像增强是指对图像的某些特征,如边缘、轮廓或对比度等进行强调或尖锐化。当一幅图像曝光不足或过度,造成对比度过小或过大而不能显示具体细节,通过增加这些细节的动态范围改善图像的视觉效果。图像增强可以突出图像中所感兴趣的特征信息,改善图像的主观视觉质量,提高图像的可懂度。 增强的首要目标是处理图像,使其比原始图像更适合于特定应用。图像增强的方法分为两大类:空间域方法和频域方法。“空间域”一词是指图像平面本身,这类方法是以对图像的像素直接处理为基础的。“频域”处理技术是以修改图像的傅氏变换为基础的。一般说来,原始遥感数据的灰度值范围都比较窄,这个范围通常比显示器的显示范围小的多。增强处理可将其灰度范围拉伸到0-255 的灰度级之间来显示,从而使图像对比度提高,质量改善。增强主要以图像的灰度直方图最为分析处理的基础。直方图均衡化能够增强整个图像的对比度,提高图像的辨析程度,算法简单,增强效果好。

matlab 直方图均衡化

%读图片 A=imread('C:\Users\user\Desktop\xx.PNG'); A=rgb2gray(A); [M N]=size(A); %统计像素个数存于一维列向量B中 B = []; for i=1:256 B(i,1) = 0; end for i=1:M for j=1:N B(A(i,j)+1) = B(A(i,j)+1)+1; end end %统计像素频率 for i=1:256 B(i) = B(i)/(M*N); end %画出原图结果 subplot(2,2,1); imshow(A); title('源图'); subplot(2,2,2); bar(B); title('原图频率直方图'); %频率累积 for i=2:256 B(i) = B(i-1)+B(i); end %求出映射数组C下标为源像素数组值为目标像素C = []; for i=1:256 C(i,1)=floor(255*B(i)+0.5)+1; end %求出映射结果T

for i=1:M for j=1:N T(i,j)=C(A(i,j)+1)-1; end end %同理求出聚恒华结果直方图 [M N]=size(T); D = []; for i=1:256 D(i,1) = 0; end for i=1:M for j=1:N D(T(i,j)+1) = D(T(i,j)+1)+1; end end for i=1:256 D(i) = D(i)/(M*N); end %画转换后的结果 subplot(2,2,3); imshow(T/256); title('转换后图'); subplot(2,2,4); bar(D); title('转换后图频率直方图');

给出直方图均衡化的数学推导步骤并用程序实现-Read

给出直方图均衡化的数学推导、步骤,并用程序实现。 解: 总体思想:首先考虑连续函数并且让变量r 代表待增强图像的灰度级,假设r 被归一化到区间]1,0[,且0=r 表示黑色及1=r 表示白色。然后再考虑一个离散公式并允许像素值在区间]1,0[-L 内。 对于连续函数而言,假设其变换函数为 )(r T s = 10≤≤r (公式1) 在原始图像中,对于每一个像素值r 产生一个灰度值s 。其中,变换函数要满足以下条件: (1))(r T 在区间10≤≤r 中为单值且单调递增。这是为了保证其逆函数的存在,并且输出图像从黑到白顺序增加; (2)当10≤≤r 时,1)(0≤≤r T 。这保证输出灰度级与输入有同样的范围。 把公式1的逆函数表示为 )(1s T r -= 10≤≤s (公式2) 一幅图像的灰度级可被视为区间]1,0[的随机变量。随机变量的一个最重要的基本描述是其概率密度函数。令)(r P r 和)(s P s 分别代表随机变量r 和s 的概率密度函数。此处带有下标的)(r P r 和)(s P s 用于表示不同的函数。由基本概率理论得到一个基本结果:如果)(r P r 和)(r T 已知,且)(1s T -满足条件(1),那么变换变量s 的概率密度函数)(s P s 可由以下简单公式得到: ||)()(ds dr r P s P r s = (公式3) 因此,变换变量s 的概率密度函数由输人图像的灰度级概率密度函数和所选择的变换函数所决定。 在图像处理中一个尤为重要的变换函数: ? ==r r dw w P r T s 0)()( (公式4) 该被积函数其值为正,并且函数积分是一个函数曲线下的面积,其内含为随机变量r 的累积分布函数,所以它遵守该变换函数是单值单调增加的条件,因此满足条件(1)。同样地,区间]1,0[也满足条件(2)。其积分过程如下: )()()(0r P dw w P dr d dr r dT dr ds r r r =?? ????==? (式5) 用这个结果代替ds dr ,代入式4,取概率为正,得到: 1) (1)()()(===r P r P ds dr r P s P r r r s 10≤≤s (式6)

matlab灰度图直方图均衡化代码

matlab灰度图直方图均衡化代码 clear all %一,图像的预处理,读入彩色图像将其灰度化 PS=imread('1.jpg'); %读入JPG彩色图像文件 imshow(PS) %显示出来 title('输入的彩色JPG图像') imwrite(rgb2gray(PS),'PicSampleGray.bmp'); %将彩色图片灰度化并保存 PS=rgb2gray(PS); %灰度化后的数据存入数组 %二,绘制直方图 [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率,将其存入GP 中相应位置 end figure,bar(0:255,GP,'g') %绘制直方图 title('原图像直方图') xlabel('灰度值') ylabel('出现概率') %三,直方图均衡化 S1=zeros(1,256); for i=1:256 for j=1:i S1(i)=GP(j)+S1(i); %计算Sk end end S2=round((S1*256)+0.5); %将Sk归到相近级的灰度 for i=1:256 GPeq(i)=sum(GP(find(S2==i))); %计算现有每个灰度级出现的概率 end figure,bar(0:255,GPeq,'b') %显示均衡化后的直方图 title('均衡化后的直方图') xlabel('灰度值') ylabel('出现概率') %四,图像均衡化 PA=PS; for i=0:255 PA(find(PS==i))=S2(i+1); %将各个像素归一化后的灰度值赋给这个像素 end figure,imshow(PA) %显示均衡化后的图像 title('均衡化后图像')

直方图均衡化matlab代码

图片采用了维基百科直方图均衡化中的图片保存为文件名test0.jpg 直方图均衡化的原理参考《数字图像处理第三版(冈萨雷斯)》第75页公式3.3-8(主要就是一个公式) 代码如下: imgdat0=imread('test0.jpg');%读图 [r,c]=size(imgdat0);%图像尺寸 PixelNum=r*c;%图像尺寸 distribute=zeros(1,256);%原始直方图统计 for i=1:PixelNum pos=imgdat0(i)+1;%加1是因为matlab索引从1开始而不是从0开始 distribute(pos)=distribute(pos)+1;%pos为像素值,范围0-255/1-256 end distribute=distribute/PixelNum;%原始直方图统计 convertarray=zeros(1,256);%像素转换对应 tempadd=0;%累加计算使用 for i=1:255%计算像素转换对应公式 tempadd=tempadd+distribute(i); convertarray(i)=uint8(255*tempadd); end rimgdat0=uint8(zeros(r,c));%计算结果图像 for i=1:PixelNum rimgdat0(i)=convertarray(imgdat0(i));%像素值转换 end %显示 figure imshow(imgdat0) figure imshow(rimgdat0) figure bar(distribute) rdistribute=zeros(1,256);%计算结果直方图统计 for i=1:PixelNum pos=rimgdat0(i)+1; rdistribute(pos)=rdistribute(pos)+1; end figure bar(rdistribute) 原图

图像直方图均衡化的程序设计

目录 摘要 (1) 1. 概述 (2) 2. 理论知识 (3) 2.1直方图处理的基础 (3) 2.2直方图均衡化 (4) 2.2.1直方图均衡化理论 (4) 2.2.2 直方图均衡化算法 (6) 3. MATLAB实现 (7) 3.1实验预备知识 (7) 3.2实验代码及结果 (7) 4. 结果分析 (11) 5. 心得体会 (13) 参考文献 (14)

摘要 图像增强作为数字图像处理的重要部分,直方图均衡化又作为图像增强的一种手段。报告书中探讨了直方图的理论基础,直方图均衡化的概念及理论,以MATLAB 为平台,对灰度图像进行直方图均衡化的实验,并给出了具体程序、实验结果图像。实验结果表明,经直方图均衡化后,图像的对比度及亮度提高,直方图均衡化处理能有效改善灰度图像的质量。 关键词:数字图像处理,直方图,均衡化,MATLAB

1.概述 图像按照色彩分类,可以分为灰度图像和彩色图像。灰度图像在黑色与白色之间还有许多级的颜色深度,灰度图像通常用每个采样像素8位的非线性尺度来保存,这样可以有256级灰度。这种精度刚刚能够避免可见的条带失真,并且非常易于编程。本次研究正是基于灰度图像。 灰度级直方图是图像的一种统计表达,它反应了该图中不同灰度级出现的统计概率。由于图像的视觉效果与直方图有对应关系,即直方图的形状和改变对视觉的感知影响很大,因此采用直方图变换的方式可以增强图像。图像增强技术可以改善图像的视觉效果,以便人眼或机器对图像进一步理解。 图像增强与受关注物体特性、观察者的习惯和处理目的有关,因此,图像增强算法的应用是有针对性的,并不存在通用的算法。图像增强的基本方法分为两大类:空间域方法和频域方法。“空间域”一词是指图像平面本身,这类方法是以对图像的像素直接处理为基础的。“频域”处理技术是以修改图像的傅氏变换为基础的。直方图均衡化是空间域的点运算处理技术。直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法,使用累积函数对灰度值进行“调整”以实现对比度的增强。直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。

图像增强 直方图均衡化处理

用空域图像增强方式中的任意一种方法,处理一幅256灰度级的图像及RGB 图像,处理和原图像比较图及直方图的比较图。(选用直方图均衡化处理)答:运用MATLAB执行 1.256灰度级图像处理: 执行代码: I=imread('hello.jpg'); x=rgb2gray(I); %转化为灰度图 imwrite(x,'sample.jpg'); sample = imread('sample.jpg'); %imshow(sample); [M,N]=size(sample); [counts,x]=imhist(sample,32); counts=counts/M/N; stem(x,counts); histeqSample = histeq(sample); subplot(2,2,1); imshow(sample); %原始图像 title('a 原图像'); subplot(2,2,3); stem(x,counts); %原始图像直方图 title('c 原图像直方图'); %axis([0 255,0,0.01]); subplot(2,2,2); imshow(histeqSample); %均衡化处理后的图像 title('b 处理后图像'); subplot(2,2,4); [M,N]=size(histeqSample); [counts,x]=imhist(histeqSample,32); counts=counts/M/N; stem(x,counts); %均衡化处理后图像直方图 title('d 处理后图像直方图');

原彩色图像: 处理后:

相关文档
最新文档