matlab火焰测温源程序,一种火焰测温方法与流程

本发明涉及一种测量火焰温度的方法。

背景技术:

火焰是气态的且正在发生剧烈氧化反应的燃料及各种中间产物及最终产物的混合物。在煤化工、化工领域,在高温、高压反应器(或气化炉)上,火焰检测器一般安装在气化炉的顶部或者中下部,用于气化炉燃烧的监控。气化炉正常运行过程中,由于炉内温度很高,达到1600-2000℃,因此采用热电偶直接测温存在极大的困难。若通过火焰发射的各种射线进行辐射测量,因不同燃烧物燃烧后发射的射线不同,且存在射线种类过多,测量起来难度极大。

有鉴于上述的缺陷,本设计人,积极加以研究创新,以期创设一种新型火焰测温方法,使其更具有产业上的利用价值。

技术实现要素:

为解决上述技术问题,本发明的目的是提供一种火焰测温的方法,以解决现有技术测量火焰温度的不足,通过对燃烧室内温度的测量,极大提高燃烧室的安全性和稳定性。

本发明的技术方案如下:

一种火焰测温方法,其特征在于,包括以下几个步骤:

S1、图像采集,通过高速摄像头连续采集燃烧室内火焰的多张图像,并将多张图像依次命名为P1、P2、P3···Pn,将依次相邻的两张图计为一组图片组,命名为Z1、Z2、Z3···Zn;

S2、将步骤S1采集的图片调节为灰度模式,取图片组Z1中的两张图片P1和P2,在图片P1和P2上选取相同的区域,扫描选定区域中每个像素点,并计算每一个像素点的灰度值,再计算同一区域内相邻两个像素点灰度值比值,若任意两个相邻像素的灰度比值处于0.95-1的区间,则将相邻两个像素点记为同一类像素,在同一区域内得到多个同一类像素形成的图像点,将图片组Z1中图片P1得到的图像点记为P1(X1、X2、X3···Xn),将图片组Z1中图片P2中得到的图像点记为P2(Y1、Y2、Y3···Yn);

S3、将步骤S2中得到的P1和P2像素点组成像素组(X1Y1、X2Y2、X3Y3、···XnYn),将图片P1和图片P2重合,计算像素组(X1Y1、X2Y2、X3Y3、···XnYn)最近两个像素点的距离(L1、L2、L3···Ln),将距离(L1、L2、L3···Ln)与距离阀值Lm进行比较,将小于阀值Lm距离的像素组记为M(M1、M2、M3···Mn),由于选取的图像区域面积一定,因此小于阀值Lm距离的像素组中的个数为定值,将图片组Z1中得到的定值记为M1;

S4、重复以上步骤,得到图片组Z2、Z3···Zn的定值M2、M3···Mn,得到数据组M1、M2、M3···Mn,从M1开始依次选取10个数值为一组,依次计算选取数值组的方差,当数值组的方差小于1的时候,确定该数值组的数据有效,取该数值组的定值平均値

S5、根据该平均値计算单位区域面积内的像素平均值A,并将平均値A与预设的阀值相比较,预设的阀值根据阀值的大小对应不同的火焰温度,即通过平均値A得到火焰温度。

进一步的,所述像素点的灰度值的计算方法如下,读取每一个像素点的RGB值,根据公式Gray=R*0.3+G*0.59+B*0.11进行计算。

进一步的,所述像素点的灰度值的计算方法如下,读取每一个像素点的RGB值,根据公式Gray=(R+G+B)/3进行计算。

进一步的,所述步骤S2中同一类像素的像素点的个数小于30,若相邻两个像素点灰度值比值处于0.95-1区间的像素个数大于30,则不进行统计。

进一步的,所述步骤S3中距离阀值Lm为距离(L1、L2、L3···Ln)的平均値。

进一步的,所述步骤S3中计算最近两个图像点的距离具体方法为:

以图像点X1/Y1中距离最远的两个像素点为直径,并以该直径画出包裹该图像点的圆,计算包裹图像点X1和图像点Y1圆的圆心之间的距离,再减去包裹图像点X1圆的半径和包裹图像点Y1圆的半径,即为两个图像点之间的距离。

进一步的,当包裹图像点X1和包裹图像点Y1的圆有交点的时候,则不统计该像素组。

进一步的,当包裹图像点X1和包裹图像点Y1的圆的圆心之间的距离大于两个圆直径之和的三倍的时候,则不统计该像素组。

