计算机视觉空域处理完整版——超详细图文解

news2024/11/15 19:28:32

空域处理

图像空域处理

  • a.线性滤波
  • b.非线性滤波
  • c.二值图像处理方法
    • 数学形态学
    • 连通成分标记

“点运算”是在不改变图像大小、几何形状以及局部结构的情况下,对像素值进行修改,新图像的像素值只与 原图像同一位置的像素值有关

  1. 灰度级变换(线性变换,非线性变换(Gamma校正))
  2. 图像间的算术运算和逻辑运算
  3. 直方图法直方图均衡化、直方图规定化

图像滤波

  • 空间域图像滤波
    • 平滑化、锐化
    • 直接对像素进行操作
  • 频率域图像滤波
    • 去噪、采样、图像压缩
    • 修改图像的频率
  • 模板和图像金字塔
    • 检测、粗糙到精细
    • 将模板匹配到图像

滤波很重要!

  • 图像增强
  •         去噪、调整大小、对比度增强, 等等
  • 从图像中提取信息
  •         纹理、边缘、特征点,等等
  • 检测模式
  •         模板匹配

空域滤波

空域滤波是一种邻域处理方法,通过直接在图像空间中对邻域内像素进行处理。

作用域:像素及其邻域。

空域滤波通常使用空域模板进行的图像处理,模板本身被称为空域滤 y波器。(空间滤波器)

 目的: 达到平滑或锐化图像的作用。

空域滤波分类

按照分类方法的不同

数学形态分类

按处理效果分类

        钝化滤波器、锐化滤波器

线性空域滤波

像素的输出值是计算该像素邻域内像素值的线性组合,系数矩阵称为模板

通常使用滤波模板与图像的空域卷积来实现的,因 此滤波模板也称为卷积模板

根据空域卷积的定义,卷积的计算首先需要将模板反褶,即将模板绕中心旋转180度,在图像处理中,模板通常是关于原点对称的,通常不用考虑旋转。

空域滤波-模版

模板的中心会移动到图像上的每一个点进行卷积操作, 实现滤波

模板卷积的主要步骤:

将模板在图像中遍历, 将模板中心与各个像 素位置重合;

将模板的各个系数与模板对应像素值相乘

将所有乘积相加,并将求和结果赋值于模板中心对应的像素

例:滤波器如何实现滤波

均值滤波器

每个像素的值用其邻域像素的平均值替换

实现平滑效果(去除尖锐特征)

图像卷积操作

模板在图像上卷积的数学表达(离散情况)

什么是卷积

在泛函分析中,卷积、旋积或褶积(英语:Convolution)是通过两个函数f和g生成第三个函数的一种数学算子,表征函数f与g经过翻转和平移的重叠部分函数值乘积对重叠长度的积分。

信号与系统:卷积(convolution)

卷积的应用

  • 统计学中加权的滑动平均是一种卷积。
  • 概率论中,两个统计独立变量X与Y的和的概率密度函数是X 与Y的概率密度函数的卷积
  • 光学中,反射光可以用光源与一个反映各种反射效应的函数的卷积表示。
  • 电子工程与信号处理中,任一个线性系统的输出都可以通过将输入信号与系统函数(系统的冲激响应)做卷积获得。
  • 物理学中,任何一个线性系统(符合叠加原理)都存在卷积。

光学系统像平面上的光强分布是物的光强分布单位强度点光源对应的像强度分布的卷积。

卷积数学定义

一维卷积

一维卷积操作

二维卷积

卷积的基本性质:

图像卷积操作

假设有3x3的卷积核,下面的是均值滤波其的卷积核。其它 5x5 , 7x7, 中值滤波器,高斯滤波器等

图像卷积操作中存在的边界问题

锐化滤波器

平滑空间线性滤波器

一般作用:

模糊处理:去除图像中一些不重要的细节;

减少噪声。

常用的线性滤波器

均值滤波器(低通)

每一个像素值用其局部邻域内所有像素值的加权均值置换

包含在滤波器邻域捏像素的平均值,也称均值滤波器。

作用:

  1. 减小图像灰度的“尖锐”变化,减小噪声;
  2. 由于图像边缘是由图像灰度尖锐变化引起的,所以也存在边缘模糊的问题。

每一个像素值用其局部邻域内所有值的均值置换

其中,M是邻域N内的像素点总数。

在像素点[i,j]处取3*3邻域,得:

振铃现象

图像处理中,对一幅图像进行滤波处理,若选用的滤波器具有陡峭的变化,则会使滤波图像产生“振铃”

解决方法:根据邻域像素与中心的远近程度分配权重

加权平均模版:

在设计线性平滑滤波器时,滤波器只有一个峰值,称 之为主瓣,并且在水平和垂直方向上的滤波权值是对 称的。典型的加权平滑滤波器的权值模板如下:

高斯卷积核

高斯核是对连续高斯的离散近似,窗口越大自然近似越好,但边缘权值其实很小, 可忽略不计,越大的模板会增加计算量

去除图像中的高频成份(低通滤波器)

两个高斯卷积核卷积后得到的还是高斯卷积核

    使用多次小方差卷积核连续卷积,可以得到与大方差卷积核相同的结果

    使用标准差为σ的高斯核进行两次卷积与使用标准差σ√2的高斯核进行一次卷积相同

可分解为两个一维高斯的乘积

以2个3*3的级联卷积代替1个5*5的卷积为例:可以减少5*5-2*3*3=7 个参数,减少了28%的参数。

高斯平滑滤波器

高斯函数具有五个重要的性质:

旋转对称性

在各个方向上的平滑是一致的

单调递减

邻域的影响随着距离的增加而减弱

傅立叶变换是其本身

保留所需信号

参数σ调节平滑程度

在过平滑与欠平滑之间取得平衡

可分离性

降低计算复杂度

2、如果核可分离呢?

答案:O(n2 m)

在这一节中,我们学习了一种新的卷积核,高斯卷积核,它能够有效地抑制噪声、实现图像平滑。同时,我们也介绍了高斯卷积核的堆叠以及分解,它们都可以用于减少卷积计算的复杂度。

图像噪声去除

什么是噪声?

所谓的图像噪声,是图像在摄取时传输时所受到的随机干扰信号,常见的有椒盐噪声白噪声高斯噪声

椒盐噪声:黑色像素和白色像素随机出现

白噪声:白色像素随机出现

高斯噪声:噪声强度变化服从高斯分布(正态分布)

高斯噪声波形

椒盐噪声波形

椒盐噪声:黑白变化极大,并不服从正态分布

二维图像中利用均值滤波器去噪

使用较大标准差的平滑卷积核可抑制噪点,但也会使图像模糊

高斯滤波器去除椒盐噪声效果

结论:高斯滤波器并不能有效去除椒盐噪声

原因

椒盐噪声

出现位置是随机的,但噪声的幅值是基本相同的。(图像传感器,传输信道,解压处理等产生的黑白相间的亮暗点噪声)

高斯噪声

