形态学基础算法之边界提取,空洞填充,连通分量提取,凸壳,细化和粗化_形态学处理实现边界提取-程序员宅基地

技术标签: 医学图像处理  

边界提取

孔洞填充

X0是一副全黑的图像,但在孔洞的地方有一个白点。

å¨è¿éæå¥å¾çæè¿°

我们要对A图进行孔洞填充,首先求出A的补集作为备用,然后所用到的element B如上图。首先我们构建X0一幅全黑图像加上孔洞中的一点白作为初始图像,然后用B对X0进行膨胀,结果膨胀的结果超过了孔洞的大小,于是用之前构造的Ac对其求交集将其结果限制在孔洞内(由于我们的element是一个四连通元素,每一次膨胀其边界不会超出一个像素点,而由于Ac 的四周都是一个像素宽的沟壑,所以求交集刚好能限制膨胀过界的像素)。然后迭代,直到xk−1 与xk相同。最后得到孔洞的填充图像,最后与原图像求并集刚好就把孔洞填充了。

如果选择Element为八连通,将无法成功限制膨胀的溢出和越界。

连通分量提取

与空洞填充类似,迭代至Xk-1 与 Xk相同为止。连通分量提取常用语自动检测,检测外来物。

凸壳

凸壳是为了找到一个凹陷的物体最小外壳,以不完美命中(腐蚀)为主要操作,通过调整结构元,加上原图,得到相关结果。公式如下:

该方法反复对A进行击中或击不中变换操作,当不再发生变化时,执行并集操作。

 为了确保在上述生长过程中凸壳不会大幅度超过凸性所需的最小尺寸,可以限制其生长以便凸壳不会超出初始时包含物体A的最小矩形。

细化

图像细化的目的是提取骨架,根据击中和击不中变换来定义

以结构元的序列为基础定义细化:

其中B的定义为:

Bi 是 Bi-1旋转后的结果。A被B1细化一次,得到的结果被B2细化一次.....循环,直到不再发生变化。每次单独细化,使用第一个公式。

粗化

粗化是形态学的对偶,定义如下

B是适合于粗化处理的结构元,与细化一样。粗化处理也可以定义为一个系列操作:

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40798471/article/details/102698924

智能推荐

开机所有网卡全部down掉解决方法,ens33 down_网卡down原因-程序员宅基地

文章浏览阅读4.9k次,点赞7次,收藏18次。一开机就发现所有网卡全部downifup ens33出现如下图:发现NetworkManager无效 难道是设备未托管?看了下配置文件和日志也没看出个所以然。。。。突然想到 难道是NetworkManager 和service冲突了?解决方法:ok,果然是细节决定成败,不多说了,容我哭去吧。。。。。。。。本解决方法纯属个人拙见,欢迎大佬扩展~..._网卡down原因

Component One C# c1FlexGrid 帮助文档-程序员宅基地

文章浏览阅读4.6k次。Value-Mapped Lists(值映射列表) 功能描述:上述财产的ComboList确保单元格的值是从名单中挑选。由用户选择的值转换成列的适当类型和存储在网格,完全一样,如果用户已输入的值。在许多情况下,细胞能够承担来自明确列出的值,但是你想显示一个用户的实际价值的版本。例如,如果一个列包含的产品代码,您可能要存储的代码,但显示的产品名称来代替。这是通过的DataMa_c# c1flexgrid

1217 Arbitrage(最短路)_arbitrage is the use of discrepancies in currency-程序员宅基地

文章浏览阅读199次。ArbitrageProblem Description Arbitrage is the use of discrepancies in currency exchange rates to transform one unit of a currency into more than one unit of the same currency. For example, suppose tha_arbitrage is the use of discrepancies in currency

使用libjpeg库实现jpeg图片的缩放(缩略图)_libjpeg缩略图-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏12次。libjpeg库的交叉编译libjpeg库主要用于jpeg格式图片的编解码,其交叉编译过程如下1. 下载源码从官方网站http://www.ijg.org/files/ 下载libjpeg库的源码,本次编译过程使用的是 jpegsrc.v9a.tar.gz2. 解压源码2.1 切换到下载目录,执行 tar -xzvf jpegsrc.v9a.tar.g_libjpeg缩略图

Mysql 时间戳类型使用心得-程序员宅基地

文章浏览阅读209次。2019独角兽企业重金招聘Python工程师标准>>> ..._mysql 时间戳用什么类型合适

串口上升时间标准_JESD204B 串行接口时钟需要及其实现-程序员宅基地

文章浏览阅读221次。ChenAndyMNCsignalchainFAE摘要随着数模转换器的转换速率越来越高,JESD204B串行接口已经越来越多地广泛用在数模转换器上,其对器件时钟和同步时钟之间的时序关系有着严格需求。本文就重点讲解了JESD204B数模转换器的时钟规范,以及利用TI公司的芯片实现其时序要求。关键字:LMK04800,LMK04828,LMK1802,LMK01010,JESD204内容1.J..._204b接口支持哪种时钟

随便推点

【mybatis plus源码解析】(一)mybatis plus执行原理,mybatis plus是如何实现自动注入CRUD操作_mybatisplus源码解析-程序员宅基地

文章浏览阅读9.6k次,点赞6次,收藏33次。【mybatis plus源码解析】(一)mybatis plus执行原理(二)详解SQL注入器底层原理,mybatis plus是如何实现自动注入CRUD操作mybatis plus源码解析。详解SQL注入器底层原理,mybatis plus是如何实现自动注入CRUD操作。通过源码看看相关类的详细解读。系列文章_mybatisplus源码解析

新货 升级版 BlackBerry手机条码扫描器 MS50,和BlackBerry 9900等手机可以完美结合_电影mm625-程序员宅基地

文章浏览阅读606次。新货 升级版 BlackBerry手机条码扫描器 MS50,和BlackBerry 9900等手机可以完美结合_电影mm625

The server time zone value '�й���׼ʱ��' is unrecogni...mysql时区报错-程序员宅基地

文章浏览阅读359次。新版驱动惹得锅,默认为美国时区,修改如下spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC username: root password: 123 typ...

Python-Go python模块与包 - GO问题 - GO容量测试_python里的go是模块吗?-程序员宅基地

文章浏览阅读365次。python中自定义模块的简述模块 => python文件包 => 目录初始化 __init__.py => 初始化文件,当导入包的时候会自动执行python包中的文件是独立的,(与go区分)注意:当模块被导入的时候,模块中的代码都会被执行一次,建议每次导入模块的时候就导入模块的某个函数即可,否则很容易出现错误链接:https://pan.baidu.com/s/12jZiYPEmHDpWOQMlGTGEUQ?pwd=zouh提取码:zouh。_python里的go是模块吗?

Javascript 中 typeof 详解-程序员宅基地

文章浏览阅读68次。为什么80%的码农都做不了架构师?>>> ..._typeof content == 'boolean

Vue前端与Django后端实现前后端分离连接_vuedjango前后端分离-程序员宅基地

文章浏览阅读3.1k次,点赞9次,收藏31次。Vue前端与Django后端实现前后端分离连接_vuedjango前后端分离

推荐文章

热门文章

相关标签