进一步的,所述步骤S1中高速摄像头连续采集图像的间隔为0.05-0.1s。

进一步的,所述步骤S2中计算同一区域内相邻两个像素点灰度值比值之前,将像素点灰度值为50以下的像素点排除。

借由上述方案,本发明至少具有以下优点:

本发明方法通过获取火焰的图像,通过对图像的简单处理得到火焰燃烧过程中飞扬的未燃烧颗粒物的数量,并通过飞扬的未燃烧颗粒物的数量来与阀值相比较,得到火焰燃烧的温度,该方法简单可靠。

具体实施方式

下面结合实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

本发明的工作原理如下:

煤炭燃烧加热过程中,会扬起一定数量的未燃烧颗粒物和燃烧后的灰烬,而当扬起的为燃烧颗粒物和灰烬数量趋于稳定,即数量达到一个平衡状态的时候,火焰的温度即为一定的,因此可以根据火焰中单位面积内扬起未燃烧颗粒物的数量来确定火焰的温度,只需测定好未燃烧颗粒物对应的温度阀值,后期只需测定未燃烧颗粒物的数量即可。

本发明的具体测定方法为:

一种火焰测温方法,包括以下几个步骤:

S1、图像采集,通过高速摄像头连续采集燃烧室内火焰的多张图像,并将多张图像依次命名为P1、P2、P3···Pn,将依次相邻的两张图计为一组图片组,命名为Z1、Z2、Z3···Zn;

该步骤中高速摄像头连续采集图像的间隔为0.05-0.1s,为了确定不同图片中扬起的颗粒物位移变化的图像,因此时间间隔不宜太长;

S2、将步骤S1采集的图片调节为灰度模式,取图片组Z1中的两张图片P1和P2,在图片P1和P2上选取相同的区域,扫描选定区域中每个像素点,并计算每一个像素点的灰度值,再计算同一区域内相邻两个像素点灰度值比值,若任意两个相邻像素的灰度比值处于0.95-1的区间,则将相邻两个像素点记为同一类像素,在同一区域内得到多个同一类像素形成的图像点,将图片组Z1中图片P1得到的图像点记为P1(X1、X2、X3···Xn),将图片组Z1中图片P2中得到的图像点记为P2(Y1、Y2、Y3···Yn);

在计算同一区域内相邻两个像素点灰度值比值之前,将像素点灰度值为50以下的像素点排除,灰度值较小的像素点一般为图片背景或火焰的灰度值,因此去除;

同时同一类像素的像素点的个数小于30,若相邻两个像素点灰度值比值处于0.95-1区间的像素个数大于30,则不进行统计,像素点太大的点不具有统计意义;

具体的计算灰度值的方法为读取每一个像素点的RGB值,根据公式Gray=R*0.3+G*0.59+B*0.11进行计算或根据公式Gray=(R+G+B)/3进行计算。

此步骤的主要目的是将获取的图像中,未燃烧的颗粒物和灰烬进行抓取;

S3、将步骤S2中得到的P1和P2像素点组成像素组(X1Y1、X2Y2、X3Y3、···XnYn),将图片P1和图片P2重合,计算像素组(X1Y1、X2Y2、X3Y3、···XnYn)最近两个像素点的距离(L1、L2、L3···Ln),将距离(L1、L2、L3···Ln)与距离阀值Lm进行比较,将小于阀值Lm距离的像素组记为M(M1、M2、M3···Mn),由于选取的图像区域面积一定,因此小于阀值Lm距离的像素组中的个数为定值,将图片组Z1中得到的定值记为M1;

计算最近两个图像点的距离具体方法为:

以图像点X1/Y1中距离最远的两个像素点为直径,并以该直径画出包裹该图像点的圆,计算包裹图像点X1和图像点Y1圆的圆心之间的距离,再减去包裹图像点X1圆的半径和包裹图像点Y1圆的半径,即为两个图像点之间的距离。当包裹图像点X1和包裹图像点Y1的圆有交点的时候,则不统计该像素组。当包裹图像点X1和包裹图像点Y1的圆的圆心之间的距离大于两个圆直径之和的三倍的时候,则不统计该像素组。

阀值Lm为距离(L1、L2、L3···Ln)的平均値,由于未燃烧的颗粒物和灰烬的重量不同,在扬起的过程中,扬起的速度也是不一样的,因此在两张不同的图片上,经过相同的时间,未燃烧的颗粒物和灰烬的位移也是不一样的,因此通过该方法,将未燃烧的颗粒物和灰烬进行区分;

