智能优化算法应用:基于麻雀搜索算法与双伽马校正的图像自适应增强算法 - 附代码
文章目录
智能优化算法应用:基于麻雀搜索算法与双伽马校正的图像自适应增强算法 - 附代码1.全局双伽马校正2.麻雀搜索算法3.适应度函数设计4.实验与算法结果5.参考文献6.Matlab代码摘要:本文主要介绍基于麻雀搜索算法与双伽马校正的图像自适应增强算法。
1.全局双伽马校正
设图像的灰度值范围被归一化到[0, 1]范围之内,基于全局亮度的双伽马调整函数(Bilateral Gamma Adjustment, BiGA)的图像增强方法该函数由 2个伽马函数Ga 和Gb 融合而成,其数学表达式如下:
Ga(x)=x1/r(1)G_a(x) = x^{1/r} \tag{1} Ga(x)=x1/r(1)
Gb(x)=1−(1−x)1/r(2)G_b(x)=1-(1-x)^{1/r} \tag{2} Gb(x)=1−(1−x)1/r(2)
G(x)=αGa(x)+(1−α)Gb(x)(3)G(x) = \alpha G_a(x) + (1-\alpha)G_b(x) \tag{3} G(x)=αGa(x)+(1−α)Gb(x)(3)
式中 xxx 是输入图像的灰度值,rrr 是可调节变量,用以调整图像增强程度,一般取 r=2.5r =2.5r=2.5,α\alphaα 是调节参数,取值范围为[0, 1]。Ga(x)G_a(x)Ga(x) 是一个凸函数,Gb(x)G_b(x)Gb(x)用于增强暗区域。 是一个凹函数,用于抑制图像的亮区域。最终 BiGA 增强算法的调整函数G(x)G(x)G(x)是由Ga(x)G_a(x)Ga(x)和Gb(x)G_b(x)Gb(x) 取加权得到的。
使用 BiGA 对图像进行校正之前,首先利用式(4)进行归一化理,然后利用式(5)进行双伽马函数校正图像,最后,采用式(6)将其取值范围调整到[0,255]之间。
I1(x,y)=I(x,y)/256(4)I_1(x,y) = I(x,y)/256 \tag{4} I1(x,y)=I(x,y)/256(4)
I2(x,y)=G(I1(x,y))(5)I_2(x,y)=G(I_1(x,y)) \tag{5} I2(x,y)=G(I1(x,y))(5)
I(x,y)=I2(x,y)∗256(6)I(x,y) = I_2(x,y)*256 \tag{6} I(x,y)=I2(x,y)∗256(6)
2.麻雀搜索算法
麻雀搜索算法具体原理请参照:/u011835903/article/details/108830958。
3.适应度函数设计
本文评价函数设计如下:
fitness=α1∗H+α2∗S+α3∗log(Stv)(7)fitness = \alpha_1*H + \alpha_2*S + \alpha_3*log(Stv) \tag{7} fitness=α1∗H+α2∗S+α3∗log(Stv)(7)
其中α1,α2,α3\alpha_1,\alpha_2,\alpha_3α1,α2,α3为常数,代表目标函数的相对重要性。本文将熵值、边缘内容和灰度标准方差等同取值,即α1=α2=α3=1/3\alpha_1 = \alpha_2 =\alpha_3 = 1/3α1=α2=α3=1/3.
式(7)中 HHH 代表测试图像的熵值,图像的熵值越大,代表图像所含的信息量越大,细节越丰富。
H=−∑i=0255p(i)log2(p(i))(8)H = -\sum_{i=0}^{255}p(i)log_2(p(i)) \tag{8} H=−i=0∑255p(i)log2(p(i))(8)
其中 p(i)p(i)p(i)某个灰度值(iii)在该图像中出现的概率。
式(7)中 SSS 代表由 sobelsobelsobel 边缘检测算子计算的测试图像的边缘内容,其值越大,代表测试图像包含的边缘信息越多,图像对比度越好。其定义式如下:
S=n_edges(E)T(9)S = \frac{n\_edges(E)}{T} \tag{9} S=Tn_edges(E)(9)
n_edges(E)n\_edges(E)n_edges(E)表示由 sobel边缘检测算子检测到的增强图像中的边缘像素的数量,TTT 是增强图像中的像素总数。
式(7)中 StvStvStv 为测试图像的灰度标准方差,一般情况下,StvStvStv 值越大,所测图像的对比度就越好,越适合人眼观察。
所以对于麻雀搜索算法,寻优即寻找使得fitnessfitnessfitness最大,转换成寻最小值,即−fitness-fitness−fitness最小。
4.实验与算法结果
麻雀搜索算法参数设定如下:
%设定麻雀算法参数SearchAgents_no=30; % 种群数量Max_iteration=50; % 设定最大迭代次数lb = 0; %下边界ub = 1; %上边界dim = 1; %1维度即alpha参数fobj = @(X) fun(I,X);%适应度函数
收敛曲线:
5.参考文献
[1]刘金华. 基于元启发式算法的低照度图像增强研究[D].郑州轻工业大学,.
[2] Sazzad T S, Hasan M Z, Mohammed F, et al. Gamma encoding on image processing considering human visualization, analysis and comparison[J]. International Journal on Computer Science and Engineering, , 4(12): 1868.
6.Matlab代码
/o/bread/aZmZmJY=
如果觉得《智能优化算法应用:基于麻雀搜索算法与双伽马校正的图像自适应增强算法 - 附代码》对你有帮助,请点赞、收藏,并留下你的观点哦!