- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Retinex和金字塔结构的图像增强算法研究程序毕业论文验收报告文档
基于Retinex和金字塔结构的图像增强算法研究程序验收报告
1多尺度Retinex算法
1.1Retinex理论
Retinex理论是将原始图像看作图像反射分量和图像照射分量的组成。该理论是在原始图像中去除或降低环境光照的影响(如光源强度、光照不均等一系列不确定的因素)从而保留反映物体本质特征反射属性。在Retinex模型中,对于一幅给定的图像 可分解为两部分,一部分是物体表面的入射光部分,对应图像的低频部分,称之为入射图像 ;另一部分是物理的反射部分,对应图像的高频部分,称之为可分解为反射图像 。其中不确定的干扰信息往往来自物体的入射光分量,反射分量能反映出物体的本质特征,所以如果将给定图像的入射图像和反射图像分离,那么可以通过改变调整入射分量和反射分量的大小,突出获取图像的更多有用信息。
观测图像可表示为:
(2.1)
其中,是人眼观察到的图像,从照射图像就可以确定图像中像素灰度值能够到达的动态范围,反射图像反映图像中物体的本质特征信息,物体吸收和反射光线的能力与物体表面的性质有关。
由于对数形式更接近人眼亮度的感知能力,因此常常将图像转换到对数域进行处理。将乘积运算转换成对数域的加减运算,得:
(3.2)
其中,,,。在处理的过程中,很难直接得到物体的反射分量,从数学角度来看,求解是一个奇异问题,只能通过数学方法来近似估算。
图1 retinex原理图
通过某种平滑尽可能准确地模拟照射图像。在Retinex计算中,先对原始图像取对数,再用特定的方法估计照射图像,最后计算原始图像和照射图像的差获得反射图像。
1.2 多尺度Retinex算法
采用高斯环绕函数对照度分量进行估计,就可得到单尺度Retinex算法。单尺度 Retinex算法公式为:
(2.2)
采用高斯函数进行估算照度分量:
(2.3)
其中尺度参数为高斯函数的标准差,且满足:
(2.4)
因此入射分量可有和得到:
(2.5)
所以,经过变换后的算法表达式为:
(2.6)
一般情况下选取高斯环绕函数,其中尺度参数相当于高斯模板的半径,该值的选择对算法至关重要,其大小直接影响增强图像的质量。选择恰当值,在动态范围压缩、色彩保真、提高对比度之间得到折衷。较大时,处理后的图像颜色保真性更好,但随之图像灰度值动态范围的压缩效果减弱。而当较小时,高斯模板的半径变小,使得图像的局部细节信息突显出来,图像灰度值动态范围的压缩效果提高,但可能出现颜色失真现象。算法的一大缺陷即算法无法同时兼顾增强图像的动态范围压缩、边缘锐化、色彩保持度等多方面的特性,此外不能同时兼顾保留图像细节和图像整体结构,处理后得到的图像往往会出现光晕现象。
算法的可以看做是由多个不同尺度的加权平均值
(2.7)
其中,为在第个通道上的输出,表示输入图像的第个通道,为高斯环绕函数,是高斯环绕函数的个数,是尺度的相关权值。当时,算法即为简化了的算法;在常用的中,如果,算法的效率将会大大降低,而且与相比,增强效果并没有得到显著提高。因此权衡增强效果与处理速度,选取,三个尺度参数分别为小尺度、中尺度和大尺度[47]。这样选择使其兼备了算法多个尺度的优点。其中。
高斯卷积函数的公式定义如下:
(2.8)
Step1:将输入图像变换至对数域;
Step2:设定小、中、大三个不同尺度参数,确定环绕函数,利用高斯函数计算相应的高斯模板;通过确定的高斯函数对原图像做卷积,得到滤波后的图像;
Step3:根据选择的权值,对三个尺度的输出结果做加权求和;
Step4:计算图像中原图像和加权后所得图像的相对明暗关系,即将两者在对数域中相减;
Step5:对第四步的结果进行指数变换。
1.3 MSR算法程序
function z=MSR(f)
fr=f(:, :, 1); fg=f(:, :, 2); fb=f(:, :, 3); %RGB通道
mr=mat2gray(im2double(fr));
mg=mat2gray(im2double(fg));
mb=mat2gray(im2double(fb)); %数据类型归一化
alf1=1458; %定义标准差alf1
n=161; %定义模板大小
for i=1:n
文档评论(0)