此步骤的目的为将未燃烧的颗粒物和灰烬进行区分。

S4、重复以上步骤,得到图片组Z2、Z3···Zn的定值M2、M3···Mn,得到数据组M1、M2、M3···Mn,从M1开始依次选取10个数值为一组,依次计算选取数值组的方差,当数值组的方差小于1的时候,确定该数值组的数据有效,取该数值组的定值平均値

此步骤的目的是通过方差对颗粒物的数量稳定性进行统计,当颗粒的数量再变化的时候温度也在变化,只有当颗粒物的数量为稳定状态,温度才稳定。

S5、根据该平均値计算单位区域面积内的像素平均值A,并将平均値A与预设的阀值相比较,预设的阀值根据阀值的大小对应不同的火焰温度,即通过平均値A得到火焰温度。

通过颗粒物与阀值的比较,得到火焰的温度。

本发明方法通过获取火焰的图像,通过对图像的简单处理得到火焰燃烧过程中飞扬的未燃烧颗粒物的数量,并通过飞扬的未燃烧颗粒物的数量来与阀值相比较,得到火焰燃烧的温度,该方法简单可靠。

以上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python spark hadoop_使用Scala或Python列出存储在Hadoop HDFS上的Spark群集中可用的所有文件?...

列出Spark中本地可用的所有文件名的最有效方法是什么?我正在使用Scala API,但是,Python也应该没问题。解决方案import org.apache.hadoop.fs。{FileSystem,FileUtil,Path}import scala.collection.mutable.Stack$ b $ …

asp.net权限控制配置web.config

项目下 有三个文件夹 A,B,C 验正方式是 Forms 验正 我要设置他们的访问权限为, A,匿名可访问 B,普通用户授权后才能访问 C,只允许管理员访问 <configuration> <location path "A "> <system.web> <authorization> <allow users…

oracle排序函数性能,oracle排序函数

rank,dense_rank,row_number&#xff0c;以及分组排名partitionrank:排名会出现并列第n名&#xff0c;它之后的会跳过空出的名次&#xff0c;例如&#xff1a;1,2,2,4dense_rank:排名会出现并列第n名&#xff0c;它之后的名次为n1&#xff0c;例如&#xff1a;1,2,2,3row_numbe…

pythonplotline_带误差条的python绘图线,pythonplotlinewitherrorbar

我们有时候会面临画带有误差的图&#xff0c;大致长成下面这个样子image.png代码为# -*- coding: utf-8 -*-"""Created on Sun Jul 5 21:12:17 2020author: x1c"""import matplotlib.pyplot as pltimport seaborn as snsimport numpy as npsns.s…

php什么是变量6,PHP变量是什么

PHP是一门弱类型语言&#xff0c;本身不严格区分变量的类型。PHP在变量申明的时候不需要指定类型。PHP在程序运行期间可能进行变量类型的隐示转换。 和其他强类型语言一样&#xff0c;程序中也可以进行显示的类型转换。PHP变量可以分为简单类型(int、string、bool)、集合类型(a…

美国只有两样东西要比中国 贵,一个是智慧财产权,一个是人工

美国只有两样东西比中国贵 最近中国一直在热传美国的物价低于中国&#xff0c;特别是生活必需品方面&#xff0c;甚至换算成同一种货币都低于中国。从整体情况来 看&#xff0c;美国人各项消费的支出所占收入的比例要远远低于中国人。有人提出来疑问说&#xff0c;那美国人收入…

红黑树和平衡二叉树的区别_面试题精选红黑树(c/c++版本)

红黑树的使用场景非常广泛&#xff0c;比如nginx中用来管理timer、epoll中用红黑树管理事件块&#xff08;文件描述符&#xff09;、Linux进程调度Completely Fair Scheduler用红黑树管理进程控制块、CSTL中map,set的底层实现全是用的红黑树。掌握红黑树的原理以及使用场景&…

linux 更新软件命令 失败,对linux下软件(库)的更新命令详解

在ubuntu服务器下安装包的时候&#xff0c;经常会用到sudo apt-get install 包名 或 sudo pip install 包名&#xff0c;那么两者有什么区别呢&#xff1f;1.区别pip用来安装来自PyPI(https://www.python.org/)的python所有的依赖包&#xff0c;并且可以选择安装任何在PyPI上已…

查看oracle死锁进程并结束死锁

