【医学图像处理】9 二值形态学
形态学及二值操作
- 1 形态学相关概念
- 2 二值形态学操作
- 2.1 二值膨胀
- 2.2 二值腐蚀
- 2.3 二值开操作
- 2.4 二值闭操作
- 2.5 二值形态学总结
- 3 二值形态学应用
1 形态学相关概念
应用领域:
图像增强;图像分割;图像恢复;纹理分析;特征生成;边缘检测;图像压缩;形状分析;成分分析;曲线填充;特征检测;噪声去除…
形态学基础概念:
(1)结构单元(structuring element,SE):也被称为核
(2)SE根据原点转换到图像中的每个像素位置.(空位置不计算)
2 二值形态学操作
2.1 二值膨胀
定义: 一个图像F利用SE(结构元素)进行膨胀,被定义为:
是使图像中高亮部分扩张,效果图拥有比原图更大的高亮区域;是求局部最大值的操作.
具体操作: 用一个结构元素扫描图像中的每个像素,用结构元素中的每个像素与其覆盖的像素做‘与’操作,如果都为0,则该像素为0,否则为1。
作用: 将与物体接触的所有背景点合并到物体中,使目标增大,可填补目标中的孔洞
API: cv2.dilate(img,kernel,iterations)
参数:
img:要处理的图像
kernel:核结构
iterations:膨胀的次数,默认是1
import cv2
import matplotlib.pyplot as plt
import numpy as np
#1. 读取图像
img=cv2.imread('erode.png')#2. 膨胀
# 2.1 创建核结构
kenel=np.ones((5,5),np.uint8)# 2.2 膨胀
dilate_img=cv2.dilate(img,kenel,1)#3.显示图像
cv2.imshow('origin',img)
cv2.imshow('dilate',dilate_img)
cv2.waitKey(0)
2.2 二值腐蚀
定义: 一个图像F利用SE(结构元素)进行腐蚀,被定义为:
是原图中的高亮区域被蚕食,效果图拥有比原图更小的高亮区域;是求局部最小值的操作。
具体操作: 用一个结构元素扫描图像中的每个像素,用结构元素中的每个像素与其覆盖的像素做‘与’操作,如果都为1,则该像素为1,否则为0。
作用: 消除物体边界点,使目标缩小,可以消除小于结构元素的噪声点。
API: cv2.erode(img,kernel,iterations)
参数:
img:要处理的图像
kernel:核结构
iterations:腐蚀的次数,默认是1
import cv2
import matplotlib.pyplot as plt
import numpy as np
#1. 读取图像
img=cv2.imread('erode.png')#2. 腐蚀和膨胀# 2.1 创建核结构
kenel=np.ones((5,5),np.uint8)
# 2.2 腐蚀
erode_img=cv2.erode(img,kenel,1)#3.显示图像
cv2.imshow('origin',img)
cv2.imshow('erode',erode_img)
cv2.waitKey(0)
2.3 二值开操作
定义: 一个图像F利用SE(结构元素)进行开操作,被定义为:
定义: 先腐蚀后膨胀,其作用是:分离物体,消除小区域。
特点: 消除噪点,去除小干扰,而不影响原来的图像
API:
cv2.morphologyEx(img,op,kernel)
参数:
img:要处理的图像
op:处理方式,若进行开运算,则设为cv2.MORPH_OPEN;若进行闭运算,则设为cv2.MORPH_CLOSE
kernel:核结构
import cv2
import matplotlib.pyplot as plt
import numpy as np
#1. 读取图像
img=cv2.imread('open_close.png')#2. 开运算和闭运算# 2.1 创建核结构
kenel=np.ones((10,10),np.uint8)# 2.2 开运算
open_img=cv2.morphologyEx(img,cv2.MORPH_OPEN,kenel)#开运算#3.显示图像
cv2.imshow('origin',img)
cv2.imshow('open',open_img)
cv2.waitKey(0)
2.4 二值闭操作
定义: 一个图像F利用SE(结构元素)进行闭操作,被定义为:
定义: 先膨胀后腐蚀,其作用是:消除闭合物体里面的孔洞(比结构体更小的孔洞得到填充)
特点: 可以填充闭合区域
API:
cv2.morphologyEx(img,op,kernel)
参数:
img:要处理的图像
op:处理方式,若进行开运算,则设为cv2.MORPH_OPEN;若进行闭运算,则设为cv2.MORPH_CLOSE
kernel:核结构
import cv2
import matplotlib.pyplot as plt
import numpy as np
#1. 读取图像
img=cv2.imread('open_close.png')#2. 开运算和闭运算# 2.1 创建核结构
kenel=np.ones((10,10),np.uint8)# 2.2 开运算和闭运算
open_img=cv2.morphologyEx(img,cv2.MORPH_OPEN,kenel)#开运算
close_img=cv2.morphologyEx(img,cv2.MORPH_CLOSE,kenel)#闭运算#3.显示图像
cv2.imshow('origin',img)
cv2.imshow('open',open_img)
cv2.imshow('close',close_img)
cv2.waitKey(0)
2.5 二值形态学总结
膨胀和闭操作: 信息都会增加。区别是膨胀是使整个区域进行膨胀,闭操作对孔洞进行膨胀,整体没有很大变化保留了原有图像特征
腐蚀和开操作: 信息都会减少。区别是腐蚀使整个区域进行腐蚀,开操作对噪声点进行腐蚀,整体没有很大变化保留了原有图像特征
3 二值形态学应用
open:去除噪点
close:断裂填充
二值开运算:
(1)强大的形状检测器,通过使用不同的结构元素。例利用半径为5的圆形结构元素,对原图进行二值开运算,得到
【医学图像处理】9 二值形态学相关推荐
- 什么叫做形态学图像处理_数字图像处理在二值形态学及其灰度形态学方面的应用.ppt...
您所在位置:网站首页 > 海量文档  > 计算机 > 图形图像 数字图像处理在二值形态学及其灰度形态学方面的应用.pp ...
- 数字图像处理三 | 二值形态学操作(Distance Transform, 骨架提取,Conditional Dilation)的原理及Python实现
图像处理总结3 文末有代码链接. 二值形态学 形态学起源于法国巴黎高等矿业学院,因为人家是搞地质的. 可见一斑,形态学的精要就是在于将图像看作是等高线组成的地形图,他的基本操作就是动土,平高填低等等. ...
- 图像处理-二值形态学运算
个人博客:http://www.chenjianqu.com/ 原文链接:http://www.chenjianqu.com/show-10.html 数学形态学 数学形态学(Mathematical ...
- 图像算法七:【形态学图像处理】二值运算、膨胀、腐蚀
二值图像腐蚀函数 [算法说明]:二值图像腐蚀操作属于图像形态学的范畴,形态学运算是只针对二值图像进行,并依据数学形态学(Mathermatical Morphogy)集合论方法发展起来的数字图像处理方 ...
- 9.2.1 Python图像处理之图像数学形态学-二值形态学应用之噪声消除
9.2.1 Python图像处理之图像数学形态学-二值形态学应用之噪声消除 文章目录 9.2.1 Python图像处理之图像数学形态学-二值形态学应用之噪声消除 1 算法原理 2 代码 3 效果 1 ...
- 9.2.3 Python图像处理之图像数学形态学-二值形态学应用-区域填充
9.2.3 Python图像处理之图像数学形态学-二值形态学应用-区域填充 文章目录 9.2.3 Python图像处理之图像数学形态学-二值形态学应用-区域填充 1 算法原理 2 代码 3 效果 1 ...
- 9.2.2 Python图像处理之图像数学形态学-二值形态学应用-目标检测
9.2.2 Python图像处理之图像数学形态学-二值形态学应用-目标检测(击中与击不中) 文章目录 9.2.2 Python图像处理之图像数学形态学-二值形态学应用-目标检测(击中与击不中) 1 算 ...
- 9.1 Python图像处理之图像数学形态学-二值形态学(腐蚀、膨胀、开启、闭合)
9.1 Python图像处理之图像数学形态学-二值形态学(腐蚀.膨胀.开启.闭合) 文章目录 9.1 Python图像处理之图像数学形态学-二值形态学(腐蚀.膨胀.开启.闭合) 1 算法原理 1.1 ...
- 二值形态学操作、图像的边缘检测、图像编码
实验五 二值形态学操作 一.实验目的 了解二值形态学的基本运算 掌握基本形态学运算的Matlab实现 了解形态操作的应用 二.原理 收缩和膨胀是数学形态学最基本的变换,数学形态学的 ...
最新文章
- Linux下使用ping出现destination is unreachable的问题可能性
- at指令 fpga_FPGA毕设系列 | 无线通信
- Eclipse IDE for Enterprise Java Developers和JDK8与apache-tomcat-8下载地址
- hdu 3863 No Gambling (不会证明,但是是对的,,)
- Android显示广播写法,【Android】广播的写法
- 卓越性能代码_装好win10后,应该这样设置,才能压榨出系统十足的性能
- 渗透测试 已学课时 1 个_我14岁上创业课时学到的东西
- 打开c语言运行不了_C语言——菜鸟和大神的分水岭:内存、线程、进程
- emacs自动连接mysql数据库
- windows环境下oracle安装教程
- 苹果ppt_苹果又开发布会了,这几个PPT设计技巧值得学习
- ASP.NET中IsPostBack详解
- 九峰影业创始人_《勇士之城》林永健扮演棠德县县长魏九峰
- Akka Actors入门案例解析
- SUSE11挂载目录seems to be mounted read-only错误 2022_11_08
- ADAMS 常用快捷键速记
- 嵌入式是什么?为什么引入嵌入式技术?嵌入式技术的优缺点?
- 计算机组成原理DMA的全称,直接存贮器存取(DMA) -计算机组成原理与汇编语言-电子发烧友网站...
- k8s集群Deployment与Service+名称空间
- 动态规划-钢条切割问题