- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实 验 四
【实验名称】
对比度拉伸、直方图均衡及规格化处理
【实验内容】
编写对比度拉伸、直方图均衡及规格化(匹配)处理程序:通过参数调整使程序分别完成线性拉伸和非线性拉伸的直方图显示,完成直方图均衡及规格化处理程序的编程和测试工作。
实验使用的操作系统是Windows XP,使用的软件是Visual C++ 6.0。
【算法分析】
对比度拉伸主要是对像素的灰度值进行变换,分为线性变换和非线性变换。线性拉伸是输出灰度值与输入灰度值呈线性关系的象素级运算,灰度变换的一般公式为:
Db=f(Da)=a(Da)+(b)
a1:输出图像的对比度将增强;
a1:输出图像的对比度将减弱。
非线性拉伸是输出灰度值与输入灰度值呈非线性关系的象素级运算,灰度变换的一般公式:
gij=F(fij) (i,j: 0,1,…,L-1 L为灰度级)
其中,F(x)=x+cx(L-1-x),
c0:中间灰度范围加强;
c0:中间灰度范围减弱;
F(x)的格式可以是抛物线,正弦函数,正切函数等非线性函数。
直方图均衡化的基本思想是对在图像中像素个数多的灰度级进行展宽,而对像素个数少的灰度级进行缩减,从而达到清晰图像的目的。即实现在灰度级范围内的灰度值映射,可以表示为:,实现算法如下:
(1)数组p,统计各个灰度值的个数,用一个数组p纪录p[i];
(2)引入数组s[0] = p[0],s[i]=s[i-1]+p[i];
(3)计算新的灰度级映射,引入数组L, 令L[i]=s[i]/总像数*(原灰度级长度-1);
(4)按照新的灰度级映射显示原图片。(如某个像素灰度值为gray,则该点的新灰度值L[gray])。
直方图匹配(格式化):为了达到有目的的增强原始图像,可直接指定直方图的形状进行匹配。直方图匹配的目标就是为了达到处理后的图像的直方图和指定的直方图尽可能地相似,其算法流程如下:
对原图做均衡化处理,可表示为:①;
对给定的直方图做均衡化处理,可表示为:②;
对②式求逆用(1)中得到,并用替换,其中和满足满足最小, 可以得到灰度映射,可以表示为:③;
按照③式,调整图像各个像素的灰度值。
【实验步骤】
1、在实验二、三的基础上,添加对比度拉伸、直方图均衡化及规格化的菜单项和相应的响应函数OnLine(),OnQiufan(),OnFenduan(),OnP(),OnSin(),OnTan(),OnEqualization()和OnSpecification()。
2、设计用于输入线性变换参数的对话框,并创建相应的对话框类CLine;在CLine类中添加成员变量m_a和m_b,用于传递线性变换参数a和b。
3、设计用于输入非线性变换参数的对话框,并创建相应的对话框类CNonliner;在CNonliner类中添加成员变量m_c,用于传递非线性变换参数c或a。
4、编码实现相关的函数功能。
【实验结果及分析比较】
线性变换
a) 一般线性变换:Db=f(Da)=a(Da)+ b
原 图 一般线性变换后
b) 求反:F(x)=255-x,求反后的图像和直方图如下
c)分段线性变换:对灰度值0~63和192~255的范围缩减至0~31和224~255,对灰度值64~191的范围增加至32~223。分别对图像灰度值的R、G、B分量做如下操作:
若X64,则F(X)=X/2
若64≤X192,则F(X)=(X-64)*1.5+32
若X≥192,则F(X)=(X-192)/2+224
原 图 分段变换后
非线性变换
a) 二次变换:F(x)=x+cx(L-1-x)。
二次变换有两种,如果需要增加中间灰度范围,则参数C取正值;如果需要减少中间灰度范围,则参数C取负值。在输入C为0.005时,变换如下:
c=0.005
原 图 二次变换后
b) 正弦变换F(X)=255/2*{1+sin[α∏*(x/255-0.5)]/sin(α∏/2)} 取a=0.5
原 图 正弦变换后
c) 正切变换F(X)=255/2*{1+tan[α∏*(x/255-0.5)] /tan(α∏/2)}
原 图
文档评论(0)