查看oracle死锁进程并结束死锁 摘自: http://sqcjy111.iteye.com/blog/1183928 查看锁表进程SQL语句1&#xff1a; select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$sessio…

python科学坐标图绘制的四个要素_Python3.0科学计算学习之绘图(四)

绘制三维图&#xff1a;mplot3d工具包提供了点、线、等值线、曲面和所有其他基本组件以及三维旋转缩放的三维绘图。1.散点的三维数据图from mpl_toolkits.mplot3d import axes3d #需要从mplot3d模块中导入axes 3D类型import numpy as npimport matplotlib.p…

linux shell tr命令,linux shell tr命令详解

tr命令是linux下的一个命令&#xff0c;那么它的语法和用途是什么呢?下面由学习啦小编为大家整理了linux shell tr命令的相关知识&#xff0c;希望大家喜欢!linux shell tr命令tr是translate的简写&#xff0c;亦即翻译&#xff0c;但是遗憾的是&#xff0c;它不能翻译句子&am…

PHP 函数:intval()

intval 变量转成整数类型。 语法: int intval(mixed var, int [base]); 返回值: 整数 函数种类: PHP 系统功能 内容说明:本函数可将变量转成整数类型。可省略的参数 base 是转换的基底&#xff0c;默认值为 10。转换的变量 var 可以为数组或类之外的任何类型变量。转载于:htt…

python桌面应用html_是否将Python后端与HTML / CSS / JS用户界面集成到桌面应用程序? - javascript...

在创建桌面应用程序时&#xff0c;如何或将Python代码与HTML / CSS / JS集成为用户界面&#xff0c;该如何做&#xff1f;一个简单的例子&#xff1b;如果我想用Python创建一个打印“ Hello World&#xff01;”的函数并使用HTML / CSS / JS创建用户界面(使其精美&#xff0c;也…

linux中按行读取文件,Linux按行读取文件内容

方法1&#xff1a;while循环中执行效率最高&#xff0c;最常用的方法。function while_read_LINE_bottm(){While read LINEdoecho $LINEdone < $FILENAME}#!/bin/bashwhile read linedoecho $linedone < filename(待读取的文件)注释&#xff1a;习惯把这种方式叫做read釜…

Visual C++ 基础数据类型的转换

16.1如何将基本数据类型转换成CString类型 用CString的Format方法 void CDemoView::OnDraw(CDC* pDC) {int a 100;double b 1.23;//将整型转换成CStringCString str1 _T("");str1.Format(_T("%d"), a);//将实型转换成CStringCString str2 _T("&qu…

python 片段_python片段程序

from PIL import Imageimport re#给图片添加一层蒙版&#xff0c;可以设置位置&#xff0c;尺寸&#xff0c;颜色&#xff0c;透明度def img_add_glass(img,new_imgglass,glass_factor0.3,glass_color#ffffff,glass_x0,glass_y0,glass_width300,glass_height100):imageobjectif…

linux ruby 安装路径,Linux(CentOS 7)安装ruby

首先下载Linux版ruby源码“ruby-2.7.0.tar.gz”&#xff0c;上传并解压到/usr/local路径下&#xff1a;tar -xzvf ruby-2.7.0.tar.gz安装编译依赖工具&#xff0c;gcc、gcc-c、gdbm-devel、readline-devel和openssl-devel&#xff1a;yum install gccyum install gcc-cyum inst…

开心一笑

1转载于:https://www.cnblogs.com/luquanmingren/p/4261912.html

酱油和gbt酱油哪个好_酱油越贵越好?认准瓶身这4处,轻松挑到好酱油!

买酱油这件事&#xff0c;爷叔阿姨们都不陌生。现在市面上酱油品种很多&#xff0c;除了普通的生抽、老抽以外&#xff0c;还有些别的口味&#xff0c;比如海鲜酱油、菌菇酱油等等&#xff0c;价格比普通的还高出不少&#xff0c;这些酱油真的更鲜更好吗&#xff1f;买酱油的2大…

linux网站465端口是什么端口,发送端口25,465,587端口疑问解答

25端口(SMTP)&#xff1a;25端口为SMTP(Simple Mail Transfer Protocol&#xff0c;简单邮件传输协议)服务所开放的&#xff0c;是用于发送邮件。如今绝大多数邮件服务器都使用该协议。当你给别人发送邮件时&#xff0c;你的机器的某个动态端口(大于1024)就会与邮件服务器的25号…