【医学图像处理】9 二值形态学

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的圆形结构元素,对原图进行二值开运算,得到
在这里插入图片描述

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值