【视觉入门】——空域图像增强(邻域运算部分):图像卷积、多种滤波器;二值图像分析及形态学图像处理

2023-05-16

目录

  • 空域图像增强邻域运算(或模板操作)
      • 滤波实现方法——模板卷积
    • 空间平滑滤波——不影响低频分量
      • 均值滤波器
      • 高斯滤波器
      • 中值滤波器——非线性滤波
      • 其他滤波器(统计排序、中点、边缘保持)
    • 空间锐化滤波
      • 基于一阶微分的图像增强——梯度法
      • 基于二阶微分的图像增强——拉普拉斯算子
      • 结论
    • 边缘检测器
  • 二值图像分析及形态学图像处理
    • 灰度图像的二值化处理
    • 二值图像的几何特性
    • 二值图像的编码
    • 二值图像算法
    • 形态学图像处理

空域图像增强邻域运算(或模板操作)

利用像素本身以及其邻域像素的灰度关系进行增强的方法。常称为空间滤波

滤波技术分类:

线性非线性
平滑线性平滑非线性平滑
锐化线性锐化非线性锐化

平滑滤波

  • 特点:削弱或消除图像中的高频分量,但不影响低频分量
  • 作用:
    • 消除噪声
    • 使图像变得柔和
    • 提取大目标之前去除太小的细节
    • 将目标内小间断连接起来

锐化滤波

  • 特点:削弱或消除图像中的低频分量,但不影响高频分量
  • 作用:增强被模糊的细节或目标的边缘

滤波实现方法——模板卷积

