搜档网
当前位置:搜档网 › 数字图像的直方图规定化处理实验(matlab)

数字图像的直方图规定化处理实验(matlab)

数字图像的直方图规定化处理实验(matlab)
数字图像的直方图规定化处理实验(matlab)

XX大学实验报告学院:专业:班级:

figure;imshow(M);

title('直方图规定化后的图像');

figure;imhist(M);

title('规定直方图');

将上程序稍做改动后所得结果

加:

Figure;

subplot(1,2,1); imhist(I,64);

subplot(1,2,2); imhist(J,64); 得图:

2.

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到filename所制定的文件,会尝试查找一个名为filename.fmt的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含 RGB真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(filename, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow(filename) himage = imshow(...) ●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图 像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像

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

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

实验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)

数字图像处理实验四

数字图像处理 实验 实验四:图像增强—直方图变换学院:信息工程学院 姓名: 学号: 专业及班级: 指导教师:

一、实验目的 1.掌握灰度直方图的概念及其计算方法; 2.熟练掌握直力图均衡化和直方图规定化的计算过程; 3.熟练掌握空域滤波中常用的平滑和锐化滤波器; 4.掌握色彩直方图的概念和计算方法; 5.利用MATLAB程序进行图像增强。 二、实验内容 图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。其主要目的是处理后的图像对某些特定的应用比原来的图像更加有效。图像增强技术主要有直方图修改处理、图像平滑化处理、图像尖锐化处理和彩色处理技术等。本实验以直方图均衡化增强图像对比度的方法为主要内容,其他方法同学们可以在课后自行联系。 直方图是多种空间城处理技术的基础。直方图操作能有效地用于图像增强。除了提供有用的图像统计资料外,直方图固有的信息在其他图像处理应用中也是非常有用的,如图像压缩与分割。直方图在软件中易于计算,也适用于商用硬件设备,因此,它们成为了实时图像处理的一个流行工具。 直方图是图像的最基本的统计特征,它反映的是图像的灰度值的分布情况。直方图均衡化的目的是使图像在整个灰度值动态变化范围内的分布均匀化,改善图像的亮度分布状态,增强图像的视觉效果。灰度直方图是图像预处理中涉及最广泛的基本概念之一。 图像的直方图事实上就是图像的亮度分布的概率密度函数,是一幅图像的所有象素集合的最基本的统计规律。直方图反映了图像的明暗分布规律,可以通过图像变换进行直方图调整,获得较好的视觉效果。 直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。 三、实验具体实现 显示原图像的直方图和经过均衡化处理过的图像直方图: I=imread('1.jpg'); % 读入原图像 J=histeq(I); %对原图像进行直方图均衡化处理 subplot(2,2,1) ;imshow(I); %显示原图像 title('原图像'); %给原图像加标题名 %对原图像进行屏幕控制;显示直方图均衡化后的图像 subplot(2,2,2) ;imshow(J); %给直方图均衡化后的图像加标题名 title('直方图均衡化后的图像') ; %对直方图均衡化后图像进行屏幕控制;作一幅子图,并排两幅图的第1幅 subplot(2,2,3) ; imhist(I,64); %将原图像直方图显示为64级灰度 title('原图像直方图') ; %给原图像直方图加标题名

基于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、灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像元的个数。确定图像像

四、灰度直方图是数字图像处理的重要工作。请简述灰度直方图规定化

