MATLAB多参数结合火焰识别系统[GUI+多参数识别]

MATLAB多参数结合火焰识别系统[GUI+多参数识别]

一、课题介绍

本设计为基于MATLAB的火焰烟雾火灾检测系统。传统的采用颜色的方法,误识别大,局限性强。结合火焰是实时动态跳跃的,采用面积增长率,角点和圆形度三个维度相结合的方式判断是否有火焰。该设计测试对象为视频,通过下一帧和上一帧的差异发现是否有火情,并可发出语音报警。本设计带有一个人机交互式GUI界面,界面友好。是个不错的bishe选题。

二、算法流程

结合火焰的面积增长率,角点和圆形度三个维度综合判断。并且得出每帧图像火焰部分的该三个参数,实时显示在GUI上。

三、GUI界面设计及预期图


GUI设计图


预期图

四、程序附录

1、读取视频

obj = VideoReader(uigetfile('*.mp4','选择视频'));%输入视频位置

setappdata(0,'obj',obj);%设置全局变量

Show_Frames=read(obj,1);%显示第一帧作为封面

axes(handles.axes1);

imshow(Show_Frames);

set(handles.text16,'String','视频待识别...请稍等!');

 prompt={'输入图片名称序列号位数:'};

    defans={'3'};%默认三位数

    p=inputdlg(prompt,'输入位数',1,defans);

    numzeros=str2num(p{1});

   nz = strcat('%0',num2str(numzeros),'d');

 

numFrames = obj.NumberOfFrames;% 帧的总数

for k = 1 :5% 读取前15帧  numFrames

frame = read(obj,k);%读取第几帧

id=sprintf(nz,k);

imwrite(frame,strcat('帧系列/',id,'.jpeg'),'jpeg');% 保存帧

end

 

 

2、视频读取分析

obj=getappdata(0,'obj');

%fileName = 'test.mp4';                         %读取视频函数

fileName = obj;                         %读取视频函数

numFrames = obj.NumberOfFrames;                %帧的总数

Framerate=obj.FrameRate;

Height=obj.Height;   

Height%一个对象的行

Width=obj.Width;  

Width%一个对象的列

a=0.06;

 

a1=str2num(get(handles.edit1,'String'));

s=str2num(get(handles.edit2,'String'));

a2=str2num(get(handles.edit3,'String'));

 

for i=a1:s:a2                

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值