近几年视频监控系统越来越发达,但在低照度环境中,由于光照不足而 导致图像亮度低,细节信息丢失严重,对图像的识别带来困难。因此对低照 度图像增强算法进行研究有着重要的理论意义与应用价值。
图像去雾技术虽然经历了长期的发展,并取得了大量研究成果,但仍然存在 不少难点问题亟需解决。图像去雾技术难点归纳如下:
- 普适性 ;室外环境复杂多样,不同的有雾图像有不同的景物深度和不同的雾浓度,各 种去雾算法对不同有雾图像的去雾和增强效果不同,很难保证有某种去雾方法能 对所有有雾图像都取得很好的去雾效果。
- 实时性; 要得到广泛应用,算法必须满足实时性要求。基于图像增强原理的去雾方法 中虽然有不少方法计算简单,能够满足实时性要求,但是去雾效果却一般。而基 于物理模型的去雾方法虽然去雾效果很好,恢复图像自然,但是计算复杂度高, 时间开销大,很难满足实时性要求。
- 图像评价标准; 目前对于雾天复原图像没有统一的评价标准,主客观评价结果并不表现出高 度一致性,有时客观评价结果很好的图像,主观评价结果可能一般,反之,有时 主观评价结果出众的图像,客观评价结果可能不理想,这是由于人类主观视觉感 受受很多因素的影响,而不是仅仅取决于单一客观指标。
一、算法实现
本文研究低照度图像反转图像与雾天图像的相似之处,针对暗原色先验 去雾算法进行图像去雾后会出现块效应以及透射率细化所采用的软抠图法存 在的时间复杂度高等问题,本文研究了改进的暗原色先验与直方图均衡化融 合的低照度图像增强算法。采用常数替代最小值滤波,对图像进行逐像素处 理,快速求解出精简透射率。通过引进参数对精简透射率进行补偿,防止图 像像素点的通道最小值较大导致的图像失真问题发生。对于大气光值采用四 叉树算法进行估计。再对经过暗原色先验算法处理后的图像进行直方图均衡 化处理,使得图像灰度直方图由非均匀分布变换为在灰度范围内的均匀分布, 进一步提高对比度,最后进行图像反转从而获得增强后的低照度图像。仿真 结果表明,改进的算法提高了低照度图像的亮度与对比度,有效的消除了块 效应,图像色彩还原度高,提升了图像的可视性,且与软抠图法相比运行速 率明显提高。但对低照度图像景深处的增强效果不明显。 针对上述算法存在的缺点以及传统同态滤波算法传递函数参数过多难以 控制和多尺度 Retinex 算法容易产生光晕伪影现象等问题,研究了一种改进 的基于同态滤波及多尺度 Retinex 低照度图像增强算法。首先对低照度图像 的 R、G、B 三种分量分别用改进的同态滤波算法进行增强,提高图像对比 度;然后将图像从 RGB 颜色空间转换到 HSV 颜色空间;在 HSV 颜色空间对 饱和度分量进行自适应非线性拉伸,同时用改进的多尺度 Retinex 算法对亮 度进行增强处理,对照射分量用伽马变换进行校正,对反射分量用 Sigmoid 函数进行处理,最后将图像再转换至 RGB 颜色空间输出。用 Matlab 对图像 进行仿真处理,实验表明该算法提高了低照度图像的信息熵、峰值信噪比和 对比度,提升了低照度图像的视觉效果。
二、代码展示
RGB 颜色空间目前是图像处理领域应用最为广泛的颜色空间模型,它可以 展示人眼可观察到的所有颜色。该颜色空间基于笛卡尔坐标系统,将红(R)、绿 (G)、蓝(B)作为其基本色,R、G、B 同时分别对应笛卡尔坐标系统的三个坐标 轴。R、G、B 三种基本色可以叠加生成自然界常见的颜色光,同样各种颜色光 也可以分解成红、绿、蓝这三种基本色。
function varargout = main(varargin)
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help selectFile
% Last Modified by GUIDE v2.5 12-Apr-2022 16:49:27
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @selectFile_OpeningFcn, ...
'gui_OutputFcn', @selectFile_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before selectFile is made visible.
function selectFile_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to selectFile (see VARARGIN)
% Choose default command line output for selectFile
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes selectFile wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = selectFile_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on button press in pushbutton1.选择文件按钮
function pushbutton1_Callback(hObject, eventdata, handles)
axes(handles.axes5);%绑定控制的是那个axes
[filename,pathname]=uigetfile({'*.jpg';'*.png'},'选择测试图片文件');
picturepath=[pathname,filename];
before=imread(picturepath);
imshow(before);
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
参考文献
【1】王小元. 低照度图像增强算法的研究与实现[D]. [硕士学位论文].四川: 西 南科技大学, 2016.
【2】田小平, 乔东. 基于双直方图均衡化的色彩图像增强[J]. 西安邮电 大学学报, 2015.
详情资料请扣扣:1341703358,本文对低照度图像增强算法展开研究。 通过对经典的低照度图像增强算法进行理论研究和仿真实验,分析其存在的问 题。在原有图像增强算法的基础上,研究了两种改进的低照度图像增强算法, 并通过实验仿真来对比验证算法的有效性