CN111489308B - 一种实时长波红外透雾性能增强算法 - Google Patents
一种实时长波红外透雾性能增强算法 Download PDFInfo
- Publication number
- CN111489308B CN111489308B CN202010258081.0A CN202010258081A CN111489308B CN 111489308 B CN111489308 B CN 111489308B CN 202010258081 A CN202010258081 A CN 202010258081A CN 111489308 B CN111489308 B CN 111489308B
- Authority
- CN
- China
- Prior art keywords
- image
- histogram
- dark
- function
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 40
- 230000035515 penetration Effects 0.000 title claims abstract description 10
- 238000002834 transmittance Methods 0.000 claims abstract description 43
- 238000001914 filtration Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 20
- 230000002708 enhancing effect Effects 0.000 claims abstract description 12
- 238000005457 optimization Methods 0.000 claims abstract description 11
- 239000011159 matrix material Substances 0.000 claims description 33
- 238000005070 sampling Methods 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 17
- 238000011084 recovery Methods 0.000 claims description 12
- 239000013598 vector Substances 0.000 claims description 12
- 230000002457 bidirectional effect Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 11
- 238000003491 array Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 claims description 7
- 230000001186 cumulative effect Effects 0.000 claims description 6
- 230000033228 biological regulation Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000012935 Averaging Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 101100129590 Schizosaccharomyces pombe (strain 972 / ATCC 24843) mcp5 gene Proteins 0.000 claims description 2
- 208000032370 Secondary transmission Diseases 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 10
- 238000004364 calculation method Methods 0.000 description 8
- 125000001475 halogen functional group Chemical group 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000003595 mist Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10048—Infrared image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种实时长波红外透雾性能增强算法,步骤如下:1)读取长波红外有雾图像和相同场景点长波红外无雾图像并进行初始化;2)利用最小值滤波优化方法得到暗通道图;3)利用求亮度最高值均值方法得到大气光值;4)利用透射率优化求取方法得到透射率;5)利用公式求取无雾图像;6)将去雾恢复图像与期望图像的直方图进行匹配;7)将匹配后的直方图进行灰度密度和间距的均衡化。本发明去浓雾效果良好,同时改善了图像对比度和暗色调,防止灰度丢失和色斑产生,建立了与期望图像的关系,并尽量缩短算法时间。
Description
技术领域
本发明属于红外图像处理技术,具体涉及一种实时长波红外透雾性能增强算法。
背景技术
图像去雾技术是通过一定的手段去除图像中雾的干扰,从而得到高质量的图像,以便得到满意的视觉效果并获得更多有效的图像信息的技术。对红外图像去雾技术的研究可广泛使用与视频监控、卫星遥感、车辆安全辅助、军用侦查、城市交通等多个领域,且对雨雪等极端天气图像的清晰化、水下图像分析等具有一定的参考价值。雾天图像处理可分为雾天图像增强和雾天图像复原两类,其中基于图像处理的增强方法包含全局化增强和局部化增强两类,而基于物理模型的复原方法则包含基于偏微分方程、基于深度关系与基于先验信息三类。对红外去雾算法研究相对较少,董浩伟等设计一种基于大气散射模型和Retinex的红外图像去雾算法,有利于提高对比度和突出细节,但该方法不具备边缘保持能力,反射图像有光晕;李青山等提出了融合中红外波段的大尺度机载可见光影像去雾算法,但该方案配准困难,且容易存在光晕效应;李毅等提出一种基于去雾模型的红外图像对比度算法,利用均值滤波估计透过率大大降低了计算复杂度,但该方案无法去除噪声,对浓雾效果较差;卢忱言等提出一种基于改进暗通道算法的夜间有雾环境下红外图像去雾算法,有一定的去雾效果但实时性较差且对大气光值估计易有误差;宋佳怡等提出了一种融合暗通道滤波和空间金字塔的图像去雾算法用于海上红外图像去雾,可解决亮度较高、大气光估计值较高等问题,但其未对较浓雾情况时去雾情况进行仿真;梁健等提出可见光与近红外融合的偏振去雾算法,但是该方案仅对薄雾的去雾有一定效果。而目前对长波红外有雾图像进行去雾与去雾算法的研究较少。
发明内容
本发明的目的在于提供一种实时长波红外透雾性能增强算法,以解决在各种浓度的雾天气中采集到的长波红外有雾图像有不同程度的图像退化与模糊,且图像呈现色调偏暗,细节不明显,对比度低,易产生光晕与色斑,灰度值动态范围偏小,无法与期望图像实现交互性的问题。
实现本发明目的的技术解决方案为:一种实时长波红外透雾性能增强算法,包括以下步骤:
步骤1,读取长波红外有雾图像作为原始图像,读取与原始图像相同场景点长波红外无雾图像作为期望图像,对原始图像、去雾恢复图像和暗通道图像进行初始化,设置去雾参数,得到原始图像的初始化图像、去雾恢复图像的初始化图像和暗通道图像的初始化图像;
步骤2,将原始图像的初始化图像的每个像素各分量的最小值存入一幅和原始图像大小相同的灰度图中,获得最小值灰度图,再对最小值灰度图进行最小值滤波与优化,得到暗通道图;
步骤3,针对长波红外有雾图像的特点在暗通道图中找到亮度最高值,并在一定区域内进行亮度最高值平均,得到优化的大气光值;
步骤4,将暗通道图和大气光值带入透射率公式,进行透射率估计,得到透射率图,对透射率图进行图像降采样,利用导向滤波获得更为精细的透射率图后再利用图像升采样恢复图像大小,获得二次透射率图;
步骤5,将暗通道图、大气光值和二次透射率图带入公式进行无雾图像恢复,获得去雾恢复图像;
步骤6,根据去雾恢复图像获得其直方图,并对去雾恢复图像的直方图应用直方图规定化原理进行调整,以匹配期望图像的直方图分布规律,获得调整直方图分布后的图像;
步骤7,将获得的调整直方图分布后的图像通过双向直方图均衡化技术在直方图的灰度密度和灰度间距两个方向同时进行均衡化处理,最终得到高质量长波红外去雾图像。
本发明与现有技术相比,其显著优点在于:
(1)本发明能有效识别并去除长波红外有雾图像中的雾,且在对浓雾有雾图像处理时效果良好。
(2)本发明对去雾恢复图像的直方图进行调整,以匹配期望图像的直方图,使其与期待场景的图像状态产生交互性,并进一步通过对直方图灰度密度和灰度间距两个方向的均衡化处理,使得去雾增强后图像获得更多原图像细节与期望获得的图像信息,同时防止灰度丢失及光晕与色斑产生,增强了动态范围偏小图像的对比度。
(3)本发明针对长波红外有雾图像特点改进大气光值计算方式,在缩短大气光值计算复杂度的同时获得更适合无雾图像恢复的大气光值估计值。
(4)本发明针对长波红外有雾图像特点进行有针对性的参数优化与图像增强,对图像低动态范围内色调偏移暗,亮度衰减,对比度低等突出问题进行优化。
(5)本发明通过调整各滤波方式和对透过率图降采样后再进行精细化处理等方法降低图像算法复杂度,大大降低整体算法运算时间。
附图说明
图1是本发明的算法实现流程图。
图2是本实例中得到的暗通道图和透射率图,其中图2中的(a)是暗通道图,图2中的(b)是透射率图。
图3是本实例中原图,暗通道去雾处理后结果与图像增强后最终结果对比图,其中图3中的(a)是原图,图3中的(b)是暗通道去雾图,图3中的(c)是直方图规定化后去雾增强图,图3中的(d)是直方图双向均衡化后的最终去雾增强图。
具体实施方式
下面结合附图对本发明作进一步详细描述。
结合图1,一种实时长波红外透雾性能增强算法,包括以下步骤:
步骤1,读取长波红外有雾图像作为原始图像,读取与原始图像相同场景点长波红外无雾图像作为期望图像,对原始图像、去雾恢复图像和暗通道图像进行初始化,设置去雾参数,得到原始图像的初始化图像、去雾恢复图像的初始化图像和暗通道图像的初始化图像,具体如下:
步骤1-1,读取长波红外有雾图像并将其存储为I0,读取与原始图像相同场景点长波红外无雾图像作为期望图像,将其存储为pic_tem,通过imshow函数展示I0。
步骤1-2,将I0转化为double型后将各像元通道的灰度值除以255以全部转化到0-1之间,变为原始图像的初始化图像I,利用size函数获取I的大小,记为[h,w,c],初始化去雾系数w0为0.95,利用zeros函数得到h*w*c的零矩阵作为去雾恢复图像dehaze的初始化图像,利用zeros函数得到h*w的零矩阵作为暗通道图像win_dark的初始化图像,转入步骤2。
步骤2,将原始图像的初始化图像的每个像素各分量的最小值存入一幅和原始图像大小相同的灰度图中,获得最小值灰度图,再对最小值灰度图进行最小值滤波与优化,得到暗通道图,具体如下:
步骤2-1,将原始图像的初始化图像I的各像素各分量存入win_dark各像素中:
分别遍历I的h个行向量和w个列向量,将I的各像素分量值存入win_dark各像素中;
步骤2-2,选择设置暗通道的滤波窗口为10*10,利用二维顺序统计滤波函数ordfilt2将窗口内10*10个非零数值按小到大排序后将处于第1个位置的元素作为滤波器的输出,从而实现win_dark的最小值滤波,以得到暗通道图win_dark,转入步骤3。
步骤3,针对长波红外有雾图像特点在暗通道图中找到亮度最高值,并在一定区域内进行亮度最高值平均,得到优化的大气光值,具体如下:
步骤3-1,找到并存储暗通道图win_dark中每行列像素最大的点,即亮度最高值:
将win_dark赋值给dark_channel,首先利用max函数返回dark_channel中每一列最大值构成一个行向量,接着再次利用max函数返回得到向量中的最大值temp,利用find函数找到dark_channel中最大的像素点并用[i,j]存储;
步骤3-2,将最大值像素点及周围8个像素点,即该3*3区域内像素点的平均值赋予大气光值A:
将i中第一个数i(1)的值赋予i,将j中第一个数j(1)的值赋予j,i遍历i(1)-1至i(1)+1,j遍历j(1)-1至j(1)+1,利用mean函数将数组I(i,j,;)中所有元素平均值赋予大气光值A,转入步骤4。
步骤4,将暗通道图和大气光值带入透射率公式,进行透射率估计,得到透射率图,对透射率图进行图像降采样,利用导向滤波获得更为精细的透射率图后再利用图像升采样恢复图像大小,获得二次透射率图,具体如下:
步骤4-1,将w0、win_dark和A代入透过率公式计算透射率t(x):
根据暗原色先验理论和雾图像形成模型,进行公式转换以得到透射率公式,其中去雾系数w0为0.95,I(x)为待去雾图像,J(x)为要恢复的无雾图像,雾图像形成模型表示为I(x)=J(x)t(x)+A[1-t(x)],经过转换后推导出透射率估计公式transmission=1-w0*win_dark/A,代入w0、win_dark和A后得到透射率图transmission;
步骤4-2,将透射率图进行图像降采样:
利用dsample函数对I进行降采样得到Idown1,利用dsample函数对transmission进行降采样得到Idown2,即分别将I和transmission变为1/4;
步骤4-3,设定引导图像gray_I为I中任何通道,设定输入图像P为transmission,设定本地窗口半径r为80,设定正规化参数eps为10^-3时透过率图质量最佳,输入上述参数后利用导向滤波guided_filter获得更为精细的透射率图transmission_filter;
步骤4-4,利用usample函数对transmission_filter进行升采样得到二次透射率图Iup,即将透射率图大小变为4倍后,恢复transmission大小,转入步骤5。
步骤5,将暗通道图、大气光值和二次透射率图带入无雾图像恢复公式进行无雾图像恢复,获得去雾恢复图像,具体为:
步骤5-1,为二次透射率图Iup设置阈值:
将0.1赋予阈值t0,利用max函数将标量t0与Iup比较后得到t1,从而防止因t1过小导致最终图像整体过白;
步骤5-2,将I、A和t1代入无雾图像恢复公式以得到去雾恢复图像:
分别将i遍历1到c、j遍历1到h、w遍历1到w后,将I、A和t1代入雾图像形成模型并变换后得到最终图像恢复公式dehaze(j,1,i)=(I(j,1,i)-A)/t1(j,1)+A,进而得到去雾恢复图像dehaze,转入步骤6。
步骤6,根据去雾恢复图像获得其直方图,并对去雾恢复图像的直方图应用直方图规定化原理进行调整,以匹配期望图像的直方图分布规律,获得调整直方图分布后的图像,具体如下:
步骤6-1,利用去雾恢复图像和期望图像进行直方图规定化处理的初始化:
读取去雾恢复图像记为pic_ori,创建进行直方图规定化的函数his_spec,利用size函数分别返回pic_ori和pic_tem的行数和列数得到[h_0,w_0]和[h_t,w_t],将pic_ori赋给pic_ad;
步骤6-2,得到pic_ori和pic_tem的像素灰度统计和分布概率:
分别利用zeros函数生成1*256全零阵,初始化pixelnum_ori、pixelnum_tem、pixelprob_ori、pixelprob_tem,分别对去雾恢复图像和期望图像进行像素灰度统计,得到pixelnum_ori和pixelnum_tem,进而进行分布概率统计,得到pixelprob_ori和pixelprob_tem;
步骤6-3,得到pic_ori和pic_tem的累计分布概率和累计概率差值:
分别利用zeros函数生成1*256全零阵,初始化pixelcum_ori、pixelcum_tem,利用zeros函数生成256*256全零阵,初始化differ,分别对去雾恢复图像和期望图分布概率进行累计叠加,得到pixelcum_ori和pixelcum_tem,进而计算二者累计分布概率差值differ;
步骤6-4,得到pic_ori和pic_tem灰度映射关系并生成调整直方图分布后的图像pic_ad:
分别利用zeros函数生成1*256全零阵,初始化min和gary,找到最小值并确定对应灰度映射得到min,进一步查找表,确认对应灰度映射gray,遍历1到h_0和1到w_0,对pic_ori进行映射调整后得到调整直方图分布后的图像pic_ad,转入步骤7。
步骤7,将获得的调整直方图分布后的图像通过双向直方图均衡化技术在直方图的灰度密度和灰度间距两个方向同时进行均衡化处理,最终得到高质量长波红外去雾图像,具体如下:
步骤7-1,对pic_ad双向均衡化过程进行初始化:
利用size函数返回pic_ad的行数和列数得到[row,col],将pic_ad赋予g,将g+1赋予g以修改像素范围,将g(:,:,1)赋予原始图像矩阵II作为其初始化矩阵,将g(:,:,1)赋予直方图均衡矩阵J作为其初始化矩阵,将g(:,:,1)赋予双向直方图均衡矩阵JJ作为其初始化矩阵,将256赋予灰度级L,利用zeros函数得到L*1的零矩阵初始化频率统计直方图结果数组PS,利用zeros函数得到L*1的零矩阵作为II初始化的灰度统计数组nK,利用zeros函数得到L*1的零矩阵作为J初始化的灰度统计数组nK2;
步骤7-2,对pic_ad直方图灰度密度均衡化:
将row*col赋予总像素个数n,利用II获得像素点灰度级num1,进而对II进行灰度统计得到nK,利用nK进行直方图概率估计统计得到PS,进一步建立直方图密度均衡化查表S,进而得到直方图密度均衡化像素值J,利用II获得像素点灰度级num2,进而对II进行灰度统计得到nK2;
步骤7-3,对pic_ad直方图灰度间距均衡化:
利用zeros函数生成L*1全零阵初始化像素有效值的位置函数intv,利用zeros函数生成L*1全零阵初始化查找表函数lut,利用nK2获得像素有效值的位置intv,利用intv建立直方图密度均衡化查表lut,利用lut将J进行间距均衡得到JJ,将JJ利用imwrite函数存储最终得到高质量长波红外去雾图像。
实施例1
本发明提出了一种长波红外透雾性能增强算法。方法流程图参见图1。本示例采用本发明算法对可利用红外探测器获得的一定浓度雾时的长波红外有雾图像进行图像处理。本示例中可获得暗通道图、透过率图、大气光值、升降采样图像、与期望图像进行直方图匹配后图像、进行直方图双向均衡后图像、各图像去雾与增强方案与效果对比、算法复杂度计算与对比等。本示例实验平台硬件条件为DELL笔记本电脑,处理器为Inter(R)i7-5500UCPU@2.4GHZ,8GB RAM,测试软件为MATLAB 2014b,Windows8操作系统。在此长波红外透雾性能增强算法下的整体长波红外图像透雾功能的实现包括如下步骤:
步骤1:读取图3中的(a)中长波红外有雾图像fog1-41.jpg并进行灰度化处理并将其存储为I0,为保证精度,将I0转化为double型后将各像元通道的灰度值除以255以全部转化到0-1之间,变为原始图像的初始化图像I,读取相同场景点长波红外无雾图像fog1-000.bmp作为期望图像,将其存储为pic_tem,利用size函数获取I的大小,记为[h,w,c],其中h为240,w为320,c为3,初始化去雾系数w0为0.5,利用zeros函数得到240*320*3的零矩阵作为去雾恢复图像dehaze的初始化图像,利用zeros函数得到240*320的零矩阵作为暗通道图像win_dark的初始化图像。
步骤2:将I的各像素各分量存入win_dark各像素中,分别遍历I的240个行向量和320个列向量,将I的各像素分量值存入win_dark各像素中,经过大量实验后选择设置暗通道的滤波窗口为10*10,利用二维顺序统计滤波函数ordfilt2将窗口内10*10个非零数值按小到大排序后将处于第1个位置的元素作为滤波器的输出,从而实现win_dark的最小值滤波,以得到暗通道图win_dark。
步骤3:将win_dark赋值给dark_channel,利用max函数返回dark_channel中每一列最大值构成一个行向量,接着再次利用max函数返回得到向量中的最大值temp,利用find函数找到dark_channel中最大的像素点并用[i,j]存储,即将i中第一个数i(1)的值170赋予i1,将j中第一个数j(1)的值298赋予j,i遍历169至171,j遍历297至299,利用mean函数得到I中该最大像素点及周围3*3区域内像素点的平均值0.8863,赋予大气光值A。
步骤4:将w0=0.95、win_dark和A=0.8863代入透过率公式计算透射率transmission=1-w0*win_dark/A,利用dsample函数对I进行降采样得到Idown1,利用dsample函数对transmission进行降采样得到Idown2,即分别将I和transmission变为1/4,设定引导图像gray_I为I中任何通道,设定输入图像P为transmission,经过多次试验,设定本地窗口半径r为80,设定正规化参数eps为10^-3,输入gray_I、P、r=80和eps=10^-3后利用导向滤波guided_filter获得最佳效果的精细化透射率图transmission_filter,利用usample函数将transmission_filter进行升采样以得到Iup,即将透射率图大小变为4倍后,恢复transmission大小。
步骤5:将0.1赋予阈值t0,利用max函数将标量t0与Iup比较后得到t1,从而防止因t1过小导致最终图像整体过白,分别将i遍历1到3、j遍历1到240、w遍历1到320后,将I、A和t1代入雾图像形成模型并变换后得到最终图像恢复公式dehaze(j,1,i)=(I(j,1,i)-A)/t1(j,1)+A,进而得到无雾恢复图像dehaze,存为result7.bmp。
步骤6:读取无雾恢复后图像result7.bmp记为pic_ori,创建进行直方图规定化的函数his_spec,利用size函数分别返回pic_ori和pic_tem的行数和列数得到[240,320]和[236,316],将pic_ori赋给pic_ad,分别利用zeros函数生成1*256全零阵,初始化pixelnum_ori,pixelnum_tem,pixelprob_ori,pixelprob_tem。分别对去雾恢复图像和期望图像进行像素灰度统计,得到pixelnum_ori和pixelnum_tem,进而进行分布概率统计,得到pixelprob_ori和pixelprob_tem,分别利用zeros函数生成1*256全零阵,初始化pixelcum_ori,pixelcum_tem,利用zeros函数生成256*256全零阵,初始化differ,分别对去雾恢复图像和期望图像分布概率进行累计叠加,得到pixelcum_ori和pixelcum_tem,进而计算二者累计分布概率差值,得到differ;分别利用zeros函数生成1*256全零阵,初始化min和gary,找到最小值并确定对应灰度映射得到min,进一步查找表,确认对应灰度映射gray,遍历1到240和1到320,对pic_ori进行映射调整后得到pic_ad。
步骤7:利用size函数返回pic_ad的行数和列数得到[240,320],将pic_ad赋予g,将g+1赋予g以修改像素范围,将g(:,:,1)赋予原始图像矩阵II作为其初始化矩阵,将g(:,:,1)赋予直方图均衡矩阵J作为其初始化矩阵,将g(:,:,1)赋予双向直方图均衡矩阵JJ作为其初始化矩阵,将256赋予灰度级L,利用zeros函数得到L*1的零矩阵初始化频率统计直方图结果数组PS,利用zeros函数得到L*1的零矩阵作为II初始化的灰度统计数组nK,利用zeros函数得到L*1的零矩阵作为J初始化的灰度统计数组nK2,将240*320赋予总像素个数n,利用II获得像素点灰度级98,进而对II进行灰度统计得到nK,利用nK进行直方图概率估计统计得到PS,进一步建立直方图密度均衡化查表S,进而得到直方图密度均衡化像素值J,利用II获得像素点灰度级58,进而对II进行灰度统计得到nK2,利用zeros函数生成256*1全零阵初始化像素有效值的位置函数intv,利用zeros函数生成256*1全零阵初始化查找表函数lut,利用nK2获得像素有效值的位置intv,利用intv建立直方图密度均衡化查表lut,利用lut将J进行间距均衡得到JJ,将JJ利用imwrite函数存储最终得到高质量长波红外去雾图像result7_3.bmp。
对耗时过长优化情况进行分析。利用一般主流暗通道原理去雾时所需时间为约4s,其中得到暗通道图像需要约0.2s,利用软抠图算法完善透射率分布函数需要约2.5s,大气光值估计需要约0.6s。而利用本专利暗通道算法进行运算的时间为0.426234s,其中改变软抠图为导向滤波使透射率计算时间缩短近10倍;由于适当降低长波红外有雾图像透射率图采样率后进行处理对处理效果的影响较小,且将提高处理速度,故对透射率图通过降采样为1/4后再处理,再通过升采样恢复透射率图大小,该方案将透射率精细化图像计算时间缩短由0.1s降低为0.02s,但本身上下采样需要一定时间;针对灰度图像优化获得暗通道图时的最小值滤波方案,最终将所需时间由0.097743s降至0.052463s;同时优化的大气光值求取方法也大大缩短该部分时间。这些方法最终进一步将整体暗通道去雾算法仿真时间降至0.3s以下。
由于一般大气光值计算方法耗时较长,且容易导致图像色调偏暗,同时长波红外有雾图像本身色调较暗,故思考找到暗通道图像中像素最大值并在最大值附近一定范围内进行像素值平均以估计大气光值,经过大量实验发现该方案估计的大气光值利于长波红外有雾图像的去雾处理。对窗口大小和滤波半径的优化选取进行联合考虑,分别进行滤波半径为5、10、15以及窗口大小为20、40、80等各情况时的暗通道图、透射率图和去雾图仿真,最终确立最适合长波红外透雾的情况为滤波半径为10,窗口大小为80。
一般利用基于可见边对比度的盲评方法对去雾前后每个图像细节对比度增强的情况进行评估,具体指标为新增可见比e、可见边的规范化梯度均值和饱和黑色或白色像素点的百分比σ,当e与越大而σ越小时恢复图像的质量越好。如表1将本算法暗通道优化算法后处理的结果result7.bmp和总体处理后的结果result7_3.bmp与几种主流去雾方法结果进行比较,可见在暗通道算法处理后的算法透雾指标明显优于其他几种主流算法,其中e值远优于其他几种算法,且该方案去浓雾效果最佳。而经过本文基于直方图规定化原理的直方图双向均衡化增强方案后图像去雾指标进一步提升,其中e增加为原图的约1.5倍,增加为原图的近2倍,而σ则降为原来的10倍以上。
表1
图像处理结果图2和如图3所示,图2中的(a)是暗通道图,图2中的(b)是透射率图,图3中的(a)是原图,图3中的(b)是暗通道去雾图,图3中的(c)是直方图规定化后去雾增强图,图3中的(d)是直方图双向均衡化后的最终去雾增强图。该算法最终对长波红外有雾图像的透雾效果良好,且算法实时性较强、图像质量较高,有较高的实用性。
Claims (7)
1.一种实时长波红外透雾性能增强算法,其特征在于,包括以下步骤:
步骤1,读取长波红外有雾图像作为原始图像,读取与原始图像相同场景点长波红外无雾图像作为期望图像,对原始图像、去雾恢复图像和暗通道图像进行初始化,设置去雾参数,得到原始图像的初始化图像、去雾恢复图像的初始化图像和暗通道图像的初始化图像;
步骤2,将原始图像的初始化图像的每个像素各分量的最小值存入一幅和原始图像大小相同的灰度图中,获得最小值灰度图,再对最小值灰度图进行最小值滤波与优化,得到暗通道图;
步骤3,针对长波红外有雾图像的特点在暗通道图中找到亮度最高值,并在一定区域内进行亮度最高值平均,得到优化的大气光值;
步骤4,将暗通道图和大气光值带入透射率公式,进行透射率估计,得到透射率图,对透射率图进行图像降采样,利用导向滤波获得更为精细的透射率图后再利用图像升采样恢复图像大小,获得二次透射率图;
步骤5,将暗通道图、大气光值和二次透射率图带入公式进行无雾图像恢复,获得去雾恢复图像;
步骤6,根据去雾恢复图像获得其直方图,并对去雾恢复图像的直方图应用直方图规定化原理进行调整,以匹配期望图像的直方图分布规律,获得调整直方图分布后的图像;
步骤7,将获得的调整直方图分布后的图像通过双向直方图均衡化技术在直方图的灰度密度和灰度间距两个方向同时进行均衡化处理,最终得到高质量长波红外去雾图像,具体如下:
步骤7-1,对pic_ad双向均衡化过程进行初始化:
利用size函数返回pic_ad的行数和列数得到[row,col],将pic_ad赋予g,将g+1赋予g以修改像素范围,将g(:,:,1)赋予原始图像矩阵II作为其初始化矩阵,将g(:,:,1)赋予直方图均衡矩阵J作为其初始化矩阵,将g(:,:,1)赋予双向直方图均衡矩阵JJ作为其初始化矩阵,将256赋予灰度级L,利用zeros函数得到L*1的零矩阵初始化频率统计直方图结果数组PS,利用zeros函数得到L*1的零矩阵作为II初始化的灰度统计数组nK,利用zeros函数得到L*1的零矩阵作为J初始化的灰度统计数组nK2;
步骤7-2,对pic_ad直方图灰度密度均衡化:
将row*col赋予总像素个数n,利用II获得像素点灰度级num1,进而对II进行灰度统计得到nK,利用nK进行直方图概率估计统计得到PS,进一步建立直方图密度均衡化查表S,进而得到直方图密度均衡化像素值J,利用II获得像素点灰度级num2,进而对II进行灰度统计得到nK2;
步骤7-3,对pic_ad直方图灰度间距均衡化:
利用zeros函数生成L*1全零阵初始化像素有效值的位置函数intv,利用zeros函数生成L*1全零阵初始化查找表函数lut,利用nK2获得像素有效值的位置intv,利用intv建立直方图密度均衡化查表lut,利用lut将J进行间距均衡得到JJ,将JJ利用imwrite函数存储最终得到高质量长波红外去雾图像。
2.根据权利要求1所述的实时长波红外透雾性能增强算法,其特征在于,步骤1,读取长波红外有雾图像作为原始图像,读取与原始图像相同场景点长波红外无雾图像作为期望图像,对原始图像、去雾恢复图像和暗通道图像进行初始化,设置去雾参数,得到原始图像的初始化图像、去雾恢复图像的初始化图像和暗通道图像的初始化图像,具体如下:
步骤1-1,读取长波红外有雾图像并将其存储为I0,读取与原始图像相同场景点长波红外无雾图像作为期望图像,将其存储为pic_tem,通过imshow函数展示I0;
步骤1-2,将I0转化为double型后将各像元通道的灰度值除以255以全部转化到0-1之间,变为原始图像的初始化图像I,利用size函数获取I的大小,记为[h,w,c],初始化去雾系数w0为0.95,利用zeros函数得到h*w*c的零矩阵作为去雾恢复图像dehaze的初始化图像,利用zeros函数得到h*w的零矩阵作为暗通道图像win_dark的初始化图像,转入步骤2。
3.根据权利要求2所述的实时长波红外透雾性能增强算法,其特征在于,步骤2,将原始图像的初始化图像的每个像素各分量的最小值存入一幅和原始图像大小相同的灰度图中,获得最小值灰度图,再对最小值灰度图进行最小值滤波与优化,得到暗通道图,具体如下:
步骤2-1,将原始图像的初始化图像I的各像素各分量存入win_dark各像素中:
分别遍历I的h个行向量和w个列向量,将I的各像素分量值存入win_dark各像素中;
步骤2-2,选择设置暗通道的滤波窗口为10*10,利用二维顺序统计滤波函数ordfilt2将窗口内10*10个非零数值按小到大排序后将处于第1个位置的元素作为滤波器的输出,从而实现win_dark的最小值滤波,以得到暗通道图win_dark,转入步骤3。
4.根据权利要求3所述的实时长波红外透雾性能增强算法,其特征在于,步骤3,针对长波红外有雾图像特点在暗通道图中找到亮度最高值,并在一定区域内进行亮度最高值平均,得到优化的大气光值,具体如下:
步骤3-1,找到并存储暗通道图win_dark中每行列像素最大的点,即亮度最高值:
将win_dark赋值给dark_channel,首先利用max函数返回dark_channel中每一列最大值构成一个行向量,接着再次利用max函数返回得到向量中的最大值temp,利用find函数找到dark_channel中最大的像素点并用[i,j]存储;
步骤3-2,将最大值像素点及周围8个像素点的平均值赋予大气光值A:
将i中第一个数i(1)的值赋予i,将j中第一个数j(1)的值赋予j,i遍历i(1)-1至i(1)+1,j遍历j(1)-1至j(1)+1,利用mean函数将数组I(i,j,:)中所有元素平均值赋予大气光值A,转入步骤4。
5.根据权利要求4所述的实时长波红外透雾性能增强算法,其特征在于,步骤4,将暗通道图和大气光值带入透射率公式,进行透射率估计,得到透射率图,对透射率图进行图像降采样,利用导向滤波获得更为精细的透射率图后再利用图像升采样恢复图像大小,获得二次透射率图,具体如下:
步骤4-1,将w0、win_dark和A代入透过率公式计算透射率t(x):
根据暗原色先验理论和雾图像形成模型,进行公式转换以得到透射率公式,其中去雾系数w0为0.95,I(x)为待去雾图像,J(x)为要恢复的无雾图像,雾图像形成模型表示为I(x)=J(x)t(x)+A[1-t(x)],经过转换后推导出透射率估计公式transmission=1-w0*win_dark/A,代入w0、win_dark和A后得到透射率图transmission;
步骤4-2,将透射率图进行图像降采样:
利用dsample函数对I进行降采样得到Idown1,利用dsample函数对transmission进行降采样得到Idown2,即分别将I和transmission变为1/4;
步骤4-3,设定引导图像gray_I为I中任何通道,设定输入图像P为transmission,设定本地窗口半径r为80,设定正规化参数eps为10^-3时透过率图质量最佳,输入上述参数后利用导向滤波guided_filter获得更为精细的透射率图transmission_filter;
步骤4-4,利用usample函数对transmission_filter进行升采样得到二次透射率图Iup,即将透射率图大小变为4倍后,恢复transmission大小,转入步骤5。
6.根据权利要求5所述的实时长波红外透雾性能增强算法,其特征在于,步骤5,将暗通道图、大气光值和二次透射率图带入无雾图像恢复公式进行无雾图像恢复,获得去雾恢复图像,具体为:
步骤5-1,为二次透射率图Iup设置阈值:
将0.1赋予阈值t0,利用max函数将标量t0与Iup比较后得到t1,从而防止因t1过小导致最终图像整体过白;
步骤5-2,将I、A和t1代入无雾图像恢复公式以得到去雾恢复图像:
分别将i遍历1到c、j遍历1到h、w遍历1到w后,将I、A和t1代入雾图像形成模型并变换后得到最终图像恢复公式dehaze(j,1,i)=(I(j,1,i)-A)/t1(j,1)+A,进而得到去雾恢复图像dehaze,转入步骤6。
7.根据权利要求6所述的实时长波红外透雾性能增强算法,其特征在于,步骤6,根据去雾恢复图像获得其直方图,并对去雾恢复图像的直方图应用直方图规定化原理进行调整,以匹配期望图像的直方图分布规律,获得调整直方图分布后的图像,具体如下:
步骤6-1,利用去雾恢复图像和期望图像进行直方图规定化处理的初始化:
读取去雾恢复图像记为pic_ori,创建进行直方图规定化的函数his_spec,利用size函数分别返回pic_ori和pic_tem的行数和列数得到[h_0,w_0]和[h_t,w_t],将pic_ori赋给pic_ad;
步骤6-2,得到pic_ori和pic_tem的像素灰度统计和分布概率:
分别利用zeros函数生成1*256全零阵,初始化pixelnum_ori、pixelnum_tem、pixelprob_ori、pixelprob_tem,分别对去雾恢复图像和期望图像进行像素灰度统计,得到pixelnum_ori和pixelnum_tem,进而进行分布概率统计,得到pixelprob_ori和pixelprob_tem;
步骤6-3,得到pic_ori和pic_tem的累计分布概率和累计概率差值:
分别利用zeros函数生成1*256全零阵,初始化pixelcum_ori、pixelcum_tem,利用zeros函数生成256*256全零阵,初始化differ,分别对去雾恢复图像和期望图分布概率进行累计叠加,得到pixelcum_ori和pixelcum_tem,进而计算二者累计分布概率差值differ;
步骤6-4,得到pic_ori和pic_tem灰度映射关系并生成调整直方图分布后的图像pic_ad:
分别利用zeros函数生成1*256全零阵,初始化min和gary,找到最小值并确定对应灰度映射得到min,进一步查找表,确认对应灰度映射gray,遍历1到h_0和1到w_0,对pic_ori进行映射调整后得到调整直方图分布后的图像pic_ad,转入步骤7。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010258081.0A CN111489308B (zh) | 2020-04-03 | 2020-04-03 | 一种实时长波红外透雾性能增强算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010258081.0A CN111489308B (zh) | 2020-04-03 | 2020-04-03 | 一种实时长波红外透雾性能增强算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111489308A CN111489308A (zh) | 2020-08-04 |
CN111489308B true CN111489308B (zh) | 2022-09-06 |
Family
ID=71812640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010258081.0A Active CN111489308B (zh) | 2020-04-03 | 2020-04-03 | 一种实时长波红外透雾性能增强算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111489308B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296618A (zh) * | 2016-09-19 | 2017-01-04 | 河南工业大学 | 一种基于高斯函数加权直方图规定化的彩色图像去雾方法 |
CN108460743A (zh) * | 2018-03-19 | 2018-08-28 | 西安因诺航空科技有限公司 | 一种基于暗通道的无人机航拍图像去雾算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6352547B2 (ja) * | 2015-09-29 | 2018-07-04 | 富士フイルム株式会社 | 画像処理装置及び画像処理方法 |
-
2020
- 2020-04-03 CN CN202010258081.0A patent/CN111489308B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296618A (zh) * | 2016-09-19 | 2017-01-04 | 河南工业大学 | 一种基于高斯函数加权直方图规定化的彩色图像去雾方法 |
CN108460743A (zh) * | 2018-03-19 | 2018-08-28 | 西安因诺航空科技有限公司 | 一种基于暗通道的无人机航拍图像去雾算法 |
Also Published As
Publication number | Publication date |
---|---|
CN111489308A (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Fast image dehazing method based on linear transformation | |
CN107301624B (zh) | 基于区域划分及浓雾预处理的卷积神经网络去雾方法 | |
CN112184577B (zh) | 基于多尺度自注意生成对抗网络的单幅图像去雾方法 | |
CN108564597B (zh) | 一种融合高斯混合模型和h-s光流法的视频前景目标提取方法 | |
CN110349093B (zh) | 基于多级沙漏结构的单幅图像去雾模型构建及去雾方法 | |
CN111667433A (zh) | 一种基于简单线性迭代聚类优化的无人机图像去雾方法 | |
CN113313702A (zh) | 基于边界约束与颜色校正的航拍图像去雾方法 | |
CN110807384A (zh) | 低能见度下的小目标检测方法和系统 | |
CN111861896A (zh) | 一种面向uuv的水下图像色彩补偿与恢复方法 | |
CN106023108A (zh) | 基于边界约束和上下文正则化的图像去雾算法 | |
CN113436124A (zh) | 一种应用于海洋雾天环境下的单图像去雾方法 | |
CN113487509B (zh) | 一种像素聚类及透射率融合的遥感图像雾气去除方法 | |
Liang et al. | Learning to remove sandstorm for image enhancement | |
CN111598811A (zh) | 一种单幅全色遥感雾霾图像清晰化方法 | |
CN112750089B (zh) | 基于局部块最大和最小像素先验的光学遥感影像去雾方法 | |
CN116596792B (zh) | 一种面向智能船舶的内河雾天场景恢复方法、系统及设备 | |
CN111489308B (zh) | 一种实时长波红外透雾性能增强算法 | |
Ding et al. | Restoration of single sand-dust image based on style transformation and unsupervised adversarial learning | |
CN110544216A (zh) | 基于深度学习的视频去雾系统 | |
CN115409872A (zh) | 一种水下摄像机图像优化方法 | |
CN114140361A (zh) | 融合多级特征的生成式对抗网络图像去雾方法 | |
CN113936022A (zh) | 一种基于多模态特征与极化注意力的图像去雾方法 | |
Wu et al. | A novel fog-degraded image restoration model of golden scale extraction in color space | |
Chen et al. | GADO-Net: an improved AOD-Net single image dehazing algorithm | |
CN115496694B (zh) | 基于改进图像形成模型对水下图像进行恢复和增强的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |