图像滤波器

图像噪声
        • 图像噪声是图像在获取或是传输过程中受到随机信号干扰,妨碍人们对图像理解及分析处理
的信号。
        • 图像噪声的产生来自图像获取中的环境条件和传感元器件自身的质量,图像在传输过程中产
生图像噪声的主要因素是所用的传输信道受到了噪声的污染。
高斯噪声
高斯噪声(Gaussian noise)是指它的概率密度函数服从高斯分布的一类噪声。
特别的,如果一个噪声,它的幅度分布服从高斯分布,而它的任意两个采样样本之间不相关,则
称它为高斯白噪声。
必须区分高斯噪声和白噪声两个不同的概念。高斯噪声是指噪声的概率密度函数服从高斯分布,
白噪声是指噪声的任意两个采样样本之间不相关,两者描述的角度不同。白噪声不必服从高斯分
布,高斯分布的噪声不一定是白噪声。
产生原因:
1)图像传感器在拍摄时不够明亮、亮度不够均匀;
2)电路各元器件自身噪声和相互影响;
3)图像传感器长期工作,温度过高

 

椒盐噪声
椒盐噪声又称为脉冲噪声,它是一种随机出现的白点或者黑点。
椒盐噪声 = 椒噪声 (pepper noise)+ 盐噪声(salt noise)。 椒盐噪声的值为0(椒)或者255(盐)。
前者是低灰度噪声,后者属于高灰度噪声。一般两种噪声同时出现,呈现在图像上就是黑白杂点。
对于彩色图像,也有可能表现为在单个像素BGR三个通道随机出现的255或0。
如果通信时出错,部分像素的值在传输时丢失,就会发生这种噪声。
椒盐噪声的成因可能是影像讯号受到突如其来的强烈干扰而产生等。例如失效的感应器导致像素值
为最小值,饱和的感应器导致像素值为最大值
要点总结:
1.图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少
的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。
2.消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和
中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没。因此一个能降低高频成分幅度的滤波器
就能够减弱噪声的影响。
3.平滑滤波是低频增强的空间域滤波技术。它的目的有两类:一类是模糊;另一类是消除噪音。空间域的
平滑滤波一般采用简单平均法进行,就是求邻近像元点的平均亮度值。邻域的大小与平滑的效果直接相关,
邻域越大平滑的效果越好,但邻域过大,平滑会使边缘信息损失的越大,从而使输出的图像变得模糊,因此
需合理选择邻域的大小。
4.关于滤波器,一种形象的比喻法是:我们可以把滤波器想象成一个包含加权系数的窗口,当使用这个滤
波器平滑处理图像时,就把这个窗口放到图像之上,透过这个窗口来看我们得到的图像。
滤波目的:
1、消除图像中混入的噪声。2、为图像识别抽取出图像特征。
滤波要求:
1、不能损坏图像轮廓及边缘 。2、图像视觉效果应当更好。

均值滤波
均值滤波,是图像处理中最常用的手段,从频率域观点来看均值滤波是一种低通滤波器,高频信号将
会去掉,因此可以帮助消除图像尖锐噪声,实现图像平滑,模糊等功能。理想的均值滤波是用每个像
素和它周围像素计算出来的平均值替换图像中每个像素。

 

从左到右从上到下计算图像中的每个像素,最终得到处理后的图像。
均值滤波可以加上两个参数,即迭代次数,Kernel数据大小。
一个相同的Kernel,但是多次迭代就会效果越来越好。
同样,迭代次数相同,Kernel矩阵越大,均值滤波的效果就越明显。

 

注意 ,这个kernel加权求和之后还得除以9才是均值,用均值替换蓝色中心像素
优点:算法简单,计算速度快;
缺点:降低噪声的同时使图像产生模糊,特别是景物的边缘和细节部分
中值滤波
中值滤波也是消除图像噪声最常见的手段之一,特别是消除椒盐噪声,中值滤波的效果要比均值滤
波更好。中值滤波跟均值滤波唯一不同是,不是用均值来替换中心每个像素,而是将周围像素和中
心像素排序以后,取中值。
一个3X3大小的中值滤波如下

 

优点:抑制效果很好,画面的清析度基本保持;
缺点:对高斯噪声的抑制效果不是很好
最大最小值滤波
最大最小值滤波是一种比较保守的图像处理手段,与中值滤波类似,首先要排序周围像素和中心像
素值,然后将中心像素值与最小和最大像素值比较,如果比最小值小,则替换中心像素为最小值,
如果中心像素比最大值大,则替换中心像素为最大值。
一个Kernel矩阵为3X3的最大最小值滤波如下:

 

拓展 -- 引导滤波
在引导滤波的定义中,用到了局部线性模型。
该模型认为,某函数上一点与其邻近部分的点成线性关系,一个复杂的函数就可以用很多局部
的线性函数来表示,当需要求该函数上某一点的值时,只需计算所有包含该点的线性函数的值
并做平均即可。这种模型,在表示非解析函数上,非常有用。

 

图像增强
        有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特
