红外图像的处理及其MATLAB实现解析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

红外图像的处理及其MATLAB 函数实现
0.引言
随着红外技术日新月异的发展,红外技术在军事及人们日常生活中有着越来越广泛的应用。

但由于红外探照灯及红外探测器件的限制,红外成像系统的成像效果仍然不够理想。

在民用监测应用中,主要表现为夜视距离近,图像背景与被监测目标之间对比度模糊,被监测目标细节难以辨认,图像特征信息不明确等方面。

为使图像更适于人眼观测、适用于图像后续目标识别及跟踪处理,有必要在红外图像采集和处理上做进一步的研究,来增强红外图像视觉效果。

1. 红外图像的获取及其特点
1.1 红外图像的获取
红外图像主要是由红外热像仪采集的。

红外热像仪是一种二维热图像成像装置。

热成像系统是一个光学一电子系统,可用于接收波长在m 100~75.0之间的电磁辐射,它的基本功能是将接收到的红外辐射转换成电信号,再将电信号的大小用灰度等级的形式表示,最后在显示器上显示出来。

图1.1就是一张采集到的红外图像。

图1.1 输入的红外图像
1.2 红外图像的特点
红外图像反映了目标和背景不可见红外辐射的空间分布,其辐射亮度分布主要由被观测景物的温度和发射率决定,因此红外图像近似反映了景物温度差或辐射差。

根据其成像原理,总结红外图像特点如下:
(1)红外热图像表征景物的温度分布,是灰度图像,没有彩色或阴影(立体感觉),故对人眼而言,分辨率低、分辨潜力差;
(2)由于景物热平衡、光波波长、传输距离远、大气衰减等原因,造成红外图像空间相关性强、对比度低、视觉效果模糊;
(3)热成像系统的探测能力和空间分辨率低于可见光CCD阵列,使得红外图像的清晰度低于可见光图像;
(4)外界环境的随机干扰和热成像系统的不完善,给红外图像带来多种多样
1噪声、光子电子涨落噪声等等。

噪声来源的噪声,比如热噪声、散粒噪声、f
多样,噪声类型繁多,这些都造成红外热图像噪声的不可预测的分布复杂性。

这些分布复杂的噪声使得红外图像的信噪比比普通电视图像低;
(5)由于红外探测器各探测单元的响应特性不一致等原因,造成红外图像的非均匀性,体现为图像的固定图案噪声、串扰、畸变等。

由以上五点可知,红外图像一般较暗,且目标与背景对比度低,边缘模糊,视觉效果差。

通过以上比较分析,可以总结:可见光图像与红外图像的成像机理虽然不同(可见光图像是利用物体对光线的反射来获得的,而红外图像是靠物体自身的红外辐射获取的),但在低照度情况下,可见光图像与红外图像的视觉效果和直方图特征均相同,因此可以采用低照度可见光图像的处理方法来处理红外图像。

2. 红外图像的增强
2.1 图像增强
图像增强是指对图像的某些特征,如边缘、轮廓、对比度等进行强调或突显,以便于观察或做进一步的分析与处理。

图像增强不意味着能增加原始的信息,有时甚至会损失一些信息,但图像增强的结果却能加强对特定信息的识别能力,便图像中感兴趣的特征得以加强,从而使这些特征的检测和识别变得更加容易。

图像增强方法的分类如图2.1所示:
图2.1 图像增强方法
下面我们主要介绍其中的几种增强方法。

2.2 红外图像的直方图均衡化
2.2.1 图像的直方图
灰度直方图是用于表达图像灰度分布情况的统计图表,有一维直方图和二维直方图之分。

其中最常用的是一维直方图。

它具有以下三个性质:(1)图像与直方图之间是多对一的映射关系;(2)只表示图像每一灰度级出现的频数,而失去了具有该灰级的像素的位置信息;(3)一幅图像各子区直方图之和等于该图像的全图直方图。

一幅图像的直方图可以提供下列信息:
(1)每个灰度级上像素出现的频数;
(2)图像像素值的动态范围;
(3)整幅图像的大致平均明暗;
(4)图像的整体对比度情况。

