资讯详情

红外和可见光图像融合算法研究

基于MATLAB红外和可见光图像集成系统[评估指标]

一、课题介绍

红外技术作为人类了解自然、探索自然的新现代工具,已广泛应用于生物、医学、地学等科学领域和军事侦察领域。红外图像直接反映了物体的表面温度分布,但由于目标红外辐射非常复杂,影响目标红外辐射的因素很多,红外热图像的清晰度远低于视觉图像。可见光图像可以很好地描述场景中每个物体的外观结构,具有良好的轮廓性能,因此红外和可见光图像的具有很好的效果。图像集成是实现这一效果的有效方法。集成后的图像可信度较高,模糊性较少,可理解性较好,更适合人类视觉和进一步分析、理解源图像、目标检测、识别或跟踪。图像集成充分利用了集成图像中包含的多个冗余信息和互补信息,不同于一般意义上的图像增强。它是计算机视觉和图像理解领域的一种新技术。

本文研究了红外和可见光图像的集成算法。通过使用计算机图像处理,红外图像和可见光图像在同一场景中集成,获得一对单一的集成图像,成功地包含了两个源图像的信息。本文主要研究了利用MATLAB该软件实现了红外线和可见光图像的处理和集成,采用相应像素取大值、小值、平均值、区域能量和区域对比度的集成方法,并使用信息熵和标准集成结果图像

分析比较了差、平均梯度和空间频率的评价指标。结果表明,结果图像的集成

既保留了可见光图像的清晰轮廓信息,又显示了目标物体的表面温度分布。

二、图像融合的概念

图像融合(Image Fusion)是指通过图像处理和计算机技术收集多源信道收集的图像数据,最大限度地提取各自信道中的有利信息,最终整合成高质量的图像,提高图像信息的利用率,提高计算机解释的精度和可靠性,提高原始图像的空间分辨率和光谱分辨率,有利于监控。图像集成示意图如图 1-4所示。当集成图像准确且像素位宽一致时,两个或两个以上的多源图像信件将被集成和提取

冗余信息

互补信息

图片 1- 4

利息。如果准确性不好,像素位宽不一致,则需要集成源图像。图像集成的主要目的是通过处理多个图像之间的冗余数据来提高图像的可靠性,并通过处理多个图像之间的互补信息来提高图像的清晰度。

图像融合的主要目的包括:

  1. 增加图像中有用信息的含量,提高图像的清晰度,增强单个传感器图像

有些特征在图像中看不见或看不见;

(2) 提高图像的空间分辨率,增加光谱信息的含量,获充图像信息,以提高检测、分类、理解和识别性能;

(3) 通过不同时刻的图像序列集成来检测场景或目标的变化;

(4) 通过整合多个二维图像产生三维视觉图像,可用于三维重建或三维投影、测量等;

(5) 使用来自其他传感器的图像来替换或弥补传感器图像中的丢失或故障信息。

三、模拟结果及源码

Matlab它是图像处理的重要工具,包装了一系列算法函数,提高了图像处理的速度和效率。因此,在图像处理过程中使用Matlab图像集成工具箱。

本文采用一组可见光和红外图像,通过相应的像素取大值和小值、相应的像素取平均值和加权平均值、基于区域能量和对比度的集成方法实现图像集成。实验结果如下,根据上一节的评价方法对集成图像进行客观的集成质量评价,见表5-1。

1.对应像素的最大值和最小值

1)对应像素取大值:

MATLAB仿真程序:

clear all;A=imread('p.jpg                B=imread('q.jpg                A1=double(A);B2=double(B);        double类型[x,y]=size(A);for i=1:x    for j=1:y        if A(i,j)>B(i,j)            C(i,j)=A(i,j);        else C(i,j)=B(i,j);        end    endendsubplot(2,2,1);imshow(A);xlabel('a)可见光图像')subplot(2,2,2);imshow(B);xlabel('b)红外图像subplot(2,2,3);imshow(C,[])xlabel('c)对应像素大值融合后的图像')

v2-66b3f33b8ea90782e21c90af3429e3db_b.jpg

融合结果:

图像 5- 对应像素最大值融合后的图像

对应像素取小值:

clear all;A=imread('p.jpg                B=imread('q.jpg                A1=double(A);B2=double(B);      double类型[x,y]=size(A);for i=1:x    for j=1:y        if A1(i,j)>B2(i,j)            C(i,j)=B(i,j);        else C(i,j)=A(i,j);        end    endendsubplot(2,2,1);imshow(A);xlabel('a)可见光图像')subplot(2,2,2);imshow(B);xlabel('b)红外图像subplot(2,2,3);imshow(C,[])xlabel('c)对应像素取小值融合后的图像')

融合结果:

v2-564c4597b0f5fc21a47a685a0418b17e_b.jpg

图像 5- 对应像素最小值融合后的图像

2.对应像素取平均值

MATLAB仿真程序:

clear all;

A=imread('p.jpg');

B=imread('q.jpg');

K=imadd(A,B,'doubledouble型,再相加

C1=imdivide(K,2);

subplot(2,2,1);imshow(A);

xlabel('a)可见光图像')

subplot(2,2,2);imshow(B);

xlabel('b)红外图像

subplot(2,2,3);imshow(C,[]);

xlabel('c)对应像素取平均值融合后的图像')

融合结果:

v2-1426b708f63b2d452153ae3dacdab644_b.jpg

图应像素取平均值融合后的图像 5-

3.加权对应像素的平均值

MATLAB仿真程序:

clear all;P1=imread('p.jpg                 P2=imread('q.jpg                L1=double(P1);L2=double(P2);         double类型A=immultiply(L1,0.3);subplot(2,2,1);imshow(P1);xlabel('a)可见光图像')subplot(2,2,2);imshow(P2);xlabel('b)红外图像subplot(2,2,3);imshow(C,[])xlabel('c)对应像素加权平均融合后图像')融合图像结果:
div>

v2-0dbdb62e8304b4b4623efe7dff8046e0_b.jpg

图 5- 对应像素加权平均融合后的图像

4.基于区域能量比较的融合

1)区域能量取大的融合:

MATLAB仿真程序:

clear all;P1=imread('p.jpg');                    %读取灰度图像P2=imread('q.jpg');                   %读取红外图像L1=double(P1);L2=double(P2);          %将图像转换为double类型A=L1.^2;B=L2.^2;[x,y]=size(P1);for m=2:x-1    for n=2:y-1        a=m-1;b=m+1;c=n-1;d=n+1;     if sum(sum(A([a:b],[c:d])))>sum(sum(B([a:b],[c:d])));           C(m,n)=P1(m,n);     else C(m,n)=P2(m,n);     end         endendsubplot(2,2,1);imshow(P1);xlabel('a)可见光图像')subplot(2,2,2);imshow(P2);xlabel('b)红外图像')subplot(2,2,3);imshow(C,[])xlabel('c)基于区域能量取大融合后图像')融合结果:

v2-ba40cec21478663f5cc4103aa991f403_b.jpg

图 5- 基于区域能量取大融合后的图像

  1. 区域能量取小的融合:

MATLAB仿真程序:

clear all;P1=imread('p.jpg');                    %读取灰度图像P2=imread('q.jpg');                    %读取红外图像L1=double(P1);L2=double(P2);          %将图像转换为double类型A=L1.^2;B=L2.^2;[x,y]=size(P1);C=P1;for m=2:x-1    for n=2:y-1        a=m-1;b=m+1     if sum(sum(A([a:b],[c:d])))<sum(sum(B([a:b],[c:d])));           C(m,n)=P1(m,n);     else C(m,n)=P2(m,n);     end         endendsubplot(2,2,1);imshow(P1);xlabel('a)可见光图像')subplot(2,2,2);imshow(P2);xlabel('b)红外图像')subplot(2,2,3);imshow(C,[])xlabel('c)基于区域能量取小融合后图像')

v2-e4c4a8a7a7c34835436c1b84b9629273_b.jpg

图 5- 基于区域能量取小融合后的图像

5.基于区域对比度比较的融合

MATLAB仿真程序:

clear all;P1=imread('p.jpg');                    %读取灰度图像P2=imread('q.jpg');                    %读取红外图像A=double(P1);B=double(P2);             %将图像转换为double类型[x,y]=size(P1);C1=A;C2=B;D1=minus(A,C1);D2=minus(B,C2);   %A-C1E1=rdivide(D1,C1);E2=rdivide(D2,C2);F=A;for m1=2:x-1    for n1=2:y-1        a=m1-1;b=m1+1;c=n1-1;d=n1+1;     if mean(mean(E1([a:b],[c:d])))>mean(mean(E2([a:b],[c:d])))         F(m1,n1)=P1(m1,n1);     else F(m1,n1)=P2(m1,n1);     end         endendsubplot(2,2,1);imshow(P1);xlabel('a)可见光图像')subplot(2,2,2);imshow(P2);xlabel('b)红外图像')subplot(2,2,3);imshow(F,[])xlabel('c)基于区域对比度取大融合后图像')融合结果:

v2-1d0b5f6f8fd8c5dc54f5da5b4e0746f5_b.jpg

图 5- 基于区域对比度融合后的图像

  1. 下表列出了不同融合方法所得到的图像的评价结果

表 5- 融合结果图像评价

图像融合方法 评价标准
信息熵E 标准差std 平均梯度 空间频率
对应像素取最大值 6.6948 29.5083 4.2927 9.1607
对应像素取最小值 6.5223 23.8603 4.3085 8.4296
图像融合方法 评价标准
信息熵E 标准差std 平均梯度 空间频率
对应像素取平均值 6.2178 22.2666 3.2953 6.4550
对应像素加权平均 6.2819 21.4988 3.3771 6.6744
基于区域能量取大 6.7375 29.9311 4.6958 11.4168
基于区域能量取小 6.5445 24.3389 4.5668 9.5732
基于区域对比度 1.8530e-04 33.9577 16.2664 36.5167

由融合结果图像和上表可以看出基于区域能量的融合方法优于对应像素的融合方法。基于区域能量取大的融合方法所得到的图像质量最好,信息熵、标准差、平均梯度、空间频率的值最大,融合图像所含的信息丰富,图像清晰。

对应像素融合的方法中,对应像素取平均值的方法融合的结果图像质量最差,包含的信息不够丰富,图像模糊。对应像素取加权平均值的方法标准差最小,色调单一均匀,看不出太多的信息。像素值取大和像素值取小法所得到的融合图像,它们对图像的整体把握不好,要么图像整体暗淡,要么整体就偏亮,且边缘信息比较模糊,对比度较低。

基于区域对比度的融合方法所得到的图像模糊,信息熵小,分析编写程序和算法可能是在计算过程中灰度值超出了0~255的范围,也可能是计算的高频分量值过小,对比度值异常过大,接近于无穷大,导致了图像局部偏亮或者局部暗淡,融合图像质量不够好。

将以上实验结果中的融合图像与原可见光图像和红外图像作对比,不难看出,融合结果图像既有可见光图像中的边缘特征,同时也反映了红外图像中目标物体或者场景的温度分布信息,实现了可将光图像特点与红外图像特征的有效结合,能更全面并且准确地表达目标物体或者场景所包含的信息,能够很好地实现目标识别和监测等实际应用。

标签: 红外传感器有没有可见光

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台