征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富
信息量,加强图像判读和识别效果,满足某些特殊分析的需要。
图像增强可以分为两种:
点处理技术。只对单个像素进行处理。
领域处理技术。对像素点及其周围的点进行处理,即使用卷积核
1. 线性变换
图像增强线性变换主要对图像的对比度和亮度进行调整:
 
参数 a 影响图像的对比度,参数 b 影响图像的亮度,具体可分为以下几种情况:
a>1: 增强图像的对比度,图像看起来更加清晰
a<1: 减小了图像的对比度, 图像看起来变模糊
a=1 and b≠0:图像整体的灰度值上移或者下移,也就是图像整体变亮或者变暗,不会改变图像的对比
度,b>0时图像变亮,b<0时图像变暗
2. 分段线性变换
即对处于某个感兴趣的区域的x,将其对比度系数a增大或减小,从而增大或减小这个区域的对比度
3. 对数变换
对数变换将图像的低灰度值部分扩展,将其高灰度值部分压缩,以达到强调图像低灰度部分的目的;
同时可以很好的压缩像素值变化较大的图像的动态范围,目的是突出我们需要的细节。

 

4. 幂律变换/伽马变换
幂律变换主要用于图像的校正,对漂白的图片或者是过黑的图片进行修正。

 

 

根据 γ的大小,主要可分为以下两种情况:
γ > 1: 处理漂白的图片,进行灰度级压缩
γ < 1: 处理过黑的图片,对比度增强,使得细节看的更加清楚
图像增强常用方法(包括但不限于):
1. 翻转、平移、旋转、缩放
2. 分离单个r、g、b三个颜色通道
3. 添加噪声
4. 直方图均衡化
5. Gamma变换
6. 反转图像的灰度
7. 增加图像的对比度
8. 缩放图像的灰度
9. 均值滤波
10. 中值滤波
11. 高斯滤波

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习】基于图形的机器学习:概述

一、说明 图神经网络&#xff08;GNN&#xff09;在数据科学和机器学习中越来越受到关注&#xff0c;但在专家圈之外仍然知之甚少。为了掌握这种令人兴奋的方法&#xff0c;我们必须从更广泛的图形机器学习&#xff08;GML&#xff09;领域开始。许多在线资源谈论GNN和GML&…

DP83867IS SGMII eye diagram问题调试记录

1. 前言 使用的是带CPU的DP83867IS,通过SGMII接口 从PHY到CPU的眼图看起来很好 而从CPU到PHY的眼图很差 2. 问题梳理 (1)能证实SGMII道有100欧姆的阻抗吗? (2)能不能做一个误码率测试来看看眼图是否仍然是可以接受的? (3)因为从PHY到CPU的眼睛是好的,可能有一个…

Oracle 最高安全架构

​在当今世界中&#xff0c;数据库是存储敏感信息的宝贵资料库&#xff0c;攻击者总是在寻找目标。这导致网络安全威胁的增加&#xff0c;因此有必要采取适当的保护措施。Oracle Maximum Security Architecture&#xff08;MSA&#xff09;就是一种提供数据库端到端安全的解决方…

MYSQL 主从复制

在读多写少的网络环境下&#xff0c;MySQL 如何优化数据查询方案 假如说一个电商平台 到双十一了 大量的读写操作 如果不做点什么的话 平台就被冲烂了 那我们要怎么办呢? 你或许会想 林北直接一个redis缓存 帮数据库度过难关 这个操作实际上是不行的 因为应用缓存的原则之一…

【开发环境】Windows下搭建TVM编译器

关于搭建TVM编译器的官方文档&#xff1a;Install from Source — tvm 0.14.dev0 documentation (apache.org) 1. 安装Anaconda 首先我们需要安装Anaconda&#xff0c;因为其中包含着我们所需要的各类依赖&#xff1a; 进入Anaconda官网https://www.anaconda.com/products/d…

【Spring Cloud Alibaba】Sentinel运行原理

文章目录 前言1、基本原理2、SphU.entry()2.1、StringResourceWrapper2.2、Entry 3、entry.exit()4、Context 前言 本文基于sentinel-1.8.0版本 Sentinel 是面向分布式服务架构的流量控制组件&#xff0c;主要以流量为切入点&#xff0c;从限流、流量整形、熔断降级、系统负载保…

DoIP学习笔记系列:导航篇

文章目录 1. 前言2. 导航3. 参考资料 1. 前言 DoIP学习笔记系列是一整套基于网络的诊断协议学习笔记&#xff0c;非常适合对有UDS基础但对DoIP没有实战经验的小伙伴参考&#xff0c;通过源协议讲解&#xff0c;企标讲解&#xff0c;测试需求讲解&#xff0c;测试用例讲解&…

STM32CubeMX配置STM32G031多通道ADC采集(HAL库开发)

时钟配置HSI主频配置64M 勾选打开8个通道的ADC 使能连续转换模式 配置好串口&#xff0c;选择异步模式配置好需要的开发环境并获取代码 修改main.c 串口重定向 #include "stdio.h" int fputc(int ch, FILE *f) {HAL_UART_Transmit(&huart1, (uint8_t *)&ch…

