前面提到,我们想到了用平均操作来降低噪声。降低噪声的意义是显而易见的,当我们需要图像增强,以提升图像的质量时,必须降低甚至消除噪声。

用平均操作来降低噪声是一种好方法,其基于的原理是:每个像素点的值与其周边像素点的值比较接近。

但是,我们进一步分析,如果一个像素点的值没有被噪声污染,那么用这种操作就改变了像素点的真实值,带来了副作用。同时,在像素点的8领域周边像素中,其水平和垂直方向的4领域像素与中心像素的距离是1,而对角像素与中心像素的距离是根号2,距离中心像素更近的像素的值是不是与中心像素的值更接近呢,重要程度更高呢。同样,中心像素的值本身是不是有更大的可能性接近原始值呢,它本身的重要程度是不是也更高呢。

于是,我们很自然的就想到是不是不用绝对平均,而是用加权平均,重要程度高的赋予更高的权重,重要程度低的赋予较低的权重。例如下图所示:

中心点象素的权重是0.25,水平和垂直方向像素的权重是0.125,对角方向像素的权重是0.0625,当然,这些权重的和必须等于1。

我们用加权平均来看一看效果。下图是带有盐噪声的图像。

import cv2
import numpy as np
salt = cv2.imread("salt_lena.bmp", 0)
row, column = salt.shape
reduce = salt[:]
for x in range(1, row - 1):for y in range(1, column - 1):reduce[x, y] = 0.0625 * salt[x - 1, y - 1] + 0.125 * salt[x - 1, y] + 0.0625 * salt[x - 1, y + 1] + \0.125 * salt[x, y - 1] + 0.25 * salt[x, y] + 0.125 * salt[x, y + 1] + \0.0625 * salt[x + 1, y - 1] + 0.125 * salt[x + 1, y] + 0.0625 * salt[x + 1, y + 1]cv2.imshow("reduce", reduce.astype("uint8"))
cv2.waitKey()

输出结果:

为什么用加权平均来降噪相关推荐

  1. 「技术综述」一文道尽传统图像降噪方法

    https://www.toutiao.com/a6713171323893318151/ 作者 | 黄小邪/言有三 编辑 | 黄小邪/言有三 图像预处理算法的好坏直接关系到后续图像处理的效果,如图像 ...

  2. 图像降噪算法——时域降噪算法

    图像降噪算法--时域降噪算法 图像降噪算法--时域降噪算法 1.<MeshFLow Video Denoising> 2. <Real-Time Video Denoising On ...

  3. 数字图像处理——2D降噪

    图像降噪处理主要分为2D(空域)与3D降噪(时域/多帧),而2D降噪由于相关的实现算法丰富,效果各异,有着丰富的研究价值.理解2D降噪算法的流程,也对其他的增强算法有很大的帮助,本文将介绍均值滤波到非 ...

  4. 微弱信号检测中四种降噪滤波方法的matlab实现

    用Matlab实现4种滤波降噪处理算法,信号为正弦信号叠加上白噪声,参数可自主定制. %matlab clear all;clc; fs=300; Time=128; t=0:1/fs:Time; f ...

  5. 单麦降噪经典书籍《Speech enhancement: theory and practice》读书笔记(第5章)

    目录 前言 第5章 谱减算法 5.1 谱减的基本原理 5.2 谱减的几何分析 5.2.1 带噪信号与纯净信号相位差的上限 5.2.2 不同的谱减形式及理论局限 5.3 谱减法的缺点 5.4 谱减法中使 ...

  6. 图像视频降噪的现在与未来

    全文核心部分内容来自于 https://zhuanlan.zhihu.com/p/106191981,即为腾讯研究院针对降噪的讲解PPT. 在此之前首先讲述一下多帧降噪的相关原理, 一.噪点产生的原因 ...

  7. 图像视频降噪的现在与未来——从经典方法到深度学习

    1. 简介 1.1 腾讯多媒体实验室 1.2 噪声的来源 1.3 硬件降噪方法 2. 传统降噪方法 2.1 单帧降噪 上面的PPT中包含了双边滤波和小波变换的示意图.通常我们会拿双边滤波和高斯滤波进行 ...

  8. 小波变换图像融合_图像视频降噪的现在与未来——从经典方法到深度学习

    噪声是图像与视频中的一种常见失真类型,也是腾讯多媒体实验室以及腾讯云提供的多种失真处理能力之一.本分享总结了噪声产生的几个原因,从理论上分析降噪的基本原理,并介绍了使用传统方法和深度学习进行单帧降噪. ...

  9. 06|音频降噪概述(2)一基于AI降噪

    目录 引言: 一. AI降噪模型等基础知识: 1.1 常见的模型结构: DNN CNN RNN 1.2 模型训练方法 步骤: 1.3 设计AI降噪模型: 步骤 二. 基于频域掩码的AI降噪模型 基于频 ...

最新文章

  1. 2022.3.28紫薇
  2. python从图片里提取主要颜色
  3. bkg bnc_BNC的完整形式是什么?
  4. 在easyui中如何使用ajax请求数据,Ajax 中正常使用jquery-easyui (转)
  5. SpringMVC的响应JSON数据和过滤静态资源
  6. bootstrap设计登录页面_前端小白如何在10分钟内打造一个爆款Web响应式登录界面?...
  7. Oracle sql语句简单优化
  8. java单线程共享,「Java并发编程实战」之对象的共享
  9. python dict遍历_Python专题——详解enumerate与zip用法
  10. 练习编程思维的小游戏
  11. 海康大华等传统摄像机的RTSP流通过拉转GB/T28181输出级联到国标流媒体服务平台
  12. 计算机考研考心理学,跨专业考研心理学研究生好考吗
  13. Markdown | 最具有效率的写作工具一次性掌握
  14. 第049篇:VBA之合并单元格、取消合并单元格并保留原来的数据
  15. Html5 学习笔记 【PC固定布局】 实战6 咨询页面
  16. java smack 例子_关于JAVA利用smack连接openfire的jar依赖问题
  17. Android 微信分享与QQ分享功能(原生实现)
  18. 黑马程序员—对话框Dialog小例子
  19. spring cloud 快速上手系列 -> 02-配置中心 Config -> 022-Config客户端
  20. 循环神经网络(RNN, Recurrent Neural Networks)学习笔记:源码分析(一)

热门文章

  1. lamp 安装pdo_mysql_LAMP安装
  2. 10 个冷门但又非常实用的 Docker 使用技巧
  3. 为防止员工带薪拉屎,快手公司推出“计时厕所”?官方称只是为了测试!
  4. 本地代码上传到github
  5. 05--MySQL自学教程:DDL(Data Definition Language:数据库定义语言)操作数据库(一)
  6. LeetCode-73. Set Matrix Zeroes
  7. Java设计模式——原型模式
  8. RHEL7配置本地yum源
  9. Hibernate之检索策略
  10. Java-Web HTTP协议