四、灰度直方图是数字图像处理的重要工作。请简述灰度直方图规定化、均衡化的基本原理。并以分辨率为5*4,图像的深度6bit 的图像为例,自举例说明直方图均衡化的计算过程。 解答: 数字图像的直方图是作为图像每一个灰度级的统计概率分布"它提供了图像灰度分布的概貌,直方图增强技术正是利用修改给定图像直方图的方法来增强图像的,最后得到的图像增强程度取决于我们所采用的直方图。令变量r 和s 分别代表图像增强前后的像素灰度级,相应灰度级分布的概率密度分别为()r P r 和()s P s 。 为讨论方便,假设像素灰度值已经归一化在区间[0,1],在灰度级坐标中r=0表示黑,r=1表示白。对区间[0,1]内任一个r 值按变换函数: s = T(r) (1) 进行变换,T (r )满足两个条件:(1)单值单调递增函数;(2) 0≤T (r )≤1。 条件(1)使灰度级保持从黑到白的次序,条件(2)保证映射变换后像素灰度值在允许的范围内。从s 到r 的反变换为:1()r T s -=,0≤s ≤1。 (2) 同样,规定变量s 也满足条件(1)和(2)。由概率理论知,若()r P r 和变换函数s = T(r) 已知,1()r T s -=是单值单调增加函数,则有: 1() ()[P () ]s r r T s dr P s r ds -== (3) 直方图增强技术就是通过变换函数T (r )控制图像灰度级的概率密度函数而改变图像的外貌。 对于连续图像,变换函数为: ()(),01r r s T r P r dr r ==≤≤? (4) 此式右边为累积分布函数(CDF ),由该式对r 求导有: ()r ds P r dr = (5) 代入(3)得到: 1()1 ()[() ]1,01() r r T s r P s P r s P r -===≤≤ (6) 这说明,在变换后变量s 在定义域内, ()s P s 是均匀概率密度。在图像增强意义上,这 相当于像素的动态范围增加。 对于离散图像,灰度级k r 的概率值为: (),01,0,1,2, (1) r k k n P r r k L n = ≤≤=- (7) 其中,n 表示图像中像素的总数,k n 是在图像中出现这种灰度级的次数,L 表示灰度级

数字图像处理点运算和直方图处理

实验1 点运算和直方图处理 一、实验目的 1. 掌握利用Matlab图像工具箱显示直方图的方法 2. 掌握运用点操作进行图像处理的基本原理。 3. 进一步理解利用点操作这一方法进行图像处理的特点。 4. 掌握利用Matlab图像工具箱进行直方图均衡化的基本方法。 二、实验的硬件、软件平台 硬件:计算机 软件:操作系统:WINDOWS 7 应用软件:MATLAB 三、实验内容及步骤 1. 了解Matlab图像工具箱的使用。 2. 利用Matlab图像工具箱对图像进行点操作,要求完成下列3个题目中 的至少2个。 ⑴图1灰度范围偏小,且灰度偏低,改正之。 ⑵图2暗处细节分辨不清,使其能看清楚。 ⑶图3亮处细节分辨不清,使其能看清楚。 图1 图2 图3 3. 给出处理前后图像的直方图。 4. 利用MatLab图像处理工具箱中函数对以上图像进行直方图均衡化操 作,观察结果。 四、思考题 1. 点操作能完成哪些图像增强功能? 2. 直方图均衡化后直方图为何并不平坦?为何灰度级会减少? 五、实验报告要求

1.对点操作的原理进行说明。 2.给出程序清单和注释。 3.对处理过程和结果进行分析(包括对处理前后图像的直方图的分析)。 实验代码以及解读 点操作: I = imread('POINT1.BMP')。 %读入图像 j=rgb2gray(I)。%将图像转为灰度图像 INFO=IMFINFO('POINT1.BMP') %获取图片的格式、尺寸、颜色数量、修改时间等信息[l,r]=size(j)。%图片大小 figure。%建立一个图形框 subplot(221) imshow(j) %在两行两列的第一个位置放置图片j title('POINT1.BMP') %给该图片加上标题POINT1.BMP for m=1:l for n=1:r %从第一个像素循环到最后一个像素p1(m,n)=j(m,n)*1.2。%把各点乘上1.2得到p1图 end end for m=1:l for n=1:r p2(m,n)=j(m,n)*2。%%把各点乘上2得到p2图 end end for m=1:l for n=1:r p3(m,n)=j(m,n)*2+50。%把各点乘上2再加50得到p2图 end end subplot(222) imshow(p1) title('j(m,n)*1.2') %p1图放在第二个位置且冠名j(m,n)*1.2 subplot(223) imshow(p2) title('j(m,n)*2') %p1图放在第三个位置且冠名j(m,n)* 2 subplot(224) imshow(p3) title('j(m,n)*2+50') %p1图放在第四个位置且冠名j(m,n)*2+50 figure。%建立一个新的窗口并且依次显示以上四个图的直方图