Shell脚本学习-read命令

Shell变量可以直接赋值或者脚本传参的方式&#xff0c;还可以使用echo命令从标准输入中获得&#xff0c;read为bash内置命令。 [rootvm1 ~]# type echo echo is a shell builtin常用参数&#xff1a; -p prompt&#xff1a;设置提示信息&#xff0c;我们看help内容的信息&…

开发中遇到的 cookie 问题

1. cookie 无法跨域携带问题 尽管已经登录&#xff0c;但是请求接口返回状态码&#xff1a;202&#xff0c;msg&#xff1a; 未登录&#xff0c;如下图所示&#xff1b; 1.1 XMLHttpRequest.withCredentials未设置 如果需要跨域 AJAX 请求发送 Cookie&#xff0c;需要withCre…

【C++】STL---list基本用法介绍

个人主页&#xff1a;平行线也会相交&#x1f4aa; 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【C之路】&#x1f48c; 本专栏旨在记录C的学习路线&#xff0c;望对大家有所帮助&#x1f647;‍ 希望我们一起努力、成长&…

基于YOLOv8开发构建蝴蝶目标检测识别系统

在前面的一篇博文中已经很详细地描述了如何基于YOLOv8开发构建自己的个性化目标检测模型&#xff0c;感兴趣的话可以看下&#xff1a; 《基于YOLOv8开发构建目标检测模型超详细教程【以焊缝质量检测数据场景为例】》 本文的主要目的就是基于YOLOv8来开发构建细粒度的蝴蝶目标…

Python深度学习“四大名著”之一【赠书活动|第二期《Python机器学习:基于PyTorch和Scikit-Learn》】

近年来&#xff0c;机器学习方法凭借其理解海量数据和自主决策的能力&#xff0c;已在医疗保健、 机器人、生物学、物理学、大众消费和互联网服务等行业得到了广泛的应用。自从AlexNet模型在2012年ImageNet大赛被提出以来&#xff0c;机器学习和深度学习迅猛发展&#xff0c;取…

Centos报错:[Errno 12] Cannot allocate memory

执行一个脚本刚开始正常&#xff0c;后面就报[Errno 12] Cannot allocate memory 如果内存不足&#xff0c;可能需要增加交换内存。或者可能根本没有启用交换。可以通过以下方式检查您的交换: sudo swapon -s如果它为空&#xff0c;则表示您没有启用任何交换。添加 1GB 交换…

客户方数据库服务器CPU负载高优化案例

客户方数据库服务器CPU负载高优化案例 背景 上周线上服务出现一个问题&#xff0c;打开某个页面&#xff0c;会导致其它接口请求响应超时&#xff0c;排查后发现数据库响应超400s&#xff0c;之前1s就可查到数据。 具体原因是有个大屏统计页面&#xff0c;会实时查看各业务服…

pve安装ikuai并设置,同时把pve的网络连接到ikuai虚拟机

目录 前因 前置条件 安装ikuai 进入ikuai的后台 配置lan口&#xff0c;以及wan口 配置lan口桥接 按实际情况来设置了 单拨&#xff08;PPOE拨号&#xff09; 多拨(内外网设置点击基于物理网卡的混合模式) 后续步骤 pve连接虚拟机ikuai的网络以及其他虚拟机连接ikuai的网…

3秒快速打开 jupyter notebook

利用 bat 脚本&#xff0c;实现一键打开 minconda 特点&#xff1a; 1、可指定 python 环境 2、可指定 jupyter 目录 一、配置环境 minconda 可以搭建不同的 python 环境&#xff0c;所以我们需要找到 minconda 安装目录&#xff0c;把对应目录添加到电脑环境 PATH 中&#…

环境搭建-Ubuntu20.04.6系统TensorFlow BenchMark的GPU测试

1. 下载Ubuntu20.04.6镜像 登录阿里云官方镜像站&#xff1a;阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 2. 测试环境 Server OS&#xff1a;Ubuntu 20.04.6 LTS Kernel: Linux 5.4.0-155-generic x86-64 Docker Version&#xff1a;24.0.5, build ced0996 docker-com…

NFT市场泡沫破裂了吗?投资NFT是否仍然安全?

近期&#xff0c;NFT市场的价格出现了明显的下跌趋势&#xff0c;许多人开始担心NFT市场是否已经进入了泡沫破裂的阶段。但是&#xff0c;我们需要认真分析这个问题&#xff0c;并且探讨投资NFT是否仍然安全。 NFT&#xff08;Non-Fungible Token&#xff09;是一种非同质化代币…

在家构建您的迷你 ChatGPT

这篇文章分为三个部分&#xff1b;他们是&#xff1a; 什么是指令遵循模型&#xff1f;如何查找遵循模型的指令构建一个简单的聊天机器人废话不多说直接开始吧&#xff01;&#xff01;&#xff01; 什么是指令遵循模型&#xff1f; 语言模型是机器学习模型&#xff0c;可以根…