课程设计报告

发布 2022-10-04 10:19:28 阅读 9735

设计题目: 直方图修改技术

学院理学院。

专业: 2009级光信息科学与技术

班级1 班。

学号。姓名。

电子邮件。时间: 2012-09

成绩。指导教师: 麦志杰。

直方图修改技术。

一实验内容。

1. 直方图均衡化处理

直方图均衡化是一种最常见的间接对比度增强方法,通过使用累积函数对灰度值进行“调整”以实现对比度的增强。

直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。

缺点: 1)变换后图像的灰度级减少,某些细节消失;

2)某些图像,如直方图有高峰,经处理后对比度不自然的过分增强。

直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。

这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。

这种方法对于背景和前景都太亮或者太暗的图像非常有用。这种方法的一个主要优势是它是一个相当直观的技术并且是可逆操作,如果已知均衡化函数,那么就可以恢复原始的直方图,并且计算量也不大。这种方法的一个缺点是它对处理的数据不加选择,它可能会增加背景杂讯的对比度并且降低有用信号的对比度。

直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了像素灰度值的动态范围从而可达到增强图像整体对比度的效果。设原始图像在(x,y)处的灰度为f,而改变后的图像为g,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。在灰度直方图均衡化处理中对图像的映射函数可定义为:

g = f),这个映射函数(f)必须满足两个条件(其中l为图像的灰度级数):

(1) (f)在0≤f≤l-1范围内是一个单值单增函数。这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。

(2)对于0≤f≤l-1有0≤g≤l-1,这个条件保证了变换前后灰度值动态范围的一致性。

累计分布函数(cumulative distribution function,cdf)即可以满足上述两个条件,并且通过该函数可以完成将原图像f的分布转换成g的均匀分布。此时的直方图均衡化映射函数为:

n(k=0,1,2,……l-1)

上述求和区间为0到k,根据该方程可以由源图像的各像素灰度值直接得到直方图均衡化后各像素的灰度值。在实际处理变换时,一般先对原始图像的灰度情况进行统计分析,并计算出原始直方图分布,然后根据计算出的累计直方图分布求出到的灰度映射关系。在重复上述步骤得到源图像所有灰度级到目标图像灰度级的映射关系后,按照这个映射关系对源图像各点像素进行灰度转换,即可完成对源图的直方图均衡化。

2. 直方图匹配(规定化)处理。

所谓直方图规定化,就是通过一个灰度映像函数,将原灰度直方图改造成所希望的直方图。所以,直方图修正的关键就是灰度映像函数。

直方图匹配方法主要有3个步骤(这里设m和n分别为原始图和规定图中的灰度级数,且只考虑m=n的情况):

(1) 如同均衡化方法中,对原始图的直方图进行灰度均衡化:

(2) 规定需要的直方图,并计算能使规定的直方图均衡化的变换:

3) 将第1个步骤得到的变换反转过来,即将原始直方图对应映射到规定的直方图,也就是将所有()对应到() 去。

3. 对比度处理。

对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量, 差异范围越大代表对比越大,差异范围越小代表对比越小,好的对比度120:1就可容易地显示生动、丰富的色彩,当对比度高达300:1时,便可支持各阶的颜色。

但对比度遭受和亮度相同的困境,现今尚无一套有效又公正的标准来衡量对比度,所以最好的辨识方式还是依靠使用者眼睛。

二编程工具。

matlab 7.8.0

三程序源程序。

clear all

灰度化原图像。

a=imread('f:\movie\temp\悟饭。jpg读入彩色图像。

imshow(a显示出来。

title('原图')

绘制直方图。

m,n]=size(a测量图像尺寸。

b=zeros(1,256预创建存放灰度出现概率的向量。

for k=0:255

b(k+1)=length(find(a==k))/m*n); 计算每级灰度出现的概率,将其存入b中相应位置。

endfigure,bar(0:255,b,'g绘制直方图。

title('原图像直方图')

xlabel('灰度值')

ylabel('出现概率')

axis([0,270,0,0.02])

直方图均衡化。

t1=zeros(1,256);

for i=1:256

for j=1:i

t1(i)=b(j)+t1(i计算tk

endend

t2=round((t1*255)+0.5将tk归到相近级的灰度。

for i=1:256

beq(i)=sum(b(find(t2==i计算现有每个灰度级出现的概率。

endfigure,bar(0:255,beq,'g显示规定化直方图。

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

xlabel('灰度值')

ylabel('出现概率')

axis([0,255,0,0.02])

直方图匹配。

s1=zeros(1,256);

for i=1:256

for j=1:i

s1(i)=b(j)+s1(i计算原灰度图累计直方图。

endend

counts=[zeros(1,49),0.1,zeros(1,49),0.2,zeros(1,49),0.

3,zeros(1,49),0.1,zeros(1,49),0.2,zeros(1,49),0.

1];%规定化直方图。

s2=zeros(1,256);

for i=1:256

for j=1:i

s2(i)=counts(j)+s2(i);

endend累计"规定化直方图。

figure,bar(0:255,s2,'g显示均衡化后的直方图。

title('规定化的直方图')

xlabel('灰度值')

ylabel('出现概率')

axis([0,255,0,0.02])

for i=1:256对比直方图,找到相差最小的灰度级。

for j=1:256

if s1(j)<=s2(i)&s1(j+1)>=s2(i)

if abs(s1(j)-s2(i))

else t(i)=j+1;

endend

endend

for j=1:256确定变换关系,重组直方图。

for i=1:256

h(j)=sum(b(find(t==j)))

endend

figure,bar(0:255,h,'g显示规定化后的直方图。

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

xlabel('灰度值')

ylabel('出现概率')

axis([0,255,0,0.02])

四程序执行结果。

五总结。经过这次课程设计,我深刻地了解到图像的数据是如何在计算机上处理的。如在matlab中,图像是以矩阵的形式存在,并且有多种类型,例如有24位真彩色图(rgb)(数据是三维矩阵位灰度图和二值图、索引图(数据室二维矩阵)等等。

而在数据处理时,还要注意灰度值的数据类型,如double和uint8类型之间的运算有先转换为相同类型。

直方图表征了图像的一维信息,只反映图像中像素不同灰度值出现的次数(或频数)而未反映像素所在位置;与图像之间的关系是多对一的映射关系,一幅图像唯一确定出与之对应的直方图,但不同图像可能有相同的直方图;子图直方图之和为整图的直方图。它是多种空间域处理技术的基础。直方图操作能够有效用于图像增强;提供有用的图像统计资料,其在软件中易于计算。

课程设计报告格式 课程设计

洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...

课程设计总结,课程设计报告

课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...

课程设计 课程设计报告格式

学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...