⛄一、火灾检测简介

1 引言
目前森林火灾是破坏森林的最主要的灾害之一, 影响很大。森林是各种珍禽异兽的家园, 森林遭受火灾后, 会破坏野生动物赖以生存的环境。严重的森林火灾不仅能引起水土流失, 还会引起山洪爆发、泥石流等自然灾害。因此, 对森林火灾尽早识别并预警, 就能最大限度的降低损失。本森林火灾检测方法是在利用图像处理技术对烟火普遍特性进行研究的基础上, 结合烟火区域火焰的颜色、面积、不规则度特征以及烟雾的颜色特征和动态特征而提出的。基本消除其他不利的影响, 有效提高森林火灾图像的识别的准确度。除此之外, 我们运用了多层检测的方式, 减少了系统处理分析的时间, 提高了识别的速度。

图1 火灾识别流程

2 森林火险检测系统流程
我们为了达到火险检测的目的, 我们采取从烟雾和火焰两个方面进行检测, 设计了多层拓展识别的流程, 静态特征和动态特征相结合的识别检测方式。方案的具体操作总体流程如图1。该火险检测系统的总体设计思想是:该首先获取相机实时拍摄的图像;然后对视频图像进行实时背景差动态判断有无异常情况, 如果连续的几帧图像发生了较大的变化, 即判断为有异常情况发生;下一步采取我们的检测算法分别对图像进行就火焰识别和烟雾识别, 若图像中有火焰 (烟雾) , 系统就会输出“1”, 否则就输出“0”;最后用我们多特征融合综合判断是否是火灾, 是的话则输出“1”发出火灾预警, 从而完成整个森林火险检测系统。

3 火焰检测
森林火险检测系统中火焰检测部分的流程如图2 (左) 所示:

图2 火焰检测 (左) 和烟雾检测 (右) 流程图

待检测的图像输入后, 开始需要进行图像的初步的处理。图像预处理过程一般包括有增强、滤波、细化几个方面。接下来主要简述的是火焰图像的增强处理和滤波。

图像增强主要指的是按照开发者的想法加强图像中某部分, 可以是某个具体的区域, 也可以是符合相关限制条件的部分区域, 并且淡化或消除某些不重要杂乱信息的处理方法。图像增强主要包括了直方图修改处理、图像平滑处理、图像尖锐化处理及彩色图像处理等常见的处理方式。该系统我们运用几种方法同步进行, 目的是达到火焰图像预期的增强效果。

在火焰图像经过预处理后, 下一步是进行火焰分割。在充足的自然光的条件下, 我们采取颜色特征提取的方式, 把疑似火焰区域从图中给分割出来。在一般情况下, 火焰虽然可能会有多种不同的颜色, 但主要集中在暗红色、红色、橙色、黄色、白色、蓝色这些颜色中。即使在不同的环境下火焰会呈现不同的颜色, 但它常常会经过由红过渡到黄的燃烧过程。此时图像的RGB值符合R≥G≥B的关系。与此同时, 我们采取转换到HSI空间, 进行多特征采取。在HSI空间中, 火焰的色度值H通常在0~60度之间, 此外, S满足100, I满足255。图像中满足以上四个条件的像素当作是火焰的候选区域。

火焰的颜色提取之后的图像可能会存在噪声, 我们采用中值滤波进行去噪。

在 (Y, Cr, Cb) 空间中, 火焰和其他相关物体有着明显的区别。在二维的 (Cr, Cb) 空间里, 火焰像素的分布接近正态分布, 而其他物体则不具有该特性。所以我们采取将火焰图像转换到 (Y, Cr, Cb) 空间, 对像素进行分析, 将接近正态分布特性的区域提取出来。

也就是说, 当检测图像在的二维的 (Cr, Cb) 空间满足正态分布的时候, 可以粗判定为火焰图像。

经过火焰颜色特征粗判定后, 下一步进行火焰的动态特征的判定, 最终裁决是否为火焰。对于人类而言, 形状是我们判断一个物体的重要特征。所以计算机对于图像中物体形状的分析也是非常有益的。根据图形图像的相关理论, 我们获取火焰图像的动态特征, 以此作为判断的依据进行进一步的处理。我们运用了与物体形状相关的两个特性来作为我们火焰图像的判断依据。