出现是一定的(每一点上),但噪声的幅值是随机的。(不良照明和高温引起的传感器噪声

解决方法——中值滤波

本质上是一种统计排序滤波器

统计排序滤波器:将模板对应的邻域内像素的灰度值进行排序,将统计排序结果作为模板中心对应像素的输出值

对于原图像中某点(i,j),中值滤波以该点为中心的邻域

内的所有像素的统计排序中值作为(i,j)点的响应。

中值不同于均值,是指排序队列中位于中间位置的 元素的值。

中值滤波——一维滤波

中值滤波——设计思想

  • 由于噪声(如椒盐噪声)的出现,使该点像素周围的像素亮(暗)许多。如果在某个模板中, 对像素进行由小到大排列的重新排列,那么最亮的或者是最暗的点一定被排在两侧
  • 取模板中排在中间位置上的像素的灰度值待处理像素的值,就可以达到滤除噪声的目的
  • 是一种非线性滤波

中值滤波——处理方法

中值滤波的模板形状和尺寸应根据图像的特性处理目的来确定。

几种常用的中值滤波模板形状,符号+标记模板中心,模板尺寸为5

与均值滤波类似, 做3 * 3 的模板, 对9个数排序,取5个数替代原来的像素值。

中值滤波——效果

由小到大排 列重新排列, 那么最亮的 或者是最暗 的点一定被 排在两侧。

中值滤波算法的特点

在去除噪音的同时,可以比较好地保留边的锐度和图像的细节(优于均值滤波器)

能够有效去除脉冲噪声:以黑白点叠加在图像上

中值滤波与均值滤波对比

对于椒盐噪声,中值滤波效果比均值滤波效果

原因:

椒盐噪声是幅值近似相等但随机分布在不同位置上,图像中有干净点也有污染点

中值滤波是选择适当的点来替代污染点的值 所以处理效果好。

因为椒盐噪声的均值不为0,所以均值滤波不能很好地去除噪声点。

对于高斯噪声,均值滤波效果比中值滤波效果

原因:

高斯噪声是幅值近似正太分布,并分布在每一个像素点上,图像所有像素点基本都是污染点

因为每个像素点都是污染点,所以中值滤波

无法选择适当的点来替代污染点的值

因为高斯噪声的均值为0,所以均值滤波能很好地去除噪声点,(实际只能减弱)。

中值滤波的不足

中值滤波效果依赖于滤波窗口的大小,太大会使边缘模糊,太小则去噪效果不好

(因此需要有一种改进的中值滤波策略来解决此问题)

作为一种非线性滤波(不能被其他邻域点线性表示),中值滤波有可能会改变图像的性质 因此一般不适用于军事图像处理、医学图像

处理等领域。

其它统计排序滤波器(非线性滤波器)

最大值滤波器

先是排序像素值,而后对中心像素值和最大像素值进行比较。若比最大值大,则将最大值替换成中心像素

最小值滤波器

先是排序像素值,而后对中心像素值最小像素值进行比较。

若比最小值小,则将最小值替换成中心像素;

空域滤波——锐化

图像锐化的主要作用

增强图像中的边缘和细节, 如边缘增强

减弱或清除灰度变化缓慢的区域,如边缘检测

空域处理的图像锐化将会在: 边缘以及边特征提取中再讲

术语

filter(滤波器)、 mask(掩模)、 kernel(核)、 template(模板)、 window(窗)

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

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

相关文章

【HarmonyOS】Hdc server port XXXX has been used.Configure environment variable

【HarmonyOS】Hdc server port XXXX has been used.Configure environment variable 一、 问题背景: 无法调试debug应用,IDE右下角显示该弹窗: Hdc server port XXXX has been used.Configure environment variable ‘OHOS_HDC_SERVER_POR…

立体工业相机提升工业自动化中的立体深度感知

深度感知对仓库机器人应用至关重要,尤其是在自主导航、物品拾取与放置、库存管理等方面。 通过将深度感知与各种类型的3D数据(如体积数据、点云、纹理等)相结合,仓库机器人可以在错综复杂环境中实现自主导航,物品检测…

深度解析:Android APP集成与拉起微信小程序开发全攻略

目录 一、背景以及功能介绍 二、Android开发示例 2.1 下载 SDK 2.2 调用接口 2.3 获取小程序原始Id 2.4 报错提示:bad_param 2.4.1 错误日志 2.4.2 解决方案 相关推荐 一、背景以及功能介绍 需求:产品经理需要APP跳转到公司的小程序(最好指定页…

stream学习

Stream流 定义 Steam流&#xff0c;用于操作集合或者数组中的数据&#xff0c;大量结合了Lamda表达式的语法风格&#xff0c;代码简洁。 重点&#xff1a; 流只能收集一次 ​ 获取Stream流 Stream流要与数据源建立连接。 1.list ​ 直接调用steam()即可 // list List<Stri…

python基础大杂烩

命令提示符程序&#xff0c;输入python&#xff0c;运行python程序 代码通过解释器程序翻译给计算机去执行 命令提示符输入的python本质上就是调用D:/dev/python/python3.12.5/python.exe这个解释器程序 有python程序将输入的代码翻译成二进制的0和1&#xff0c;去向计算机去运…

嵌入式硬件实战提升篇(一)-泰山派RK3566制作多功能小手机

引言&#xff1a;主要针对于嵌入式全栈内容的知识点汇总并对于linux等相关驱动知识点进行串联&#xff0c;用大家参考学习&#xff0c;并用到了嘉立创提供的泰山派RK3566作为学习的主控。 实物演示如下所示&#xff1a; 目录 一、硬件设计 1.转接电路 2.背光电路 3.音频接…

用两行命令快速搭建深度学习环境(Docker/torch2.5.1+cu118/命令行美化+插件),包含完整的 Docker 安装步骤

深度学习环境的配置过于繁琐&#xff0c;所以我制作了两个基础的镜像&#xff0c;希望可以帮助大家节省时间&#xff0c;你可以选择其中一种进行安装&#xff0c;版本说明&#xff1a; base 版本基于 pytorch/pytorch:2.5.1-cuda11.8-cudnn9-devel&#xff0c;默认 python 版本…

11个c语言编程练习题

0. 钞票和硬币 money.c 读取一个带有两个小数位的浮点数&#xff0c;代表货币价值。将该值分解为多种钞票和硬币的和&#xff0c;要求使用的钞票和硬币的总数量尽可能少。 货币面值有100&#xff0c;50&#xff0c;20&#xff0c;10&#xff0c;5&#xff0c;1&#xff0c;0.…

LaTeX之四:如何兼容中文(上手中文简历和中文论文)、在win/mac上安装新字体。

改成中文版 如果你已经修改了.cls文件和主文档&#xff0c;但编译后的PDF仍然显示英文版本&#xff0c;可能有以下几个原因&#xff1a; 编译器问题&#xff1a;确保你使用的是XeLaTeX或LuaLaTeX进行编译&#xff0c;因为它们对Unicode和中文支持更好。你可以在你的LaTeX编辑器…

K8S如何基于Istio实现全链路HTTPS

K8S如何基于Istio实现全链路HTTPS Istio 简介Istio 是什么?为什么选择 Istio?Istio 的核心概念Service Mesh(服务网格)Data Plane(数据平面)Sidecar Mode(边车模式)Ambient Mode(环境模式)Control Plane(控制平面)Istio 的架构与组件Envoy ProxyIstiod其他组件Istio 的流量管…

安全见闻-泷羽sec课程笔记

编程语言 C语言&#xff1a;一种通用的、面向过程的编程语言&#xff0c;广泛应用于系统软件和嵌入式开发。 C:在C语言基础上发展而来&#xff0c;支持面向对象编程&#xff0c;常用于尊戏开发、高性能计算等领域。 Java:一种广泛使用的面问对象编程语言&#xff0c;具有跨平台…

论文笔记(五十六)VIPose: Real-time Visual-Inertial 6D Object Pose Tracking

VIPose: Real-time Visual-Inertial 6D Object Pose Tracking 文章概括摘要I. INTRODACTIONII. 相关工作III. APPROACHA. 姿态跟踪工作流程B. VIPose网络 文章概括 引用&#xff1a; inproceedings{ge2021vipose,title{Vipose: Real-time visual-inertial 6d object pose tra…

LeetCode 热题100(八)【二叉树】(3)

目录 8.11二叉树展开为链表&#xff08;中等&#xff09; 8.12从前序与中序遍历序列构造二叉树&#xff08;中等&#xff09; 8.13路径总和III&#xff08;中等&#xff09; 8.14二叉树的最近公共祖先&#xff08;中等&#xff09; 8.15二叉树中的最大路径和&#xff08;困…

【C语言】Union

一.Union的用法 1.什么是Union? union 共用体名{ 成员列表 }; union&#xff0c;“联合体、共用体”&#xff0c;在某种程度上类似结构体struct的一种数据结构&#xff0c;共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量。 2.为什么使用union&#xff1…

Postgresql源码(138)alter table增加列的执行流程分析

alter table 逻辑比较繁琐&#xff0c;但并不复杂&#xff0c;这里以增加列为例简单梳理流程。 测试用例 drop table t_echo; create table t_echo(a int,b int); insert into t_echo select t.i, t.i*10 from generate_series(1,10) t(i); alter table t_echo add c varchar…

MobaXterm 软件及如何设置取消自动断开连接

MobaXterm 软件及如何设置取消自动断开连接 背景软件资料取消自动断开连接找打设置找到SSH Setting 背景 其实很容易找到类似的资料, 主要为了简单的记录一下, 还是写一下这个博客吧, 也算是自己的输出了. 当练习打字也行吧, 反正自己打字也是一坨, 打字太慢了. 软件资料 官…

【代码审计】常见漏洞专项审计-业务逻辑漏洞审计

❤️博客主页&#xff1a; iknow181 &#x1f525;系列专栏&#xff1a; 网络安全、 Python、JavaSE、JavaWeb、CCNP &#x1f389;欢迎大家点赞&#x1f44d;收藏⭐评论✍ 0x01 漏洞介绍 1、 原理 业务逻辑漏洞是一类特殊的安全漏洞&#xff0c;业务逻辑漏洞属于设计漏洞而非实…

YOLOv11实战垃圾分类

本文采用YOLOv11作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。YOLOv11以其高效的特征提取能力&#xff0c;在多个图像分类任务中展现出卓越性能。本研究针对4种垃圾数据集进行训练和优化&#xff0c;该数据集包含丰富的垃圾图像样本&am…

Kafka集群中数据的存储是按照什么方式存储的?

1&#xff09;Topic 数据的存储机制 Topic是逻辑上的概念&#xff0c;而partition是物理上的概念&#xff0c;每个partition对应于一个log文件&#xff0c;该log文件中存储的就是Producer生产的数据。Producer生产的数据会被不断追加到该log文件末端&#xff0c;为防止log文件…

渗透测试靶场 - vulhub -CVE漏洞 Weblogic 任意文件上传漏洞(CVE-2018-2894) 漏洞讲解 漏洞复现 亲测步骤能通过哟

漏洞说明 Weblogic管理端未授权的两个页面存在任意上传jsp文件漏洞&#xff0c;可直接获取服务器权限。 两个页面 /ws_utc/begin.do /ws_utc/config.do Oracle 在2018年7月更新中&#xff0c;修复了Weblogic Web Service Test Page中一处任意文件上传漏洞&#xff0c; Web Se…