数字图像处理实验报告--直方图规定化 0528

数字图像处理实验报告--直方图规定化

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

直方图匹配(规定化) 直方图均衡化能够自动增强整个图像的对比度,但它的具体增强效果不容易控制,处理的结果总是得到全局均匀化的直方图。实际上有时需要变换直方图,使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度。这时可以采用比较灵活的直方图规定化。一般来说正确地选择规定化的函数可以获得比直方图均衡化更好的效果。 所谓直方图规定化,就是通过一个灰度映像函数,将原灰度直方图改造成所希望的直方图。所以,直方图修正的关键就是灰度映像函数。 直方图匹配方法主要有3个步骤(这里设M和N分别为原始图和规定图中的灰度级数,且只考虑N≤M的情况): (1) 如同均衡化方法中,对原始图的直方图进行灰度均衡化: (2) 规定需要的直方图,并计算能使规定的直方图均衡化的变换: (3) 将第1个步骤得到的变换反转过来,即将原始直方图对应映射到规定的直方图,也就是将所有pf(fi)对应到pu(uj)去。 一、A图直方图规定B图

Matlab程序: %直方图规定化 clear all A=imread('C:\Users\hp\Desktop\A.tif'); %读入A图像 imshow(A) %显示出来 title('输入的A图像') %绘制直方图 [m,n]=size(A); %测量图像尺寸 B=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255

绘制数字图像灰度直方图实验报告MATLAB实现

数字图像处理 实验报告 实验一绘制直方图 学号 姓名 日期

实验一绘制直方图 一、实验内容 1、编程绘制数字图像的直方图。 2、直方图均衡处理。 二、实验步骤 1、设计思想或者流程图。 灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。通常,灰度直方图的横坐标表示灰度值,纵坐标为半个像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。 直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。 2、源程序并附上注释。 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)));%计算现有每个灰度级出现的概率

直方图图像处理实验报告

