python opencv 图像切割_opencv-python烟雾图像处理

本文来自我的网站-跨时代的jay

利用python实现烟雾图像处理

0abc270da872e28e6dbb61c37e4743d4.png
  • 颜色规范化
  • 直方图均衡化处理
  • 背景减除法建立混合高斯模型
  • 中值滤波去噪

颜色规范化

  • 最大值灰度处理

gray = max(r,g,b)

import 

c3409f0ac8abbdd70783d454b9844583.png

9262672d301f11102c0ec4f95d08725a.png
  • 平均灰度处理

gray = (r,g,b)/3

0dc0c904205d661d1ed8762335cdb4aa.png
  • 加权平均能得到较合理的灰度图像:

f4c01efcfd1347438066af000f01eac7.png

可以看到烟雾用加权平均处理比较好

烟雾的部分显示的比较明显

我们再用几个清楚的烟雾照片进行测试

b030f2666de8e790a027785a44d3be36.png

4806ede831bb0ebc27189d52056e7cdb.png

直方图均衡处理

为什么要直方图均衡化处理

在现实的拍摄过程中

由于其图像的灰度分布集中在较窄的范围内

致了图像的细节不够清晰

为了使得图像变得清晰

就需要使得灰度值的差别变大

就意味着灰度分布就变的较宽

使得灰度值分布变得均匀

这样才能使得图像的对比度增强

细节变得清晰可见

原理

直方图均衡化就是对图像进行非线性拉伸

使得变换后的图像直方图分布均匀

运用随机变量的函数分布的数学知识

import 

e174d8b1bdb6b45351601507806c5eef.png


我们对这个烟雾照片进行直方图均衡化后

1e756fabcd4c4aab57ea953200226685.png


可以看到对比度加强

烟雾区域明显

背景减除法建立混合高斯模型确定运动目标

我们直到烟雾是在运动的

不可能是静态不动的

那么如何准确的提取出我们想要的目标呢?

混合高斯模型建立的基本思想

  • 初始化预先定义几个高斯模型
  • 对视频分帧后每一帧的像素进行处理,看是否匹配某个模型,若匹配,则将其归入该模型中
  • 若不匹配,以该像素重新建立一个高斯模型,初始化参数,代替原有的模型
  • 最后选择几个最有可能的模型作为背景模型,为背景目标提取做铺垫
import 

a39e10ded9c24a0aa4e29d17dab5fd63.png

中值滤波去噪

中值滤波的主要原理是将数字图像中的某点用该点的邻域中各个像素值的中值所来代替

这样就能让目标像素周围能够更好的接近真实值

去噪处理是由于在前面对图像进行预处理产生的一些椒盐噪声

去除后将增大识别率

这是经过直方图均衡化后的图像

05653f256664443f0cff18398db9cca5.png


经过中值滤波去噪后的图像

22207413286d15662cfc28ea970ec5b8.png

可以看到将烟雾区域更加明显

赞赏赞赏我咯

329a3d24fbbda30afa0d491745ae62df.gif
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值