数字图像处理(12): 形态学处理

您所在的位置:网站首页 数学大小数字图片 数字图像处理(12): 形态学处理

数字图像处理(12): 形态学处理

2024-07-14 06:23:07| 来源: 网络整理| 查看: 265

目录

1 形态学操作

2 图像腐蚀

3 图像膨胀

参考资料

1 形态学操作

形态学(morphology)一词通常表示生物学的一个分支,该分支主要研究动植物的形态和结构。这里,我们使用同一词语表示数学形态学的内容,将数学形态学作为工具从图像中提取表达和描绘区域形状的有用图像分量,如边界、骨架和凸壳等。

形态学处理主要针对的是二值图像(0或1)。

形态学通常使用图像腐蚀和图像膨胀两个操作,这些操作是形态学处理的基础。

 

2 图像腐蚀

作为{​{Z}^{2}}中的集合AB,表示为A\ominus BBA的腐蚀定义为:

                                                                              A\ominus B=\left\{ z\left| {​{(B)}_{z}}\subseteq A \right. \right\}

上式表示图像A用卷积模板B来进行腐蚀处理,通过模板B与图像A进行卷积计算,得出B覆盖区域的像素点最小值,并用这个最小值来替代参考点的像素值。如图所示,将左边的原始图像A腐蚀处理为右边的效果图A\ominus B

 

图像腐蚀的效果如下图所示:

 

图像腐蚀类似于“邻域被蚕食”,将图像中的高亮区域或白色部分进行缩减细化,其运行结果图比原图的高亮区域更小。其主要包括两个输入对象:

(1) 二值图像

(2 )卷积核

 

卷积核是腐蚀中的关键数组,采用numpy库可以生成。卷积核的中心点逐个像素扫描原始图像,腐蚀的过程如下图所示:

被扫描到的原始图像中的像素点,只有当卷积核对应的元素值均为1时,其值才为1,否则其值修改为0。换句话说,遍历到的黄色点位置,其周围全部是白色,保留白色,否则变为黑色,图像腐蚀变小。如下图所示:

 

图像腐蚀主要使用的函数为 erode(),其函数形式如下:

dst = cv2.erode(src, kernel, iterations)

其中,参数:

dst 表示处理的结果;

src 表示原图像;

kernel 表示卷积核;

iterations 表示迭代次数。

注:迭代次数默认是1,表示进行一次腐蚀,也可以根据需要进行多次迭代,进行多次腐蚀。

例如:下图表示5\times5的卷积核,可以采用函数 np.ones((5,5), np.uint8) 构建。

 

(1)卷积核大小为5\times5 ,迭代次数为1

代码如下所示:

#encoding:utf-8 import cv2 import numpy as np #读取图片 src = cv2.imread('test1.bmp', cv2.IMREAD_UNCHANGED) #设置卷积核 kernel = np.ones((5,5), np.uint8) #图像腐蚀处理 erosion = cv2.erode(src, kernel) #显示图像 cv2.imshow("src", src) cv2.imshow("result", erosion) #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()

 

运行结果如下图所示:

 

 

(2)卷积核大小为5\times5,迭代次数为9

代码如下所示:

#encoding:utf-8 import cv2 import numpy as np #读取图片 src = cv2.imread('test1.bmp', cv2.IMREAD_UNCHANGED) #设置卷积核 kernel = np.ones((5,5), np.uint8) #图像腐蚀处理 erosion = cv2.erode(src, kernel,iterations=10) #显示图像 cv2.imshow("src", src) cv2.imshow("result", erosion) #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()

 

运行结果如下图所示:

 

(2)卷积核大小为39\times39,迭代次数为1

代码如下所示:

#encoding:utf-8 import cv2 import numpy as np #读取图片 src = cv2.imread('test1.bmp', cv2.IMREAD_UNCHANGED) #设置卷积核 kernel = np.ones((39,39), np.uint8) #图像腐蚀处理 erosion = cv2.erode(src, kernel) #显示图像 cv2.imshow("src", src) cv2.imshow("result", erosion) #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()

 

运行结果如下图所示:

 

3 图像膨胀

作为{​{Z}^{2}}中的集合AB,表示为A\oplus BBA的膨胀定义为:

                                                                        A\oplus B=\left\{ z\left| {​{(\widehat{B})}_{z}}\bigcap{A\ne \varnothing } \right. \right\}

图像膨胀是腐蚀操作的逆操作,类似于“领域扩张”,将图像中的高亮区域或白色部分进行扩张,其运行结果图比原图的高亮区域更大,线条变粗了,主要用于去噪。

(1) 图像被腐蚀后,去除了噪声,但是会压缩图像。

(2) 对腐蚀过的图像,进行膨胀处理,可以去除噪声,并且保持原有形状。

它也包括两个输入对象:

(1)二值图像或原始图像

(2)卷积核

图像膨胀的效果如下图所示:

 

卷积核是腐蚀中的关键数组,采用numpy库可以生成。卷积核的中心点逐个像素扫描原始图像,如下图所示:

 

 

被扫描到的原始图像中的像素点,当卷积核对应的元素值只要有一个为1时,其值就为1,否则为0。

 

图像膨胀主要使用的函数为 dilate(),其函数用法如下所示:

dst = cv2.dilate(src, kernel, iterations)

其中,参数:

dst 表示处理的结果;

src 表示原始图像;

kernel 表示卷积核;

iterations 表示迭代次数。

注:迭代次数默认是1,表示进行一次膨胀,也可根据需要进行多次迭代,进行多次膨胀。通常进行1次膨胀即可。

例如,下图表示5\times5的卷积核,可以采用函数 np.ones((5,5), np.uint8) 构建。

 

(1)卷积核大小为3\times3 ,迭代次数为1

代码如下所示:

#encoding:utf-8 import cv2 import numpy as np #读取图片 src = cv2.imread('test2.bmp', cv2.IMREAD_UNCHANGED) #设置卷积核 kernel = np.ones((3,3), np.uint8) #图像膨胀处理 erosion = cv2.dilate(src, kernel) #显示图像 cv2.imshow("src", src) cv2.imshow("result", erosion) #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()

 

运行结果如下图所示:

 

(1)卷积核大小为5\times5 ,迭代次数为1

代码如下所示:

#encoding:utf-8 import cv2 import numpy as np #读取图片 src = cv2.imread('test2.bmp', cv2.IMREAD_UNCHANGED) #设置卷积核 kernel = np.ones((5,5), np.uint8) #图像膨胀处理 erosion = cv2.dilate(src, kernel) #显示图像 cv2.imshow("src", src) cv2.imshow("result", erosion) #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()

 

运行结果如下图所示:

 

 

参考资料

[1] https://blog.csdn.net/Eastmount/article/details/83581277

[2] Python+OpenCV图像处理



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