数字图像处理实验 实验一 直方图处理 实验目的 ● 理解图像直方图的概念,掌握图像直方图的绘制方法 ● 掌握直方图均衡化的原理,并会用直方图均衡化对图像进行处理。 实验要求 1.读入图像,可使用imread 。 2.输出图像,可使用imshow 。 3.绘制图像pout.tif 的归一化的直方图,可使用IPT 函数imhist 。 4.对图像进行直方图均衡化,可使用IPT 函数histeq ,对均衡化前后的图像以及直方图进行对比。 实验原理 一幅数字图像在范围[0, G ]内共有L 个灰度等级,其直方图定义为离散函数 k k n r h =)( 其中r k 是区间[0, G ]内的第k 级亮度,n k 是灰度级为r k 的图像中的像素数。 通常,我们会用到归一化直方图,即使所用所有元素h (r k )除以图像中的像素总数n 所得到的图形: n n n r h r p k k k ==)()( 其中k =1,2,…,L 。 Matlab 中提供了IPT 函数imhist 来绘制图像的直方图,但是除此之外绘制直方图的方法还有很多,可以通过条形图、杆状图等方式来表示直方图。 直方图均衡化主要用于增强动态范围偏小的图像的反差。该方法的基本思想是把原始的直方图变换为均匀分布的形状,这样就增加了像素灰度值的动态范围,从而达到增强图像整体对比度的效果。 直方图均衡化一般采用原始图的累计分布函数作为变换函数。假设灰度级归一化至范围[0, 1]内,p r (r )表示给定图像中的灰度级的概率密度函数,对于离散的灰度级,均衡化变换为: ∑ ∑=====k j j k j j r k k n n r p r T s 1 1 )()( 式中k =1,2,…,L ,s k 是输出图像中的亮度值,它对应于出入图像中的亮度值r k 。 实验心得: 1. matlab 的函数的功能很强大,一个简单的函数调用就可以解决复杂的问题。这样,就需要在函数调用时注意函数的参数,否则很容易出错。比如函数 histeq(a,n),就要注意其中的n 为灰度值的个数。 2. 对于自己编写函数实现某些特定的功能时,需要对原理掌握清楚,如实验二中需自己编写函数实现图像的均衡,就要求对直方图的均衡原理掌握到位。

摄像头编程并且对图像的处理以及直方图的算法

题目:图像的基本处理班级:2011级软件2班姓名:刘磊磊 时间:20130907

摘要:随着数字化与多媒体时代的来临,数字图像处理已经成为必备的基础知识。全国各大专院校的计算机、电子、通信、医学、光学及许多相关专业都开设了与数字图像预处理相关的课程。数字图像二值化是图像预处理中的一项重要技术,其在模式识别、光学字符识别、医学成像等方面都有着重要应用。本论文主要为大家介绍24位真彩图像的灰度、二值处理以及图像的一些简单的打开和保存和如何画直方图,还有一些通过这次小学期学到的一些知识。 关键字:灰度处理,二值化 图像的打开 void CText1Dlg::ShowPic() { if(m_path =="") //判断图片路径是否存在 { return; } hwnd = GetDlgItem(IDC_pic); hDesDC = hwnd->GetDC()->m_hDC; hSrcDC = CreateCompatibleDC(hDesDC); hBitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),m_path,IMAGE_BITMAP,0,0, LR_LOADFROMFILE|LR_CREATEDIBSECTION); GetObject(hBitmap, sizeof(BITMAP), &bm); SelectObject(hSrcDC, hBitmap); hwnd->GetClientRect(&rect); ::SetStretchBltMode(hDesDC,COLORONCOLOR); ::StretchBlt(hDesDC, rect.left, rect.top, rect.right, rect.bottom, hSrcDC, 0, 0, bm.bmWidth, bm.bmHeight,+SRCCOPY); UpdateData(false);

数字图像处理实验报告--直方图规定化

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

直方图匹配(规定化) 直方图均衡化能够自动增强整个图像的对比度,但它的具体增强效果不容易控制,处理的结果总是得到全局均匀化的直方图。实际上有时需要变换直方图,使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度。这时可以采用比较灵活的直方图规定化。一般来说正确地选择规定化的函数可以获得比直方图均衡化更好的效果。 所谓直方图规定化,就是通过一个灰度映像函数,将原灰度直方图改造成所希望的直方图。所以,直方图修正的关键就是灰度映像函数。 直方图匹配方法主要有3个步骤(这里设M和N分别为原始图和规定图中的灰度级数,且只考虑N≤M的情况): (1) 如同均衡化方法中,对原始图的直方图进行灰度均衡化: (2) 规定需要的直方图,并计算能使规定的直方图均衡化的变换: (3) 将第1个步骤得到的变换反转过来,即将原始直方图对应映射到规定的直方图,也就是将所有pf(fi)对应到pu(uj)去。 一、A图直方图规定B图

Matlab程序: %直方图规定化 clear all A=imread('C:\Users\hp\Desktop\A.tif'); %读入A图像 imshow(A) %显示出来 title('输入的A图像') %绘制直方图 [m,n]=size(A); %测量图像尺寸 B=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 B(k+1)=length(find(A==k))/(m*n); %计算每级灰度出现的概率,将其存入B中相应位置 end figure,bar(0:255,B,'g'); %绘制直方图 title('A图像直方图') xlabel('灰度值') ylabel('出现概率') axis([0,260,0,0.015]) C=imread('C:\Users\hp\Desktop\B.tif');%读入B图像 imshow(C) %显示出来 title('输入的B图像') %绘制直方图 [m,n]=size(C); %测量图像尺寸 D=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 D(k+1)=length(find(C==k))/(m*n); %计算每级灰度出现的概率,将其存入D中相应位置 end

直方图图像处理实验报告

数字图像处理实验 实验一 直方图处理 实验目的 理解图像直方图的概念,掌握图像直方图的绘制方法 掌握直方图均衡化的原理,并会用直方图均衡化对图像进行处理。 实验要求 1.读入图像,可使用imread 。 2.输出图像,可使用imshow 。 3.绘制图像的归一化的直方图,可使用IPT 函数imhist 。 4.对图像进行直方图均衡化,可使用IPT 函数histeq ,对均衡化前后的图像以及直方图进行对比。 ` 实验原理 一幅数字图像在范围[0, G ]内共有L 个灰度等级,其直方图定义为离散函数 k k n r h =)( 其中r k 是区间[0, G ]内的第k 级亮度,n k 是灰度级为r k 的图像中的像素数。 通常,我们会用到归一化直方图,即使所用所有元素h (r k )除以图像中的像素总数n 所得到的图形: n n n r h r p k k k ==)()( 其中k =1,2,…,L 。 Matlab 中提供了IPT 函数imhist 来绘制图像的直方图,但是除此之外绘制直方图的方法还有很多,可以通过条形图、杆状图等方式来表示直方图。 直方图均衡化主要用于增强动态范围偏小的图像的反差。该方法的基本思想是把原始的直方图变换为均匀分布的形状,这样就增加了像素灰度值的动态范围,从而达到增强图像整体对比度的效果。 直方图均衡化一般采用原始图的累计分布函数作为变换函数。假设灰度级归一化至范围 [0, 1]内,p r (r )表示给定图像中的灰度级的概率密度函数,对于离散的灰度级,均衡化变换为: ; ∑∑=====k j j k j j r k k n n r p r T s 11)()( 式中k =1,2,…,L ,s k 是输出图像中的亮度值,它对应于出入图像中的亮度值r k 。 实验心得: 1. matlab 的函数的功能很强大,一个简单的函数调用就可以解决复杂的问题。这样,就需要在函数调用时注意函数的参数,否则很容易出错。比如函数 histeq(a,n),就要注意其中

直方图均衡化与规定化

课程名称___图像处理与分析 题目名称_直方图均衡化与规定化 学院信息工程 专业电子信息工程 年级班别 0503 学号 3105003438 学生姓名姚艺锋 指导老师曹江中 2008年6月16日

《图像处理与分析》课程设计报告 直方图均衡化与规定化 1、设计方案(原理) 一般情况下,如果图像的灰度分别集中在比较窄的区间,从而引起图像细节的模糊,为了使图像细节清晰,并使目标得到突出,达到图像增强的目的,可通过改善各部分亮度的比例关系,即通过直方图的方法来实现.直方图的方法是以概率论为基础的.常用的方法有直方图均衡化和直方图规定化. (1) 直方图均衡化 直方图均衡化又称直方图平坦化,是将一已知灰度概率密度分布的图像经过某种变换,变成一幅具有均匀灰度概率密度分布的新图像.其结果是扩展了像元取值的动态范围,从而达到增强图像整体对比度的效果. 直方图均衡化的具体实现步骤如下: 1).列出原始图像的灰度级 1 ,,1,0,-=L j f j 2).统计各灰度级的像素数目 1 ,,1,0,-=L j n j 3).计算原始图像直方图各灰度级的频数 1 ,,1,0,/)(-==L j n n f P j j f 4).计算累积分布函数 1 ,,,1,0,)()(0 -== ∑ =L k j f P f C k j j f 5).应用以下公式计算映射后的输出图像的灰度级,P 为输出图像灰度级的个 数,其中INT 为取整符号 1 ,,1] 5.0)()[(min min max -=++-=P i g f C g g INT g i 6).统计映射后各灰度级的像素数目 ni, i=0,1,…,k,…P-1. 7). 计算输出直方图Pg(gi)=ni/n, i=0,1,…,P-1. 8). 用fj 和gi 的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀

图像处理之直方图匹配

直方图匹配,又称直方图规定化,即变换原图的直方图为规定的某种形式的直方图,从而使两幅图像具有类似的色调和反差。直方图匹配属于非线性点运算。 直方图规定化的原理:对两个直方图都做均衡化,变成相同的归一化的均匀直方图,以此均匀直方图为媒介,再对参考图像做均衡化的逆运算 ///

/// 直方图匹配 /// /// 原始图像 /// 匹配图像 /// 处理后图像 /// 处理成功true 失败false public static bool HistogramMatching(Bitmap srcBmp, Bitmap matchingBmp, out Bitmap dstBmp) { if (srcBmp == null || matchingBmp == null) { dstBmp = null; return false; } dstBmp = new Bitmap(srcBmp); Bitmap tempSrcBmp = new Bitmap(srcBmp); Bitmap tempMatchingBmp = new Bitmap(matchingBmp); double[] srcCpR = null; double[] srcCpG = null; double[] srcCpB = null; double[] matchCpB = null; double[] matchCpG = null; double[] matchCpR = null; //分别计算两幅图像的累计概率分布 getCumulativeProbabilityRGB(tempSrcBmp, out srcCpR, out srcCpG, out srcCpB); getCumulativeProbabilityRGB(tempMatchingBmp, out matchCpR, out matchCpG, out matchCpB); double diffAR = 0, diffBR = 0, diffAG = 0, diffBG = 0, diffAB = 0, diffBB = 0; byte kR = 0, kG = 0, kB = 0; //逆映射函数 byte[] mapPixelR = new byte[256]; byte[] mapPixelG = new byte[256]; byte[] mapPixelB = new byte[256]; //分别计算RGB三个分量的逆映射函数 //R for (int i = 0; i < 256; i++) { diffBR = 1; for (int j = kR; j < 256; j++) {

数字图像处理作业(第三次)直方图处理

数字图像处理作业(第三次)直方图处理

数字图像处理作业(第三次)直方图处理 第一题第二题(例3.6) 1. 问题: 1)编写函数Y=MyHisteq(X), 对灰度图象X进行直方图均衡化,得到均衡化后的图像Y,假设X的数据类型为uint8。 2)利用自己编写的直方图均衡化函数,重现例3.6中的实验,即对图3.16中的图像进行直方图均衡化。 2.程序: (1) 函数程序: function Y = MyHisteq(X) %对灰度图象X进行直方图均衡化,得到均衡化后的图像Y [m,n]=size(X); A=zeros(1,256); for k=0:255 A(k+1)=length(find(X==k))/(m*n); end S1=zeros(1,256); for i=1:256 for j=1:i

S1(i)=A(j)+S1(i); %算Sk end end S2=round(S1*256); for i=1:256 B(i)=sum(A(find(S2==i))); end figure,bar(0:255,B,'b'); title('均衡化后的直方图'); xlabel('灰度'),ylabel('出现概率') Y=X; for i=0:255 Y(find(X==i))=S2(i+1); end end (2)主程序: X=imread('Fig0316(1)(top_left).tif'); figure,imshow(X);

Y=MyHisteq(X); figure,imshow(Y); 3. 实验结果:

第三题(例3.12) 1. 问题: 编写程序,重现例3.12中的实验,产生图3.27。2.程序: X=imread('Fig0327(a)(tungsten_original).tif'); figure,imshow(X);

数字图像处理作业 直方图均衡

作业3:直方图均衡 1.选取一张对比度不明显的彩色图像,编写MATLAB代码对RGB通道独立地进行直方图 均衡,同时用PHOTOSHOP软件对其进行均衡,比较两种处理方法在效果上的差异。 使用R/G/B=image(:,:,1/2/3);提取图像的三个通道,imshow(R);显示三个通道的图像,imhist(R);显示对应颜色分量的直方图,r=histeq(R);分别对三个通道进行直方图均衡化,equated = cat(3,r,g,b);联合RGB三个数组,得到均衡化后的图像。 原图与matlab直方图均衡化后的图像 原图的RGB分量

均衡后的RGB分量 在photoshop中处理图像后得到下图的结果。 Ps中得到的图像RGB通道独立直方图均衡得到的图像比较:选取的原图是逆光拍摄,颜色很暗,暗部细节很多。经过matlab处理后,灰度级部分合并,灰度级较低的间隔变大,灰度级较高的间隔变小。但对真彩色图像的直方图均衡化时,通过单纯地对RGB三个分量图像分别均衡、合并, 会使均衡后的图像出现轻微的色彩失真现象, 而且原图中灰度级较高的地方的细节部分缺失。但是经过ps处理后的图像,原本灰度值较低的地方明显变亮,同时原本灰度值较高的地方仍然很好保留了,并没有出现matlab处理后的问题。Ps处理后的图像色彩也很正常,没有出现失真的问题。 数字图像直方图的算法步骤: ①列出原始图像的灰度级f j,j=0,1,…,L-1, ②统计各灰度级的像素数目n j,j=0,1,…,L-1, ③计算原始图像直方图各灰度级的频数p(f j)= n j/N,j=0,1,…,L-1, ④计算累计分布函数C(j)=Σp(f k), j=0,1,…,L-1, ⑤g i= INT[(g max-g min)C(f)+g min+0.5]

基于matlab的直方图均衡化

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

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

数字信号图像处理-灰度直方图

(0.1) 灰度直方图不能表示出有某灰度级的像素在什么位置,也不能直接显示出图像内容,但是具有统计特征的直方图却能描述该图像的灰度分布特征,使人们从中得到诸如总体明亮程度、对比度、对象物的可分性等与图像质量有关的灰度分布概貌,成为一些处理方法的重要依据。 变换直方图使其达到较理想分布,能起到增强图像的效果。 面积为A 的连续图像f(x,y)经过数字化后,成为M 行N 列的数字图像f(m,n)。一般而言在数字图像f(x,y)中取不同灰度值的像素数目是不同的。直方图是用于表达图像灰度分布情况的统计图表。其横坐标是灰度值r ,纵坐标是出现这个灰度值的概率密度p(r)(对连续图像f(x,y)而言),或者出现这个灰度值的概率值p(r i )(对数字图像f(m,n))而言。 (1) 连续图像f(x,y)的直方图 0()()p()lim r A r r A r r r A →+-=? 且有max min ()1r r p r dr =? (2) 数字图像f(m,n)的情况下,设图像像素的灰度值为r 0,r 1,…,r L-1,则概率p(r i )为: (i=0,1,…,L -1)且有 尽管灰度直方图不能表示出有某灰度级的像素在什么位置,更不能直接显示图像内容,但是具有统计特性的直方图却能描述该图像的灰度分布特性,使人们从中得到诸如总体明亮程度、对比度、对象物的可分性等于图像质量有关的灰度分布概貌,成为一些处理方法的重要依据。 imhist(I,N)函数绘制直方图。其中N 表示长度,缺省值为256. Histeq(I,N)函数实现直方图均衡化,该命令对灰度图像I 进行变换,返回有N 级灰度的的图像J 。N 的缺省值为64(当N 小于I 中灰度级数时,J 的直方图更为平坦)。 PS: 直方图均衡化后,图像直方图趋于平坦化,且灰度间隔被拉大,从而有利于图像的分析和识别。(理论上说直方图均衡化就是通过变换函数将原图的直方图调整为平坦的直方图,然后用此均衡直方图校正图像。而实际上直方图均衡化修正后的图像直方图并不是十分均衡的,因为在操作过程中原直方图上频数较小的某些灰度级并入一个或几个灰度级中。) 1)连续图像,变换函数T(r)与原图像概率密度函数Pr(r)之间的关系为: S=T(r)= _/ ∑_( 2)离散图像,第i个灰度级ri出现的频数用ni表示,该灰度级像素对应的概率值为: Pr(ri) 0≤ri≤1 i=0,1,...,L-1 其中L是灰度级的数目,Pr(r)是第i级灰度的概率,ni是在图像中出现这种灰度级的次数,n是帧内像素总数。则离散函数的变换函数表达式:

课设报告正文(MATLAB的图像直方图的计算与显示)

目录 摘要........................................................................ I 1 基础介绍 (1) 1.1MATLAB简介 (1) 1.2数字图像处理简介 (1) 2 设计原理分析 (3) 2.1灰度直方图的定义 (3) 2.2设计原理 (3) 2.3常用函数介绍 (3) 3 程序及运行结果 (4) 3.1流程图 (4) 3.2源程序 (4) 3.3运行结果 (5) 3.4库函数运行结果 (7) 4设计总结 (8) 5心得体会 (9) 参考文献 (10)

1 基础介绍 1.1MATLAB简介 MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 1.2数字图像处理简介 数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。

相关主题