基于MATLAB图像处理的火焰特征识别方法研究
2019-03-04常寅杰
摘要:火焰燃烧是自然界中一种常见的现象。然而,失控的燃烧现象会对社会经济造成巨大的破坏。因此,对火焰进行有效的识别和监控是国际上的热门课题。目前市面上主流的火焰识别方法为使用温度,烟雾,红外线等传感器以及人造地球卫星进行监控。本文拟用数字图像处理方法,通过从数码设备获取的数字图像,使用MATLAB软件,通过计算火焰轮廓的圆形度来实现对火焰的特征识别。
关键词:火焰;数字图像处理;MATLAB;图像分割
中图分类号:TP305 文献标识码:A
文章编号:1009-3044(2019)34-0174-02
1 研究背景
本文的目的在于通过数字图像处理的方法,使用MATLAB软件,实现对火焰图像的特征识别。
2 主要理论概况
通过数码设备获取数字图像,对其进行包括图像抽样、图像分割、二值化、图像平滑处理在内的预处理。通过计算图像的圆形度,实现对火焰图像的特征识别。
3 图像的预处理
3.1 对图像进行预处理的原因
从理论上讲,一幅最理想的数字图像,应该包含最多的有效信息和最少的无效信息。所以,在对图像进行处理前,应最大化的剔除图片中的无效信息,对原先的数字图像进行优化操作。
通过对图像的预处理,能够显著提高火焰识别的准确度。
3.2 图像抽样
由于从数码设备获取的图像像素过多,极大降低了识别的效率,所以需要进行抽样操作,每n位取一位像素,像素点变为了原来的1/n2,同时也在最大程度上保留了原有的有效信息。
3.3 基于火焰颜色特征的图像分割
图像分割的方法有成千上万种。常用的有基于阈值的固定阈值法和双峰法,基于边缘的边缘分割法等等。然而此类分割法往往只能处理灰度图,对于彩图则显心有余而力不足。而在此种情况下,因为火焰存在着明显的颜色特征,本文采用一种基于火焰颜色特征的图像分割方法在对图像进行分割前,需要把RGB彩色空间转换为HSI彩色空间。
RGB颜色模型是目前使用最广的彩色模型。它的原理基于自然界的所有颜色都可以由红色(Red),绿色(Green)和蓝色(Blue)按照一定比例混合而成。反之,任何一种颜色也可以分解为一定比例的红色(Red),绿色(Green)和蓝色(Blue)。几乎所有的数字图像和显示设备都使用RGB颜色模型。不仅如此,市面上主流的数码相机也都采用RCB颜色模型。但是,RGB颜色模型不能很好地体现人体对颜色的感知。
另一种流行的颜色模型是HSI颜色模型(Hue/Saturation/ln-tensity色调/饱和度/强度),它使用颜色和饱和度来描述颜色。与RGB色彩空间相比,HSI色彩空间更自然,更直观,更适合人体对于色彩的感知。
HSI颜色模型是开发基于颜色特征的图像处理方法的理想工具。它可以通过算法独立的对颜色,饱和度和亮度进行操作。同时,HSI彩色模型可以降低彩色图像处理的复杂性,提高处理速度,更适合人体的色彩感知。RGB彩色空间转换到HSI彩色空间的公式如下:的空间,X,Y为像素点。
在MATLAB中编写程序,分割结果如下:
3.4 图像二值化
二值化是将图像转换为二进制图像并去除图像中的大部分信息而只保留关键特征的过程。二进制图像只有两个灰度信息0和1。理论上讲,只需要一个二进制位就可以表示出来。在特征识别中,一般需要把图像转化为二值图,以便于进行识别。
本文采用非0元素取255的方法来进行二值化。
算法如下所示.
3.6 图像平滑处理
常用的图像平滑方法包括均值滤波算法和中值滤波算法。
对于两种滤波算法在此不做过多的阐述。
经过试验对比,与均值滤波算法相比,中值滤波算法不会模糊图像,效果更好。同时中值滤波实现简单,可加速处理速度,从而提高识别的效率。
本文采用5X5的中值滤波算法。
4 火焰目标的特征识别方法
4.1 基于计算外焰圆度的轮廓特征识别
圆形度是在图像处理中一个非常重要的概念。它表示图像与标准圆形的近似水平,常用于绘制和描述特征。
圆形度的定义为图形面积乘以4π除以周长的平方。
公式如下.
在燃烧过程中,火焰可分为三大部分:火焰中心,内部火焰和外部火焰。
外焰是外层火焰部分的常见黄色或者透明的区域,称为反应区域。它是气体充分燃烧,火焰最高温的一部分。含有强烈高热的空气,具有氧化作用,也称为氧化焰。
从外焰的形状特征来看,外焰具有不规则的特征。放到数字图像中看,外焰常位于图像的上方部分,由于燃烧充分,在经过预处理之后常不与下方火焰相联通。故猜想,通过计算圆度来进行对火焰的特征识别。
由于火焰燃烧是一个十分复杂的物理化学反应,会受到许多因素的影响。故经过处理的数字图像中必然存在许多撕裂和破碎的地方。为了修补这些瑕疵,所以还要对图像进行膨脹处理来消除噪点,便于对火焰的特征识别。
之后填充闭合图形,寻找边界,来计算圆度。
由圆度的计算公式可得,当圆度为1时,图形即为圆形。正方形的圆度为约为0.79,等边三角形的圆度约为0.60。圆度越小,图形与圆形之间的差异也越大,图形也越不规律。
在此,输出所有圆度小于0.60的部分。
若图像的上部分存在大量圆度小于0.60的部分,且图像以下存在一块巨大的,圆度远小于0.60的部分,则可以认为存在火焰。
通过MATLAB这一工具,通过编写程序,实现算法。
运行结果如下所示:
由示例图像的圆度计算结果来看,其上部分存在大量圆度小于0.60的部分,而以下存在一大块圆度为0.04的部分,故认为其含有火焰部分。与实际结果像吻合。
5 小结
基于数字图像处理技术,本文提出了一种基于计算火焰外焰部分圆度的特征识别算法。根据火焰自身的HSI值,进行图像分割和二值化,并进行平滑处理,然后根据火焰的轮廓特征进行特征识别。它具有精度较高,算法简单,时间复杂度低,处理时间短,性能高,科学实用等的优点。
然而本文仅考虑到了火焰的轮廓特征,没有对其余的特征,如颜色特征,动态特征进行识别。而算法本身也过于简单理想化。对于一些复杂的场景,识别效果并不理想。
参考文献:
[1]张宏.数字图像处理与分析[M].2版.北京:机械工业出版社,2013.
[2]刘慧颖.MATLAB R2007基础教程[M].北京:清华大学出版社,2008.
[3] Hong WEN-Bing.A new image-based real-time flame detec-tion mmethod using color analysis[Al.Proceeding of Network-ing,Sensing and Control,2005:100-105.
[4]王亚军.基于火焰图像动态特征的火灾识别算法[J].测控技术,2006.
[5]李杰.基于数字图像处理的森林火灾识别方法研究[D].北京林业大学.2009.
【通联编辑:李雅琪】
收稿日期:2019-08-11
作者简介:常寅杰(1998-),男,江苏苏州人,本科,研究方向为计算机科学与技术。