因此,在图像处理中直方图是很有用的决策和评价工具。

直方图统计在对比度拉伸、灰度级修正、动态范围调整、图像灰度调整、模型化等图像处理方法中发挥了很大的作用,在本文后面的讨论中将可以看到直方图的重要作用。

比较红外图像与可见光图像的直方图,可以总结其直方图特点如下:
(1)像素灰度值动态范围不大,很少充满整个灰度级空间;而可见光图像的像素则分布于几乎整个灰度级空间。

(2)绝大部分像素集中于某些相邻的灰度级范围,这些范围以外的灰度级上则没有或只有很少的像素;而可见光图像的像素分布则比较均匀。

(3)直方图中有明显的峰存在,多数情况下为单峰或双峰,若为双峰,则一般主峰为信号,次峰为噪声;而可见光图像直方图的峰不如红外图像明显,一般多个峰同时存在。

以上特点是大多数红外图像直方图所具备的,但也不绝对。

实际中的红外图像可能会由于气候条件、环境温度等因素的影响,呈现出与上述特点不完全一致的情形。

图2.2为原红外图像的灰度图和直方图直方图
图2.2 原始图像的灰度图和直方图
2.2.2 直方图的均衡化
直方图均衡的作用是改变图像中灰度概率分布,使其均匀化.其实质是使图像中灰度概率密度较大的像素向附近灰度级扩展,因而灰度层次拉开,而概率密度较小的像素灰度级收缩,从而让出原来占有的部分灰度级,这样的处理使图像充分有效地利用各个灰度级,因而增强了图像对比度。

由前一章红外图像特点的分析可知,红外图像普遍存在着灰度级比较集中,层次感差等问题,采用直方图均衡算法来进行处理,可以使其灰度级尽量拉开,
从而达到对比度增强的效果。

下面探讨一下直方图均衡的具体步骤。