A.不规则性

考虑到森林火灾火焰形状的不规则性和对我们的系统可能产生干扰的像光源 (如手电筒, 探照灯灯等) 的形状特征具有较高的规律性的特点, 我们采取用不规则的程度作为判断是否为火焰的依据。不规则度表征了物体形状的不规则程度, 其表达式如下:

我们定义周长为物体的边界长度, 可以通过火焰图像候选区域边界上像素的个数来获得。面积通过统计所有可能烟雾区域像素点数获得。候选图像的形状越复杂, 其不规则度值越大。

获取火焰候选图像不规则度的具体步骤:

(1) 对颜色分割得到的火焰候选图像提取边缘, 算出边缘上像素个数得到L。

(2) 求出火焰图像中疑似火焰区域的面积, 即求出在上一步颜色分割中所有被置为黑色的像素总数S。

(3) 求不规则度, 并计算出连续n帧图像的平均值。

B.扩散性

一般在火灾发生后, 火灾面积会呈现不断扩大的趋势, 过火面积会连续扩大, 相应的相机探测到的火灾区域面积也会逐渐增大。也就是说在我们获得的图像上高亮的区域也会持续的增长。因此, 我们可以定义“k”表示后续疑似火焰区面积与先前疑似火焰区域的面积的比值来表征火灾的扩散特性。在我们设定相应的参考时间内, k值越大, 火灾的扩散特性越强。

在火焰检测部分, 首先将拍的的图像进行前期的预处理后, 进行基于颜色特征筛选出火焰区域的候选图像, 然后再根据这些图像的不规则性和扩散性做出是否为火焰区域的最终判定, 然后将判定结果输入给下一步。

⛄二、部分源代码

function varargout = MainGUI(varargin)gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...'gui_Singleton',  gui_Singleton, ...'gui_OpeningFcn', @MainGUI_OpeningFcn, ...'gui_OutputFcn',  @MainGUI_OutputFcn, ...'gui_LayoutFcn',  [] , ...'gui_Callback',   []);
if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});
endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
elsegui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT% --- Executes just before MainGUI is made visible.
function MainGUI_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 MainGUI (see VARARGIN)% Choose default command line output for MainGUI
handles.output = hObject;% Update handles structure
guidata(hObject, handles);% UIWAIT makes MainGUI wait for user response (see UIRESUME)
% uiwait(handles.figure1);% 在运行主界面时隐藏一些控件
% set(handles.axes1,'visible','off');
% set(handles.text1,'visible','off');% --- Outputs from this function are returned to the commandline.
function varargout = MainGUI_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 openvideo_button.
function openvideo_button_Callback
% hObject    handle to openvideo_button (see GCBO)(hObject, eventdata, handles)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)% 读取视频路径
[filename,pathname,filter] = uigetfile({'*.mp4;*.flv;*.avi;*.rmvb;*.f4v;*.mpeg;*.mkv'},'选择视频');
if filter == 0return
end
str = fullfile(pathname,filename);% 读取视频
filename = str;% obj是一个对象
obj = VideoReader(filename);
% 视频的第一帧预览显示在界面
Show_Frames=read(obj,1);axes(handles.axes1);
imshow(Show_Frames);
set(handles.axes1,'visible','on');
axis off## ⛄三、运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/9363e3f22eff4d6888a58379ef41a448.jpeg#pic_center)## ⛄四、matlab版本及参考文献
**1 matlab版本**
2014a**2 参考文献**
[1] 杨雨卓.基于图像处理的森林火险检测系统[J].电子世界. 2018,(16)**3 备注**
简介此部分摘自互联网,仅供参考,若侵权,联系删除

