基于改进自动色彩均衡算法的图像增强方法(含程序)

摘 要

       图像增强是指对图像的某些特征,如边缘、轮廓、对比度等进行强调或锐化,以便于人类观察或进一步分析与处理。通过对图像的特定处理,将原图像转化为效果更“好”或更“有用”的图像。

      图像增强是最基本的图像处理技术,常出现在预处理阶段,是各类复杂处理的基础。因此,研究更高效的图像增强算法具有重要的意义。

    为了实现更好的图像增强,本文提出了一种基于改进自动色彩均衡算法(Automatic Color Enhancement,ACE)的图像增强方法。该方法先利用粒子群算法(Particle Swarm Optimization,PSO)寻优得到ACE算法中最优的倍增系数,然后利用最优的倍增系数进行ACE算法处理,从而达到图像增强的目的。通过相关实验仿真,可以说明PSO_ACE方法是一种高效的图像增强方法,并且继续进行滤波后,可视化效果会更好。

关键词:图像增强;ACE;PSO;倍增系数;PSO_ACE

———————————————————————分割线:此为作者数字图像处理课的大作业

1. 引言

       图像在获取过程中易受到环境噪声的干扰,会出现对比度、信噪比降低现象,严重影响成像质量,因此对图像进行增强可以提升图像的质量。

      目前实现图像增强的算法主要有:直方图均衡[1]( Histogram Equalization,HE)方法,HE方法实现简单,通过重新映射灰度使直方图服从均匀分布,从而达到增强的效果,但是如果直方图中存在的峰值较大,则出现过度增强,达不到理想效果。非下采样轮廓变换[2](Non-Subsampled Contourlet Transform,NSCT)的红外图像增强方法,利用NSCT方法可以获取待增强图像的高频、低频子带系数,不同频带采用不同的方法,消除噪声同时保留边缘信息,但是局部对比度增强效果较弱。多尺度Retinex(Multi-scale Retinex,MSR)算法[3],使用不同尺度参数获取Retinex分量,对这些分量进行线性加权,解决了尺度因子选择的问题,但Retinex分量存在光谱重叠,无法对特定的光谱图像进行精确的增强。

      ACE算法[4]源自Retinex算法,是基于人类视觉系统的一种有效的色彩矫正和增强方法,针对图像中颜色和亮度的空域关系,进行局部自适应滤波,可以实现对局部和非线性特征的亮度调整,实现色彩的对比度调整,实现人眼的色彩恒常性和亮度恒常性。ACE算法是通过差分来计算目标点与周围像素点的相对明暗关系来校正最终像素值,有很好的增强效果,但是计算复杂度非常高。

      针对ACE算法的缺点,本文提出了一种更有效、更快速的实现方法。该方法是利用PSO算法[5]优化ACE算法,将ACE算法增强后的图像信息熵与图像标准差的乘积作为目标函数,将ACE的倍增系数作为待寻优的变量,最终返回最优的倍增系数,利用最优的倍增系数进行ACE算法处理,从而达到增强图像细节的目的。

2. 自动色彩均衡算法

3. 粒子群算法

4. 基于PSO寻优ACE算法的图像增强

5. 结束语

      本次小论文主要是在MATLAB软件中进行设计与仿真,分别进行了PSO_ACE和PSO_ACE_GD两次实验,经过对比可以得出,PSO_ACE方法是一种高效的图像增强方法,并且继续进行滤波后,可视化效果会更好。

参考文献

[1] 王春智, 牛宏侠. 基于直方图均衡化和MSRCR的沙尘降质图像增强算法[J].计算机工程, 2021, 1-10.

[2] 贺林峰, 张晓敏, 武梅梅, 等. 基于非下采样轮廓波变换的中子/X射线图像融合算法研究[J]. 核科学与工程, 2021, 41(3): 662-674..

[3] 张晓东, 秦娟娟, 贾仲仲. 多尺度Retinex在图像去雾算法中的应用研究[J]. 西昌学院学报(自然科学版), 2021, 35(3): 60-65.

[4] 尹胜楠, 崔学荣, 李娟, . 基于快速ACE算法的视觉里程计图像增强方法[J]. 电子测量与仪器学报, 2021, 35(6): 27-33.

[5] 吴越, 王丽萍, 于杰, . 基于粒子群算法离轴多反光学系统设计[J]. 中国光学, 2021, 14(6): 1435-1450.

[6] 代少升, 张绡绡, 余良兵, . 基于侧抑制系数的红外图像细节增强算法[J].重庆邮电大学学报(自然科学版), 2019, 31(5): 681-687.

[7] 吴永红. 基于粒子群算法的人脸识别研究[D]. 株洲: 湖南工业大学, 2021.

[8] 刘潇. 自动色彩均衡算法的优化[D]. 武汉: 华中师范大学, 2015.

[9] 夏希林. 图像滤波去噪及边缘检测技术研究与实验分析[D]. 长春: 吉林大学, 2021.

      附录1. ACE代码

      附录2. PSO+ACE代码

1.	PSO+ACE
2.	addpath(genpath(pwd));  
3.	clear;  
4.	clc;  
5.	close all;  
6.	warning('off')  
7.	%% 定义全局变量  
8.	global meanimg stdimg I img  
9.	I = rgb2ycbcr(imread('test.jpg'));% 将图片转换到ycbcr空间  
10.	img = double(I(:,:,1));  
11.	filter = fspecial('average',3); % 求局部均值  
12.	meanimg = imfilter(img,filter);  
13.	figure;imshow(meanimg/255,[]);  
14.	stdimg = stdfilt(img); %求局部标准差  
15.	temp = stdfilt(img(:,:,1));  
16.	a_range=[0,1]; %PSO寻优,寻优的是ACE算法中的增益因子A  
17.	range = [a_range];  
18.	Max_V = 0.2*(a_range(:,2)-a_range(:,1)); % 最大速度取变化范围的10%~20%  
19.	n=1; % 待优化函数的维数  
20.	psoparams = [10 200 10 2 2 0.8 0.2 1500 1e-25 200 NaN 0 0]; % 参数配置,详细查看pso工具箱使用文档  
21.	Bestarray = pso_Trelea_vectorized('obj_func', n, Max_V, range, 1, psoparams); % 调用PSO寻优,返回最优参数以及最优函数值  
22.	%%输出增强后的图像(将获得增益因子代入ACE)  
23.	D = mean(meanimg(:));  
24.	c = Bestarray(1)*D./(stdimg);  
25.	c(c>10) = 3;  
26.	result = meanimg + c.*(img - meanimg);  
27.	MIN = min(min(result));  
28.	MAX = max(max(result));  
29.	result = (result - MIN)/(MAX - MIN);  
30.	result = adapthisteq(result);  
31.	I(:,:,1) = result*255;  
32.	result_img = ycbcr2rgb(I);  
33.	figure;imshow(result_img);  
34.	title('PSO_ACE');

附录3. PSO+ACE+GD代码 

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2022年5月26日
下一篇 2022年5月26日

相关推荐