设一幅图像的像素为n ,共有L 个灰度级,k n 代表灰度级为k r 的像素的数目,则第k 个灰度级出现的概率(对于灰度级为离散的数字图像,用频率来代替概率)可表示为:
n
n r P k k r =)( 其中,12,1,0,10-=≤≤L k r k 。

对其进行均衡化后的函数)(r T 的离散形式可表示为:
∑∑=====k i i k r r k n
n r P r T S 00)()( 式中,12,1,0,10-=≤≤L k r k 。

可见,均衡后各像素的灰度值k S 可直接由原图像的直方图得到。

(a)
(b)
(c)
图2.3 均衡化后的图像对比
实验证明,直方图均衡对大多数红外图像有效,效果明显,图像对比度大大增强,原本视觉效果模糊的图像变得清晰,目标的细节得到了突出,方法简单,容易实现,在实践中具有重要意义。

通过以上的理论分析和对具体红外图像的处理,可以得出关于直方图均衡的几个结论:
(I)直方图均衡实质上减少灰度等级以换取对比度的加大。

直方图均衡化的处理过程中出现了相邻灰度级合并的现象,即原来直方图上频数较小的灰度级被归入很少几个或一个灰度级内,并且可能不在原来的灰度级上;
(2)均衡后的直方图并非完全平坦,这是因为在离散灰度下,直方图只是近似的概率密度;
(3)当被合并掉的灰度级构成的是重要细节,则均衡后细节信息损失较大。

因此可采用局部直方图均衡法来处理:
(4)在对比度增强处理中,直方图均衡比灰度线性交换、指数、对数变换的运算速度慢,但比空间域处理和变换域处理的速度快。

因此在实时处理中,直方图均衡是一种常用的方法;
(5)直方图均衡虽然增大了图像的对比度,但往往处理后的图像视觉效果生硬、不够柔和,有时甚至会造成图像质量的恶化。

另外,均衡后的噪声比处理前明显,这是因为均衡没有区分有用信号和噪声,当原图像中噪声较多时,噪声被增强。

2.3 Laplacian算子锐化算法
Laplacian算子是线性二次微分算子,具有旋转不变性,可以满足不同走向
的图像边界的锐化要求,对于图像),(y x F ,其Laplacian 算子为:
22222
),(),(),(y y x F x y x F y x F ∂∂+∂∂=∇ Laplacian 算子锐化后的图像具有以下特征:
(1)在灰度均匀区间或灰度斜坡部分F 2∇为零,在灰度斜坡的起始处和终点处不为零;
(2) F 2∇对细节有较强的相应;
正是由于F 2∇有这些特点,使其可以勾划出图像区域的边缘轮廓。

因此Laplacian 算子对边缘检测具有很好的功效。

图2.4 Laplacian 算法处理前后图像
2.3 中值滤波算法
中值滤波是常用的一种非线性平滑滤波。

它是一种邻域运算,类似于卷积,但不是加权求和计算,而是把邻域中的像素按灰度等级进行排序,然后选择改组的中间值作为输出像素值。

他能减弱或消除傅立叶空间的高频分量,但影响低频分量。

因为高频分量对应图像中的区域边缘和灰度值具有较大变化的部分,因此概率波可以将这些分量滤除,使图像平滑。

其主要原理是:首先确定一个以某个像素为中心点的邻域,一般为方形领域;然后将邻域中的各个像素的灰度值进行排序,取其中间值作为中心点像素灰度的新值,这里的邻域通常被称为窗口;当窗口在图像中上下左右进行移动后,利用中值滤波算法可以很好地对图像进行平滑处理。

操作步骤如下:
(1)将模板在图像中移动,并将模板中心与图像中心某个像素的位置重合;
(2)读取模板下各对应像素的灰度值;
(3)将这些灰度值从小到大排列成一列;
(4)找出排在中间的一个值;
(5)将这个中间值赋给对应模板中心位置的像素。

中值滤波的输出像素是由邻域图像的中间值决定的,因而中值滤波对极限像素值(与周围像素灰度值差别较大的像素)远不如平均值那么敏感,从而可以消除孤立的噪声点,又可以保持图像的细节。

设),(y x f 表示数字图像像素点的灰度值,滤波窗口为A 的中值滤波器定义为:
)},({),(),(y x G Median y x G A
y x ∈= 中值滤波的优势在于它能够保护图像的边缘信息,而且可以出去图像中含有的无用的图像噪声,通常要求窗宽的一半大于噪声的延续宽度。

中值滤波器的窗口形状和尺寸对滤波影响都很大,在不同的图像内容和不同的要求下,应该采用不同的形状和尺寸。

通常有线性、方形、十字形、圆环形等,而窗口的尺寸由小变大逐步增大点数,直到取得满意的滤波效果。

一般而言,对于变化缓慢的且具有较长轮廓线物体的图像,可采用方形或圆形。

而对于具有尖角物体的图像可采用十字窗口。

图2.5 中值滤波处理前后的图像
3. 红外图像的边缘检测
3.1 边缘检测
边缘检测是图像处理的重要内容之一,它是图像分割、目标区域的识别、区
域形状特征提取等图像分析的基础。

本节主要介绍边缘检测方法Robert,Sobel,Pr,)
ewitt
Laplacian-,Canny和数学形态学法。

Gaussian
(LOG
3.2 常用的边缘检测方法
边缘是图像的最基本的特征,边缘中包含着有价值的目标边界信息,这些信息可以用作图像分析、目标识别。

常用的检测方法有:
(1) Robert算子
Robert算子是利用局部查分算子寻找边缘的算子,它是2
2⨯算子,对具有陡峭的低噪声图像响应最好,但是Robert算子提取边缘的结果边缘较粗,因此边缘定位不很准确。

(2) Sobel算子
Sobel算子是一阶微分算子,它利用像素临近区域的梯度来计算1个像素的梯度,然后根据一定的阈值来取舍,它是3
3⨯算子模版,对边缘的定位比较准确,对灰度渐变噪声较多的图像处理的较好。

(3) ewitt
Pr算子
Pr算子是一种加权平均算子,它不仅能检测边缘,而且能抑制噪声的
ewitt
影响。

(4) )
LOG-算子
(Gaussian
Laplacian
LOG算法的优点是能过滤噪声,缺点是可能将原有的边缘也给平滑了,告示函数的方差直接影响到边缘检测的结果。

此检测方法对噪声比较敏感。

(5) Canny算子
Canny是一阶传统微分算子中检测阶跃型边缘效果最好的算子之一,它比
Pr算子、Sobel算子、Laplacian算子的去噪能力都强,但它也容易平滑掉ewitt
一些边缘信息。

(6) 数学形态学检测方法
数学形态学是图像处理和图像识别技术的发展,是用数学方法描述或分析一个物体的形态的理论和方法。

其运算是形态学图像处理的基础,常见的形态学运算有腐蚀和膨胀两种。

腐蚀是一种消除边界点,使边界向内部收缩的过程,膨胀是将与物体接触的所有背景点合并到该物体中,是在二值图像中“加长”或“变粗”的操作。

利用该操作,可以填补物体的空洞。

图3.1 边缘检测结果示意图
4. Matlab程序
一、读入红外图像并进行灰度处理
A=imread('C:\Documents and Settings\Administrator\桌面\1.JPG); %读入红外图像文件imshow(A) %显示出来
title('输入的红外图像');
B=rgb2gray(A); %灰度化后的数据存入数组
imshow(B)
title('原图灰度图');
B1=histeq(B); %灰度图进行均衡化
二、绘制直方图
[m,n]=size(B); %测量图像尺寸参数
C=zeros(1,256); %预创建存放灰度出现概率的向量
for k=0:255
C(k+1)=length(find(B==k))/(m*n); %计算每级灰度出现的概率,将其存入c中相应位置end
bar(0:255,C,'g') %绘制直方图
title('原图灰度直方图')
xlabel('灰度值')
ylabel('出现概率')
三、直方图均衡化
S1=zeros(1,256);
for i=1:256
for j=1:i
S1(i)=C(j)+S1(i); %计算Sk
end
end
S2=round((S1*256)+0.5); %将Sk归到相近级的灰度
for i=1:256
C1(i)=sum(C(find(S2==i))); %计算现有每个灰度级出现的概率
end
bar(0:255,C1,'b') %显示均衡化后的直方图
title('均衡化后的直方图')
xlabel('灰度值')
ylabel('出现概率')
四、图像均衡化
A1=A;
for i=0:255
A1(find(A==i))=S2(i+1); %将各个像素归一化后的灰度值赋给这个像素
end
imshow(A1) %显示均衡化后的图像
title('均衡化后图像')
imwrite(A1,'PicEqual.bmp');
五、Laplacian算子锐化算法
H1=fspecial('laplacian'); %laplacian代表laplace滤波器
L=imfilter(A,H1); %进行滤波
subplot(1,2,1),imshow(A);
title('原始图像')
subplot(1,2,2),imshow(L);
title('锐化后的图像')
六、中值滤波算法
M=medfilt2(B); %对原始图像的灰度图进行中值滤波算法处理subplot(1,2,1),imshow(B);
subplot(1,2,2),imshow(B);
七、各种边缘检测算法
A=imread('C:\Documents and Settings\Administrator\桌面\1.JPG'); %读入红外图像文件
B=rgb2gray(A); %灰度化后的数据存入数组
b=im2double(B); %将图像转化为双精度浮点型
PF=edge(B,'prewitt'); %用prewitt算子进行边缘检测
RF=edge(B,'robert'); %用robert算子进行边缘检测
LF=edge(B,'log'); %用LOG算子进行边缘检测
CF=edge(B,'canny'); %用canny算子进行边缘检测
SF=edge(B,'sobel'); %用sobel算子进行边缘检测
D=~A; %图像求反,便于用腐蚀算法求边缘SE=strel('square',3); %定义3*3复试结构元素
J=imerode(~D,SE); %腐蚀运算
MM=(~D)-J; %检测边缘
imshow(PF);
title('prewitt算子进行检测')
imshow(RF);
title('robert算子进行检测')
imshow(LF);
title('LOG算子进行检测')
imshow(CF);
title('canny算子进行检测')
imshow(SF);
title('sobel算子进行检测')
imshow(MM);
title('数学形态学进行检测')。

相关文档
最新文档