【火灾检测】基于matlab GUI森林火灾检测系统(带面板)【含Matlab源码 1921期】相关推荐

  1. 【芯片识别】基于matlab GUI形态学PCB板芯片识别【含Matlab源码 1820期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[芯片识别]基于matlab GUI形态学 PCB板芯片识别[含Matlab源码 1820期] 点击上面蓝色字体,直接付费下载,即可. 获 ...

  2. 【大米粒计数】基于matlab GUI形态学大米粒颗粒识别【含Matlab源码 915期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[大米粒计数]基于matlab GUI形态学大米粒颗粒识别[含Matlab源码 915期] (https://download.csdn. ...

  3. 【电力预测】基于matlab GUI灰色模型电力负荷预测【含Matlab源码 769期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [电力负荷预测]基于matlab GUI灰色模型电力负荷预测[含Matlab源码 769期] 获取代码方式2: 通过订阅紫极神光博客付费专 ...

  4. 【光学】基于matlab GUI菲涅尔系数计算【含Matlab源码 1165期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI菲涅尔系数计算[含Matlab源码 1165期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  5. 基于Java毕业设计幼儿校园通系统的设计与实现源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计幼儿校园通系统的设计与实现源码+系统+mysql+lw文档+部署软件 基于Java毕业设计幼儿校园通系统的设计与实现源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目 ...

  6. SSM框架基于h5的校园兼职招聘系统的设计与实现源码+论文三稿+ppt+查重报告(包远程安装,已降重)

    项目名称 SSM框架基于h5的校园兼职招聘系统的设计与实现源码 视频效果 SSM框架基于h5的校园兼职招聘系统的设计与实现源码_哔哩哔哩_bilibili 项目地址 SSM框架基于h5的校园兼职招聘系 ...

  7. java计算机毕业设计基于Web的社区商超系统的设计与实现源码+数据库+系统+lw文档+mybatis+运行部署

    java计算机毕业设计基于Web的社区商超系统的设计与实现源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计基于Web的社区商超系统的设计与实现源码+数据库+系统+lw文档 ...

  8. 基于Java毕业设计蛋糕店会员系统的设计与实现源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计蛋糕店会员系统的设计与实现源码+系统+mysql+lw文档+部署软件 基于Java毕业设计蛋糕店会员系统的设计与实现源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目 ...

  9. 基于JAVA线上竞赛训练系统录屏计算机毕业设计源码+系统+mysql数据库+lw文档+部署

    基于JAVA线上竞赛训练系统录屏计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA线上竞赛训练系统录屏计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技术栈: ...

最新文章

  1. 高文院士:顶级AI人才缺乏,但不必搞全民运动,到处成立人工智能学院
  2. 鸿蒙os首批适配机型,鸿蒙OS正式版首批名单曝光,适配速度让人意外,8款机型恭喜了...
  3. Java面试题40道
  4. 使用MailMessage.AlternateViews时遇到的小问题
  5. PHP为什么empty可以访问不存在的索引
  6. python语言程序设计及医学应用_Python语言程序设计(高等学校计算机专业规划教材)...
  7. Flutter实战一Flutter聊天应用(十五)
  8. Nexus启动失败处理:The nexus service was launched, but failed to start.
  9. Javascript 钩子机制——开会得出的结论
  10. 远程注入利用远程线程直接注入
  11. excel常用函数汇总 Excel公式大全 excel函数应用500例
  12. uni-app自定义配置安卓模拟器 - MuMu模拟器
  13. 设计模式7 ——原型模式
  14. Vivo 监控系统演进之路
  15. 南通大学关于 2022 年下半年成人学士学位英语考试的通知
  16. 原生微信小程序使用class 三元运算符实现多选案例
  17. Unity适配IOS刘海屏
  18. 【 C++ 技术】 C++ 高性能服务器网络框架设计细节
  19. 利用WPT(Windows Performance Toolkit)进行程序的性能分析
  20. 手把手教你使用TensorFlow训练出自己的模型

热门文章

  1. python正则表达式——区间的表达方式
  2. 微信小程序详解wx:if elif else的用法(搭配view、block)
  3. HTML语言中 blur()方法,HTML DOM blur() 方法
  4. 写一下拼多多签到的1天,2天....30天的测试用例?其中签到5天可以可以领现金,签到30天可以获得购物卷,断签需要从第一天开始重新签?
  5. 浅谈企业数据安全治理
  6. 11、可观测性--告警质量
  7. win10默认浏览器里多余了一个无效选项
  8. 最新版的docker安装
  9. Objective-C基本分析法 反编译
  10. 能够实时显示CPU温度的软件