冈萨雷斯DIP第9章知识点

news2024/11/28 2:37:16

文章目录

    • 9.1 预备知识
    • 9.2 腐蚀和膨胀
    • 9.3 开运算与闭运算
    • 9.5 一些基本的形态学算法
    • 9.8 灰度级形态学

9.1 预备知识

形态学运算是用 集合 来定义的 。 在图像处理中 使用两类像素集合的形态学:目标元素 和 结构元 SE 。 通常目标定义为前景像素集合,结构元可以按照前景像素和背景像素来规定 。

集合(结构元) B B B 相对于其原点的反射(表示为 B ^ \hat{B} B^),定义如下:

B ^ = { w ∣ w = − b , b ∈ B } \hat{B}=\{w \mid w=-b, b \in B\} B^={ww=b,bB}

在这里插入图片描述

集合 B B B 相对于点 z = ( z 1 , z 2 ) z=(z1, z2) z=(z1,z2) 的平移(表示为 ( B ) z (B)_z (B)z),定义如下:

( B ) z = { c ∣ c = b + z , b ∈ B } (B)_{z}=\{c \mid c=b+z, b \in B\} (B)z={cc=b+z,bB}

9.2 腐蚀和膨胀

B B B A A A 的 腐蚀:

A ⊖ B = { z ∣ ( B ) z ⊆ A } A \ominus B=\left\{z \mid(B)_{z} \subseteq A\right\} AB={z(B)zA}

在这里插入图片描述

B B B A A A 的膨胀:

A ⊕ B = { z ∣ ( B ^ ) z ∩ A ≠ ∅ } A \oplus B=\left\{z \mid(\hat{B})_{z} \cap A \neq \varnothing\right\} AB={z(B^)zA=}

在这里插入图片描述

腐蚀和膨胀相对于补集和反射彼此对偶,即:

( A ⊖ B ) c = A c ⊕ B ^ ( A ⊕ B ) c = A c ⊖ B ^ \begin{array}{l} (A\ominus B)^{c}=A^{c} \oplus \hat{B}\\ \\ (A \oplus B)^{c}=A^{c} \ominus \hat{B} \end{array} (AB)c=AcB^(AB)c=AcB^

9.3 开运算与闭运算

开运算:通常平滑物体的轮廓、断开较窄的狭颈、消除细长的突出物。删除比结构元更窄区域的能力,是形态学开运算的关键特征之一。

闭运算:同样能平滑轮廓,但与开运算相反,它通常会弥合较窄的断裂和细长的沟壑,消除小孔,并填补轮廓中的缝隙。

结构元 B B B 对集合 A A A 的开运算:(先腐蚀再膨胀)

A ∘ B = ( A ⊖ B ) ⊕ B A \circ B=(A \ominus B) \oplus B AB=(AB)B

在这里插入图片描述

结构元 B B B 对集合 A A A 的闭运算:(先膨胀再腐蚀)

A ⋅ B = ( A ⊕ B ) ⊖ B A \cdot B=(A \oplus B) \ominus B AB=(AB)B

在这里插入图片描述

闭运算的边界是 B B B 在不进入 A A A 任何部分的前提下,由 B B B 可以到达的最远的那些点决定的。

开运算和闭运算相对于补集和反射彼此对偶:

( A ∘ B ) c = ( A c ∙ B ^ ) ( A ∙ B ) c = ( A c ∘ B ^ ) \begin{array}{l} (A \circ B)^{c}=\left(A^{c} \bullet \hat{B}\right) \\ \\ (A \bullet B)^{c}=\left(A^{c} \circ \hat{B}\right) \end{array} (AB)c=(AcB^)(AB)c=(AcB^)

9.5 一些基本的形态学算法

前景像素集合 A A A 的边界 β ( A ) β(A) β(A) 可按如下方式得到:首先用合适的结构元 B B B 腐蚀 A A A,然后求 A A A B B B 腐蚀结果的差集。即:

β ( A ) = A − ( A ⊖ B ) \beta(A)=A-(A \ominus B) β(A)=A(AB)

