)类的封装性好,可以方便的对现实直观的事物进行抽像,形成结构化的模块(类),而且这些模块相互独立,互不干扰;
(2)代码重用性好,编写好的类可以使用到任何基于MFC的程序当中,而不需要做任何改动;
(3)程序的可扩展性好,这就是说可以方便的添加类的功能,却不用在原类中添加任何代码,只需定义一个相对独立的继承类即可,因此不会纠缠于面向过程纷繁的参数传递和变量的作用域问题。这得益于面向对象方法的一个显著特点:继承性。
1直方图均衡化原理
直方图的横坐标是灰度级,一般用r表示,纵坐标是具有该灰度级的像素个数或出现这个灰度级的概率Prk。
Prk
kN
式中,N为一幅图像中的像素的总数,
k为图像中第k级灰度的像素数,rk表示第k个灰度级,Prk表示该灰度级出现的概率。因为Prk给出了对rk出现概率的一个估计,所以直方图提供了原图的灰度分布情况。
直方图均衡的基本思想是对原始图像中的像素灰度做某种映射变换使变换后的图像灰度的概率密度是均匀分布的即变换后图像是一幅灰度级均匀分布的图像这意味着图像灰度的动态范围的可得到理想的伸缩,从而可提高图像对比度。
本论文中,为研究方便,用r和s分别表示归一化了的原始图像和变换后的图像灰度。即
0≤r≤1,0≤s≤10代表黑,1代表白
在0,1区间内的任一个r植,都可以产生一个s值,即sTr,Tr为变换函数。为使灰度变换具有实际意义,Tr应满足以下条件:
(1)在0≤r≤1区间,Tr为单调递增函数;
(2)在0≤r≤1区间,有0≤Tr≤1。
这里,条件(1)保证灰度级从黑到白的次序,条件(2)保证变换后的像素灰度仍在原来的动态范围内。
由s到t的反变换为:
rT1s0≤s≤1
f龙源期刊网httpwwwqika
comc
这里T1s对s也满足条件(1)和条件(2)。由概率论知,若原图像灰度级的概率密度函数Prr和变换函数Tr已知,且T1s是单调递增函数,则变换后的图像灰度级的概率密度函数Pss如下式所示:PssPrrdrdsrT1s对于连续图像,当直方图均衡化(并归一化)后有Pss1,即:dsPrrdrdTr两边取积分得:
sTr∫0rPrrdr上式就是所求的变换函数,它表明变换函数是原图像的累计分布函数,是一个非负的递增函数。对于离散图像,假定数字图像中的总像素为N,灰度级的总数为L个,第k个灰度级的值为rk,图像中具有灰度级rk的像素数目为
k,则该图像中灰度级rk的像素出现概率(或称频数)为:Prrk
kN0≤rk≤1;k01L1对其进行均匀化处理的变换函数为:
skTrk∑Prr