实现步骤

  • 建立一个尺寸为n×n(n一般为奇数)模板(卷积核
  • 将模板在图中从左向右、从上到下逐点移动,并使模板中心与图像中某个像素位置重合;
  • 将模板上的各个系数与模板下各对应像素的灰度相乘;
  • 将所有乘积相加;
  • 将和赋给图像中对应模板中心位置的像素。

在这里插入图片描述
卷积操作的代数表达式为:
在这里插入图片描述

空间平滑滤波——不影响低频分量

常见图像噪声类型

  • 椒盐噪声:含有随机出现的黑白亮度值的噪声。
  • 脉冲噪声:含有随机的白强度值(正脉冲)或黑强度值(负脉冲)的噪声。
  • 高斯噪声:含有亮度服从高斯或正态分布的噪声。高斯噪声是许多传感器噪声的很好模型(如摄像机的电子干扰噪声)。

均值滤波器

简单平均模板、加权平均模板:
在这里插入图片描述
3×3加权平均模板:中心点权值最高,随着距中心点距离的增加权值减小,以减小平滑处理中的模糊

均值滤波器去除了图像中的高频成分和图像中的锐化细节,消除噪声的同时,也会使图像中的边界信息变得模糊。在使用时,一定要选择恰当的移动窗口和权值

空间均值滤波的重要应用之一:为了对感兴趣物体得到一个粗略的描述而模糊一幅图像,使较小物体与背景混合在一起在这里插入图片描述

高斯滤波器

高斯滤波器是一类根据高斯函数的形状来选择权值线性平滑滤波器。高斯平滑滤波器对去除服从正态分布的噪声很有效。
在这里插入图片描述
典型的高斯滤波器
在这里插入图片描述在这里插入图片描述
滤波模板的选择

  • 模板尺寸越大,滤波程度越高;噪声消除越彻底,而同时,图像细节的损失也越大。
  • 通常模板的所有系数之和为1,这是为了保证模板卷积完成后目标图像的总体高度不发生变化
  • 模板系数的值可正可负,可大可小。系数值越大,代表该系数对应像素的权重越高。负值则可用于锐化滤波器

中值滤波器——非线性滤波

中值滤波器的基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值。该方法在去除脉冲噪声、椒盐噪声的同时又能保留图像边缘细节。
在这里插入图片描述
中值滤波可以保留目标边缘,这是中值滤波相对于均值滤波的最大优势。
在这里插入图片描述

其他滤波器(统计排序、中点、边缘保持)

  • 统计排序滤波器
    • 序统计滤波器是一种非线性的空间滤波器,它的响应基于图像滤波器包围的图像区域中像素的排序,然后由统计排序结果决定的值代替中心像素的值。
    • 典型的序统计滤波器:在这里插入图片描述
    • 最大值滤波器:最大值滤波器可用于检测图像中的最亮点,并可减弱"椒"噪声
    • 最小值滤波器:最小值滤波器可用于检测图像中的最暗点,并可减弱“盐”噪声
  • 中点滤波器
    • 在这里插入图片描述
    • 中点滤波器结合了序统计滤波器和均值滤波器,对多种随机分布的噪声,如高斯噪声和均匀噪声都比较有效

空间锐化滤波

作用

  • 使图像变得细节明晰,突出图像的边缘细节及轮廓。
  • 便于对图像进行边缘检测(可以使用空间微分来完成)

基于一阶微分的图像增强——梯度法

梯度是函数变化的一种度量。

记函数f(x,y)在其坐标(x,y)上

  • 梯度定义为:
    在这里插入图片描述

  • 梯度向量的方向:在(x,y)处f的最大变化率的方向在这里插入图片描述在这里插入图片描述

  • 梯度向量的大小(幅值):在这里插入图片描述

  • 对于数字图像,由差分代替微分,梯度近似表达式:在这里插入图片描述

Roberts交叉算子、Prewitt算子、Sobel算子的模板比较:
在这里插入图片描述
例:(使用Sobel算子
在这里插入图片描述在这里插入图片描述

基于二阶微分的图像增强——拉普拉斯算子

二维图像的拉普拉斯变换:在这里插入图片描述
离散形式
在这里插入图片描述
二维拉普拉斯算子在这里插入图片描述
二维拉普拉斯算子是各向同性的微分算子.

滤波器的响应与滤波器作用的图像突变方向无关。各向同性滤波器具有旋转不变性

二维拉普拉斯算子模板(卷积核):
在这里插入图片描述
相关阶跃边沿和线条边缘的一节和二阶导数
在这里插入图片描述
使用拉普拉斯变换对图像增强的基本方法:
在这里插入图片描述在这里插入图片描述

结论

  • 一阶微分处理通常会产生较宽的边缘
  • 二阶微分处理对细节有较强的响应,如细线孤立点
  • 一阶微分处理一般对灰度阶梯有较强的响应。

边缘检测器

  • LoG边缘检测器

    • 高斯型函数:在这里插入图片描述
    • 高斯型拉普拉斯算子(LoG)在这里插入图片描述
  • Canny检测器

    • 在这里插入图片描述

    • Canny边缘检测器是高斯函数的一阶导数。

    • 高斯滤波器平滑图像:在这里插入图片描述

    • 用2×2一阶有限差分近似式来计算梯度的幅值和方向在这里插入图片描述

    • 对梯度幅值沿灰度梯度方向进行非极大值抑制在这里插入图片描述

    • 双阈值算法检测和连接边缘在这里插入图片描述

二值图像分析及形态学图像处理

灰度图像的二值化处理

** 阈值(Threshold)的概念**:
阈值(T),即门限值:在这里插入图片描述
其中,f(x,y)为灰度图像的灰度值,该灰度图像由亮的物体和暗的背景组成。g(x,y)为对应的二值图像的数值,1——物体,0——背景

图像二值化处理的关键在于阈值的选取,不同阈值得到不同的二值化结果。在这里插入图片描述

通常利用灰度直方图选择阈值在这里插入图片描述

  • 模态方法
    • 如果图像中的物体具有同一灰度值,背景具有另一灰度值,图像被零均值0高斯噪声污染,可假定灰度分布曲线是由两个正态分布函数(μ112)和(μ222)叠加而成。图像灰度直方图会出现两个分离的峰值,阈值可设在波谷的位置
    • 在这里插入图片描述
  • 迭代式阈值选取
    • 选择一个初始阈值的估算值T
    • 利用阈值T把图像分割成两组,R1和R2
    • 计算区域R1和R2的均值μ1、μ2
    • 选择新的阈值 T=(μ1+μ2)/2
    • 重复上述过程,直到μ1和μ2不再变化
  • Otsu(大津)算法
    • 记t为前景与背景的分割阈值,前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1
    • 图像的总平均灰度为:u=w0×u0+w1×u1
    • 类间方差值:在这里插入图片描述
    • 从最小灰度值到最大灰度值遍历t,当t使得g 最大时,t即为分割的最佳阈值(类间方差值最大)

二值图像的几何特性

惯性矩在这里插入图片描述
对于图像在这里插入图片描述

  • 面积与位置在这里插入图片描述
  • 方向(惯性主轴):在这里插入图片描述
    • f(x,y)对于直线y=x tanθ的惯性矩:在这里插入图片描述
    • 惯性主轴:mθ最小时,对应的直线y=x tanθ0惯性主轴
    • θ0满足方程:在这里插入图片描述

二值图像的编码

  • 游程长度编码:是一种用二值图像中像素值连续为1的个数(像素1的长度)来描述图像的方法。在这里插入图片描述则1的游程长度为:在这里插入图片描述1和0的游程长度为:在这里插入图片描述
  • 二值边缘轮廓的链码表示
    • 链码:沿着轮廓记录边缘表的方法,它规定了边缘表中每一个边缘点所对应的轮廓方向在这里插入图片描述
    • 在这里插入图片描述

二值图像算法

  • 连通成分标记:找出图像中的所有连通成分,并对同一连通成分中的所有点分配同一标记。在这里插入图片描述
  • 亏格数(欧拉数):亏格数(或欧拉数)定义为连通成分数减去洞数,具有平稳、旋转和比例不变特性,可作为识别物体的特征在这里插入图片描述
  • 细化:把二值图像区域缩成线条,以逼近区域中心线的图像处理方法。其目的是减少图像成分,只保留区域的最基本信息
  • 扩展(expanding)与收缩(shrinking):
    • 扩展:如果邻点是1,则将该点从0变为1
    • 收缩:如果邻点是0,则将该点从1变为0
    • 作用:先扩张后收缩,能补上不希望存在的洞;先收缩后扩张,能除去孤立的噪声点在这里插入图片描述

形态学图像处理

形态学(Morphology)是研究动物和植物的形态和结构的学科。这里使用同一词语表示数学形态学(Mathematical Morphology )的内容,是将数学形态学作为工具,从图像中提取对于表达和描述区域形状有用的图像分量

膨胀
图像集合A用结构元素B来膨胀,其定义为:在这里插入图片描述
其中,B^表示B的映射,即与B关于自身原点对称的集合在这里插入图片描述
腐蚀
图像集合A用结构元素B来腐蚀,其定义为:在这里插入图片描述
即B经过平移后全部包含在A中的原点的集合在这里插入图片描述
开操作与关操作(Opening and Closing)
开操作 :用同一结构元对图像进行腐蚀后再膨胀的操作(可除去图像中比结构元小的所有区域的像素点在这里插入图片描述

关操作 :用同一结构元对图像进行膨胀后再腐蚀的操作(可填满图像中比结构元小的空洞和凹状区在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【视觉入门】——空域图像增强(邻域运算部分):图像卷积、多种滤波器;二值图像分析及形态学图像处理 的相关文章

  • 【UE4学习】5.相机和蓝图进阶

    文章目录 相机基础Project Setting控制输入按键事件控制相机设置追踪目标CameraManager实现相机切换API接口与多态蓝图之间的通信方式GameMode 43 Manager显示当前相机信息事件调度器Sequencer入
  • 动态绑定实现的原理

    当用virtual关键字来声明一个成员函数 xff0c 编译器机会根据动态绑定机制在幕后完成一些工作 当编译器发现类中有虚函数的时候 xff0c 编译器会创建一张虚函数表 xff0c 把虚函数的函数入口地址放到虚函数表中 xff0c 并且在
  • 模板函数实现数组排序

    template lt class T gt void sortfun T arr int len int i j T tmp for i 61 0 i lt len 1 i 43 43 for j 61 i j lt len 1 j 43
  • 静态转换和动态转换

    1 静态转换 静态转换用于 xff0c 普通数据类型间的转换 xff0c 具有继承关系的父子类指针或引用的转换 class Dad class Son public Dad class MyClass 基础类型转换 void test1 i
  • 文件的原子操作

    文件的原子操作是指一个操作一旦启动 xff0c 则无法能被破坏它的其它操作打断 1 写文件原子操作 无论是两个打开 xff0c 还是dup xff0c 同时操作一个文件都可能引起混乱 xff0c 解决这个问题的方法是 xff0c 可以通过O
  • 目录操作

    创建目录 xff1a int mkdir const char pathname mode t mode xff1b pathname xff0c 路径 xff1b mode xff0c 目录访问权限 xff1b 返回值 xff1a 成功
  • 【UE4学习】6.粒子系统

    文章目录 粒子系统常用参数Simple Sprite Burst EmitterEmitter SettingsEmitter SpawnEmitter UpdateParticle SpawnParticle UpdateAdd Even
  • java中Array/List/Map/Object与Json互相转换详解

    JSON JavaScript Object Notation xff1a 是一种轻量级的数据交换格式 一 JSON建构有两种结构 xff1a 对象和数组 1 对象 xff1a 对象在js中表示为 扩起来的内容 xff0c 数据结构为 ke
  • ZipInputStream解压远程文件报错,java.lang.IllegalArgumentException: MALFORMED[1]

    我遇到的问题是报的这个错java lang IllegalArgumentException MALFORMED 1 at java util zip ZipCoder toString ZipCoder java 65 不是 java l
  • OAuth2.0接百度平台进行授权

    百度开发文档 xff1a https openauth baidu com doc regdevelopers html 1 注册开发者账号并创建一个应用 2 创建应用后 xff0c 获取API Key和Secret Key 3 创建一个S
  • Spring 中最常用的 11 个扩展点

    1 自定义拦截器 spring mvc拦截器根spring拦截器相比 xff0c 它里面能够获取HttpServletRequest和HttpServletResponse等web对象实例 spring mvc拦截器的顶层接口是 xff1a
  • 经典排序算法

    https juejin cn post 7198840786766102589
  • SpringBoot项目启动加载时排除某一个类

    在Application启动类上 xff0c 用这个注解就可以指定某个类不加载进容器 64 ComponentScan
  • 手写一个生产者/消费者模式(三种方式实现)

    这种设计模式需要满足以下三点要求 xff1a xff08 1 xff09 生产者生产数据到缓冲区中 xff0c 消费者从缓冲区中取数据 xff08 2 xff09 如果缓冲区已经满了 xff0c 则生产者线程阻塞 xff1b xff08 3
  • Android中Okhttp,Volley,Retrofit网络框架优缺点及对比

    Okhttp xff1a Square 公司开源的 OkHttp 是一个专注于连接效率的 HTTP 客户端 OkHttp 提供了对 HTTP 2 和 SPDY 的支持 xff0c 并提供了连接池 xff0c GZIP 压缩和 HTTP 响应
  • Google身份验证服务端实现

    import org apache commons codec binary Base32 import org apache commons codec binary Base64 import javax crypto Mac impo
  • 下载jdk8登录账号

    目前在官网下载低于jdk1 8的java jdk的时候需要登陆 xff0c 这边分享一个账号 xff0c 方便下载 2696671285 64 qq com 密码 xff1a Oracle123
  • idea中maven项目 jar包下载不完整解决办法

    有时从git上clone项目 xff0c maven工程 xff0c 有时候pom xml在project标签处报错 xff1a Failed to read artifact descriptor for xxx jar 这种有时候时ja
  • 【RoboMaster】舵机驱动&蓝牙模块教程

    本文是为参加2021赛季北京理工大学机器人队校内赛所写的简单教程 xff0c 意在帮助参赛选手快速了解校内赛所需模块的使用方法 xff0c 以及其与薪火培训知识的联系 舵机驱动 硬件接线 舵机是由直流电机 减速齿轮组 传感器和控制电路组成的
  • vs编译程序加快速度的方法

    在使用VS2013编译C 43 43 程序的时候 xff0c 修改某个文件 xff0c 会使整个工程都重新编译一遍 xff0c 为了使编译速度加快 xff0c 可以修改C 43 43 配置属性 xff1a 第一因时间引起的 xff1a 1

随机推荐