在这里插入图片描述

9.8 灰度级形态学

了解灰度形态学:灰度腐蚀和膨胀、灰度开、闭运算;

基本算法:形态学平滑、形态学梯度、顶帽变换和底帽变换、粒度测定、纹理分割、灰度级形态学重建。

顶帽变换的一个重要用途是校正不均匀光照的影响。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

计算机基础--->操作系统(2)【线程和进程、死锁】

文章目录 线程和进程线程和进程的区别?有了进程为什么还需要线程?为什么使用多线程?线程间的同步方式进程控制块(PCB)进程有哪几种状态?进程间的通讯方式有哪些?进程常见的调度算法有哪些&#…

冈萨雷斯DIP第2章知识点

文章目录 2.1 视觉感知要素2.2 光和电磁波谱2.3 图像感知与获取2.4 图像取样和量化2.4.1 取样和量化的基本概念2.4.2 数字图像表示2.4.4 空间分辨率和灰度分辨率2.4.5 图像内插 (image interpolation)2.5 像素间的一些基本关系 2.6 数字图像处理所用的基本数学工具介绍2.6.3 算…

基础查询 — 投影、选择

准备 数据查询操作均采用的是MySQL。示例数据库采用的是northwind 示例数据库。数据库导入手册 关于northwind 示例数据库 查询数据库中的表 show tables;查询表的表属性 desc xxx(表名);投影操作 1.语法 投影运算:选择表中的全部或者部分列。 语法 select 字段…

Jeston Orin Nano 离线烧写系统到NVME存储

大家好,我是虎哥,Jeston Orin nano 8G模块,我自己也玩了一段时间,在Orin 系列,官方提供了一种新的烧写方式,也就是离线烧写,就是你在主机,挂载存储后,直接烧写系统到这个…

Maven高级——继承与聚合——聚合实现

为什么要聚合 分模块开发之后一个项目会被拆分成多个模块。多个模块之间还会有依赖关系。 在一些大型项目中模块比较多,模块之间的依赖关系也会变得错综复杂。 并且在打包的时候还会有一个新的问题,在打包的时候我们要打包的是Springboot项目&#xf…

黑马Redis视频教程高级篇(一)

目录 分布式缓存 一、Redis持久化 1.1、RDB持久化 1.1.1、执行时机 1.1.2、RDB原理 1.1.3、小结 1.2、OF持久化 1.2.1、AOF原理 1.2.2、OF配置 1.2.3、AOF文件重写 1.3、RDB与AOF对比 二、Redis主从 2.1、搭建主从架构 2.1.1、集群结构 2.1.2、准备实例和配置 …

CBCGPRibbonBar 设置整个界面字体大小

