基于Matlab的火灾图像预处理

  1. 摘 要

本文研究了在Matlab环境下如何对图像,特别是火灾图像进行预处理。预处理的过程分为两个步骤,包括火灾图像的增强和滤 波。用一些Matlab的处理实验来分析说明各种方法对火灾图像预处理后所得到的效果。

2火灾图像的预处理

2.1火灾图像增强

图像增强是指按特定的需要来突出一幅 图像中的某些信息,同时削弱或去除某些不需 要的信息的处理方法。其主要的目的是使处 理后的图像对某种特定的应用来说,比原始图 像更适用。因此,这类处理是为了某种应用目 的而去改善图像质量的。处理的结果使图像 更适合于人的视觉特性或机器的识别系统。 应该明确的是增强处理并不能增加原始图像 的信息,其结果只能是增强对某种彳言息的辨别 能力,而这种处理有可能损失一些其它信息。

上面提到的图像增强技术,从根本上说可 以分为两大类:一类是频域处理法,一类是空 域处理法。

频域法:

频域处理法的基础是卷积定理。它采用 图像傅立叶变换的方法来实现对图像的增强 处理。由卷积定理可知,如果原始图像是f(x, y),处理后的图像是g(x,y),而h(x,y)是处理 系统的冲激响应,那么,处理过程可以表示如 下:

f(x.y^h(x.y') (1)

空域法:

所谓空域法是直接对图像中的像素进行 处理,基本上是以灰度映射变换为基础的。所 用的映射变换取决于增强的是哪种细节。例 如增强图像的对比度,改善图像的灰度层次等 处理均属空域法处理。

常用的空域法为线性灰度变换、分段线 性灰度变换、非线性灰度变换、直方图增强 等。

Matlab的图像处理可以使用imadjust 函数来实现图像的灰度变换。调用格式如 下:

J=imadjust(I, [low_in high_in], [low_out high_out])

其中lowjn和highjn指定输入图像需 要调整的灰度范围,low._out和high_out指定 输出图像的灰度范围。注意这里的灰度范围 是浮点型格式,其实是灰度整型值/25 5。

Matlab实验处理实例:

实验L线性灰度变换增强图像对比度,实 验以’x.jpg'为例

i=imread( 'x.jpg'); imshow⑴;显示原图

figure, imhist(i);显示原图的灰度直方图 从灰度直方图可以看到,原图的灰度主要 集中在20 - 70之间的范围,因此我们考虑把 这段灰度通过线性变换延拓到0 - 255,这样 就增加了可视清晰度。于是:

j=imadjust(i,[20/255 70/255],[0 1]);

imshow(j);显示变换后的图像

figure, imhist(j)?显示变换后图像的灰度直 方图

从变换后图像的直方图中看出,灰度被均 匀地分布在了 0 - 255的区间内,这样也就达 到了增强图像对比度的效果。

2.2火灾图像滤波处理

图像的实质是光电信息,因此图像噪 声的主要来源有以下三个:在光电、电磁 转换过程中引入的人为噪声;大气层电(磁) 暴、闪电、电压和浪涌等引起的强脉冲行 冲击干扰;自然起伏性噪声。噪声恶化了 图像质量,使图像模糊,甚至淹没和改变特 征,给图像分析和识别带来了困难。

为了消除噪声,常采用滤波的方法,它可 以分为空域滤波和频域滤波。空域滤波按照 其功能又可以分为平滑滤波和锐化滤波。平 滑滤波可以用低通滤波实现,目的在于模糊图 像(提取图像中的较大对象而消除小对象或将 对象的小间断连接起来)或消除图像噪声,锐化 滤波是用高斯滤波实现的,目的在于强调图像 被模糊的细节。

Matlab实验处理实例: 实验1:中值滤波的效果 i=imread( 'fire.jpg'); imshow(i);%显示原图 j=medfilt2(i,[5 5]);%采用二维中值滤波, 窗口使用5 x 5

imshow(j);%显示滤波后的图像

实验注意:如果窗口大小减小为3 x 3 的话,虽然分辨率增加,但是由于噪声点密 度较大,仍然会遗留较多噪点,因此牺牲一 部分目标清晰度来用大一点的滤波窗口来 滤波效果较明显。

由上述对比可以看出,中值滤波的效 果较好,那是因为维纳滤波比较适合用于 大目标和背景的情况下来区分,而中值滤 波由于其非统计特性原理可以起到一般的 平滑效果,在对于火灾火焰在小空间的判 别情况下,用中值滤波的效果相对较好。 但是对于追求目标结果的清晰度而言,用 维纳滤波效果相对较好。

3结语

本文对在Matlab环境下,如何进行火灾的 图像的预处理做了详细的论述,对几个重要的 图像预处理过程都用相关的Matlab实验做了 效果的演示,并得到了明显的说明作用。特别 要指出的是,在图像处理中,图像预处理对最 终图像的分割效果的好坏起决定性作用,因 此,图像预处理是图像分割,乃至最后的图像 模式识别的最重要的处理过程。

基于Matlab的火灾图像预处理相关推荐

  1. 【基于MATLAB的火灾疏散模拟仿真】——安全隐患提前发现,疏散方案优化

    [基于MATLAB的火灾疏散模拟仿真]--安全隐患提前发现,疏散方案优化 随着城市化进程的不断加速,人口密度越来越大,特别是在高层建筑中.万一发生火灾,往往会对人的生命和财产造成严重损失.因此,火灾疏 ...

  2. 基于Matlab的火灾预警系统

    摘 要 本文研究了在Matlab环境下如何对图像,特别是火灾图像进行预处理.预处理的过程分为两个步骤,包括火灾图像的增强和滤 波.用一些Matlab的处理实验来分析说明各种方法对火灾图像预处理后所得到 ...

  3. MATLAB计算杨氏模量,基于MATLAB处理动态图像的杨氏模量测量方法.doc

    7A版优质实用文档 PAGE PAGE 16 7A版优质实用文档 基于MATLAB处理动态图像的杨氏模量测 量方法 黄浩钊1,陈玥琦2,李家卉3 第三军医大学学员13营,重庆,400038:2.第三军 ...

  4. 【图像增强】基于matlab萤火虫算法图像对比度增强【含Matlab源码 2142期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像增强]基于matlab萤火虫算法图像对比度增强[含Matlab源码 2142期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方 ...

  5. matlab一般函数的绘制方法,基于MATLAB的函数图像绘制方法

    C DOI:10.16707~.cnki.fjpc.2017.01.084 E 晒 亍嚣 基于 MATLAB的函数图像绘制方法 张笑笑 一,童 键 z (1湖南省长沙市第一中学 湖南 长沙 410() ...

  6. 【图像处理】基于matlab拉普拉斯金字塔图像融合

    目录 基于matlab拉普拉斯金字塔图像融合 基于matlab拉普拉斯金字塔图像融合 MATLAB可以使用拉普拉斯金字塔图像融合技术进行图像融合,具体步骤如下: 读取两幅待融合的图像,并将它们转换成灰 ...

  7. 基于Matlab暗通道图像去雾处理

    基于Matlab暗通道图像去雾处理 一.简介 何恺明的暗通道先验( dark channel prior)去雾算法是CV界去雾领域很有名的算法,关于该算法的论文"Single lmage H ...

  8. 【图像融合】基于matlab加权平均法图像融合【含Matlab源码 722期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像融合]基于matlab加权平均法图像融合[含Matlab源码 722期] (https://download.csdn.net/do ...

  9. 【图像融合】基于matlab导向滤波图像融合【含Matlab源码 1959期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像融合]基于matlab导向滤波图像融合[含Matlab源码 1959期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

最新文章

  1. 数据结构——四大查找算法(工作必备)
  2. Format specifies type 'id' but the argument has type 'NSError *__autoreleasing *
  3. python3扫盲系列-(3)
  4. 微软发布 Microsoft Edge 85 稳定版
  5. python打出由边框包围的_python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)...
  6. java中抽象类,abstract关键字
  7. 互联网被滥用的沟通“话术”
  8. matlab练习程序(TV模型图像修复)
  9. Luogu3516 POI2011 Shift 构造
  10. 【问题10】使用Redis SETNX 命令实现分布式锁
  11. 重磅开源!一款引入实时语音与声纹识别的网络辩论系统!
  12. 腔体缝隙天线[搬运]
  13. 深入理解TTL 与 CMOS 电路
  14. linux etc xdg,Xdg-menu (简体中文)
  15. CSS 设置文字间距
  16. 使用 Python 和 Pygame 构建小行星游戏
  17. Fuchsia OS简介
  18. dbcontext的使用
  19. 手动杀掉AUTORUN病毒.
  20. 洛谷 P1434 [SHOI2002]滑雪(DP,记忆化搜索)

热门文章

  1. 电脑电池,为啥你的笔记本电脑电池越来越不耐用?不要一直插电和低电使用!...
  2. 监听菜单按键实现长按触发
  3. Matlab中xlabel函数的使用
  4. 载波聚合(CA)-carrier aggregation
  5. 浅谈socket传输文件速率优化
  6. Jupyter Notebook简介、安装及使用教程
  7. Python学习之selenium库
  8. 计算 ITPC 你需要知道这些……
  9. 生活随记-给亲戚讲她父母的往事
  10. 【Android 应用开发】使用蒲公英 SDK 收集崩溃日志信息 ( 导入依赖 | 申请 Key | 集成代码 | 清单文件配置 | 手动上传日志 | 手动检查更新 )