在CMainFrame.h中添加成员变量:CFont m_fontCustom; 在onCreat()方法结束之前的任一个位置写下下测方法即可 方法1: { // Create custom font: LOGFONT lf; globalData.fontRegular.GetLogFont(&lf); lf.lfItalic TRUE; …

详解Spring Cloud版本问题

目录 1.让人头疼的多版本号体系 2.目录关系 3.为什么会有多个版本号体系 1.让人头疼的多版本号体系 由于历史原因,spring cloud分为了Alibaba和Netflix两个体系。 想要了解原因以及整个spring cloud体系的来龙去脉的同学可以去看我的另一篇文章: S…

MySQL脏读、不可重复读、幻读的区别与注意事项

目录 一、引入二、事务并发执行会遇到的问题1. 区别2. 注意 三、隔离级别四、参考资料 一、引入 MySQL的架构是 C/S 架构(即 客户端/服务器 架构),一个服务器可能有多个客户端与之相连接,每个连接称之为会话(Session&…

chatgpt赋能python:Python去掉分隔符:优化SEO效果的一种方法

Python去掉分隔符:优化SEO效果的一种方法 在现代的数字化时代,SEO已经成为了许多企业、个人和网站运营者最为关心的问题之一。SEO指的是搜索引擎优化,通过各种技术手段和优化方式,提高网站在搜索引擎结果页面上显示的排名。Pytho…

PageHelper使用

PageHelper &#xff1a; mybatis中的分页插件 文档 &#xff1a; https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md springboot使用PageHelper <dependency><groupId>com.github.pagehelper</groupId><artifactId…

利用DocsGPT快速搭建一个问答式的文档检索服务

docsGPT 示例 基于企业内部独有的知识库&#xff0c;进行智能的客服问答&#xff0c;毫无疑问是 ChatGPT 出圈以后&#xff0c;所有公司想要融入 ChatGPT 技术时的第一反应。可惜 ChatGPT 实际上是一个基于大语言模型实现的&#xff0c;包括很多其他功能的&#xff0c;完整的聊…

电力电子技术的论文

电力电子技术的论文范文一&#xff1a;Matlab电力电子技术应用 【文章摘要】信息技术的快速发展推动许多学科进一步完善&#xff0c;以电力电子技术为例&#xff0c;其本身具有较强的理论性、实践性等特征&#xff0c;涉及的波形图、电路图也较多&#xff0c;相关设计人员需掌握…

Hitcon 2016 SleepyHolder-fastbin_dup_consolidate.c

参考/题目下载&#xff1a; https://github.com/mehQQ/public_writeup/tree/master/hitcon2016/SleepyHolder https://blog.csdn.net/seaaseesa/article/details/105856878 1&#xff0c;三联 保护:基本都开了 功能&#xff1a; 0、唤醒功能&#xff1b; 1、创建-secret&#…

华为OD机试真题 Java 实现【猴子爬山】【2023 B卷 100分】,附详细解题思路

一、题目描述 一天一只顽猴想去从山脚爬到山顶&#xff0c;途中经过一个有个N个台阶的阶梯&#xff0c;但是这猴子有一个习惯&#xff1a; 每一次只能跳1步或跳3步&#xff0c;试问猴子通过这个阶梯有多少种不同的跳跃方式&#xff1f; 二、输入描述 输入只有一个整数N&…

Custom Frames插件:内置Web应用 | Obsidian实践

今天跟大家分享一个Obsidian插件&#xff1a;Custom Frames。 这个插件的美妙之处在于&#xff0c;可以将一个Obsidian外部的Web应用&#xff0c;内置到Obsidian内部来操作和使用。 这么说可能是有点儿抽象&#xff0c;就比方说吧&#xff0c;微信读书有个网页版&#xff08;后…

嵌入式开发——文件系统部署rz、sz命令

1、rz、sz命令源码下载 下载网址&#xff1a;https://ohse.de/uwe/software/lrzsz.html 2、源码编译 tar -zxvf lrzsz-0.12.20.tar.gz cd lrzsz-0.12.20 ./configure make CCaarch64-mix410-linux-gcc #指定芯片平台的交叉编译链3、源码编译遇到的问题 3.1、报错打印 (1)报错…

绝地求生可以这样制作 (Python 版)

一、概述 1.1 效果 总的来说&#xff0c;这种方式是通过图像识别来完成的&#xff0c;不侵入游戏&#xff0c;不读取内存&#xff0c;安全不被检测。 1.2 前置知识 游戏中有各种不同的枪械&#xff0c;不同的枪械后坐力不一样&#xff0c;射速也不同。相同的枪械&#xff0c;…

【Java】Java(四十八):日志

文章目录 1. 概述2. 日志体系结构和Log4J3. 入门案例4. 配置文件详解 1. 概述 程序中的日志可以用来记录程序在运行的时候点点滴滴。并可以进行永久存储。 日志与输出语句的区别 2. 日志体系结构和Log4J 体系结构 Log4J Log4j是Apache的一个开源项目。 通过使用Log4j&#…

vue实现导航栏功能的方法

在 Vue中实现导航栏功能&#xff0c;我们可以将导航栏作为一个单独的组件来实现。这样可以方便我们进行修改、定制&#xff0c;并有多种方式进行添加导航栏&#xff0c;如使用 Vue的 document. position属性或者使用vue-dialog-position属性来添加导航栏。在此&#xff0c;我们…