版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章形态学处理第七章形态学处理形态学主要从图像内提取分量信息,该分量信息通常对于表达和描绘图像的形状具有重要意义,通常是图像理解时所使用的最本质的形状特征,例如,在识别手写数字时,能够通过形态学运算得到其骨架信息,在具体识别时,仅针对骨架进行运算即可。形态学处理在视觉检测、文字识别、医学图像处理、图像压缩编码等领域都有非常重要的应用。形态学变换主要包括腐蚀、膨胀和高级形态操作形态学:主要用于二值图像的形状操作第七章形态学处理形态学操作内核形态操作会使用一个内核(也称结构元)遍历图像,根据内核和图像的位置关系决定内核中心对应的图像像素点的输出结果。内核可以是自定义的矩阵(NumPy数组),也可以是cv2.getStructuringElement()函数返回的矩阵。cv2.getStructuringElement()函数的基本格式如下:参数说明如下:shape为内核的形状,可使用的常量包括cv2.MORPH_RECT(矩形)、cv2.MORPH_CROSS(十字形)和cv2.MORPH_ELLIPSE(椭圆形)。ksize为内核的大小。第七章形态学处理形态学操作内核第七章形态学处理形态学操作内核使用Numpy数组定义内核第七章形态学处理7.1腐蚀腐蚀操作遍历图像时,会根据内核和图像的位置决定内核中心对应的图像像素点的输出结果在图4-37所示的示意图中,0表示背景,1表示前景,灰色方块表示大小为3×3的矩形内核。且内核为当内核部分或全部处于前景之外时,内核中心对应单元格的值设置为0,如图4-37(a)所示。只有在内核完全处于前景内部时,内核中心对应单元格的值才设置为1,如图4-37(b)所示通过腐蚀操作,图像的边界被侵蚀,白色区域缩小,腐蚀结果如图4-37(c)所示。第七章形态学处理7.1腐蚀OpenCV的cv2.erode()函数用于实现腐蚀操作语法格式:dst=cv2.erode(src,kernel[,anchor[,iterations[,borderType[,borderValue]]]])参数说明:dst:腐蚀后的结果图像。src:原图像。kernel:内核。anchor:锚点,默认值为(-1,-1),表示锚点为内核中心。第七章形态学处理7.1腐蚀OpenCV的cv2.erode()函数用于实现腐蚀操作语法格式:dst=cv2.erode(src,kernel[,anchor[,iterations[,borderType[,borderValue]]]])参数说明:iterations:腐蚀操作的迭代次数borderType为边界类型,默认为BORDER_CONSTANTborderValue为边界值,一般由OpenCV自动确定第七章形态学处理7.1腐蚀应用案例1:对某个矩阵实用不同的内核进行腐蚀操作矩阵:内核:结果:
内核:结果:第七章形态学处理7.1腐蚀应用案例1:对某个矩阵实用不同的内核进行腐蚀操作第七章形态学处理7.1腐蚀应用案例2:对字母图像进行腐蚀操作第七章形态学处理7.1腐蚀应用案例2-1:增大内核进行腐蚀操作可以看出随着内核增大,图像前景白色部分更细了第七章形态学处理7.1腐蚀应用案例2-2:变换内核进行腐蚀操作
椭圆十字不同的内核(结构元素)对于腐蚀处理结果有很大的影响,应根据实际情况选择适合的核及其大小第七章形态学处理7.1腐蚀应用案例2-2:进行多次腐蚀操作设置参数iteration=2,表示进行两次腐蚀操作
原图一次腐蚀
两次腐蚀可以看出每次腐蚀都使白色前景变细,两次腐蚀操作后的图像明细边缘更粗糙、不光滑
第七章形态学处理7.2膨胀膨胀操作与腐蚀操作正好相反,它对图像的边界进行扩张。其执行遍历操作时,只有在内核完全处于前景外部时,内核中心对应像素点的值才设置为0,否则设置为1。在图4-39所示的示意图中,0表示背景,1表示前景,灰色方块表示大小为3×3的矩形内核。执行膨胀操作时,依次将内核中心对准每一个单元格,根据内核和前景的位置关系决定当前单元格的值。只有在内核完全处于前景外部时,内核中心对应单元格的值才设置为0,如图4-39(a)所示。内核部分在前景内时,内核中心对应单元格的值设置为1,如图4-39(b)所示。通过膨胀操作,图像的边界被扩张,白色区域增大,膨胀结果如图4-39(c)所示。
第七章形态学处理7.2膨胀膨胀的使用通常情况下,在去除噪声以后,在腐蚀操作之后就是膨胀腐蚀消除了白色的噪音,但也缩小了前景物体,需要使用膨胀来扩大膨胀在连接物体的破碎部分时很有用
第七章形态学处理7.2膨胀OpenCV的cv2.dilate()函数用于实现膨胀操作语法格式:dst=cv2.dilate(src,kernel[,anchor[,iterations=None[,borderType=None[,borderValue=None]]]])参数说明:dst:膨胀后的结果图像。src:原图像。kernel:内核。anchor:锚点,默认值为(-1,-1),表示锚点为内核中心。borderType,borderValue与cv2.erode()函数中的对应参数一致
第七章形态学处理7.2膨胀应用案例1:使用数组演示膨胀的基本原理矩阵:内核:膨胀结果:
第七章形态学处理7.2膨胀应用案例2:对字母图像进行膨胀操作
第七章形态学处理7.2膨胀应用案例3:增大膨胀核,对字母图像进行膨胀操作
第七章形态学处理7.2膨胀应用案例4:变换膨胀核
可以看出不同的膨胀核(结构元素)对于膨胀处理结果有很大的影响,应根据实际情况选择适合的核及其大小
第七章形态学处理7.2膨胀应用案例5:多次膨胀操作可以看出每次膨胀都使白色前景变粗,两次膨胀操作后的图像明细边缘更光滑,原来不连通的区域变为连通
第七章形态学处理7.3开运算开运算操作是结合了腐蚀和膨胀的一种运算,先腐蚀后膨胀开运算就是先进行腐蚀,消除小物体、分离间隔区,再进行膨胀,使目标整体边缘平滑OpenCV中进行开运算操作使用cv2.morphologyEx()函数语法格式:img=cv2.morphologyEx(src,op,kernel,iterations=None,borderType=None,borderValue=None)参数说明:src:需要进行开运算的图像op:运算操作选择符,开运算是MORPH_OPENkernel:核
第七章形态学处理7.3开运算参数说明:iterations:迭代次数,默认值为1borderType:用于推断图像外部像素的某种边界模式borderValue:当边界为常数时的边界值,有默认值morphologyDefaultBorderValue,一般不设置上述参数中src、op、kernel为必须参数,其它为可选项
第七章形态学处理7.3开运算应用案例1:对字母图像进行开运算
第七章形态学处理7.3开运算应用案例2:增加结构信息进行开运算
结果:随着结构信息增大,部分白色前景图像消失了原因:随着结构信息增大,进行腐蚀操作时去除了部分白色前景,而后进行膨胀操作时没有办法完全恢复
第七章形态学处理7.3开运算开运算总结:开运算能够除去孤立的小点,毛刺和小桥,而总的位置和形状不变开运算是一个基于几何运算的滤波器结构元素大小的不同将导致滤波效果的不同不同的结构元素的选择导致了不同的分割,即提取出不同的特征
第七章形态学处理7.4闭运算闭运算是先进行膨胀然后进行腐蚀操作,与开运算相反一般用来填充前景物体中的小洞,或者抹去前景物体上的小黑点基本原理是先将白色部分变大,把小的黑色部分挤掉,然后再将一些大的黑色的部分还原回来OpenCV中进行闭运算操作使用cv2.morphologyEx()函数语法格式:img=cv2.morphologyEx(src,op,kernel,iterations=None,borderType=None,borderValue=None)参数说明:src:需要进行闭运算的图像op:运算操作选择符,闭运算是MORPH_CLOSE
第七章形态学处理7.4闭运算参数说明:kernel:核iterations:迭代次数,默认值为1borderType:用于推断图像外部像素的某种边界模式borderValue:当边界为常数时的边界值,有默认值morphologyDefaultBorderValue,一般不设置上述参数中src、op、kernel为必须参数,其它为可选项
第七章形态学处理7.4闭运算应用实例1:对图像进行闭运算
第七章形态学处理7.4闭运算应用实例2:增大结构信息,进行闭运算
结果:随着结构信息增大,前景白色图像扩大了原因:随着结构信息增大,进行膨胀操作时去除了部分黑色背景,而后进行腐蚀操作时没有办法完全恢复第七章形态学处理7.4闭运算闭运算总结:闭运算能够填平小孔,弥合小裂缝,而总的位置和形状不变闭运算是通过填充图像的凹角来滤波图像的结构元素大小的不同将导致滤波效果的不同不同的结构元素的选择导致了不同的分割,即提取出不同的特征
第七章形态学处理7.5形态学梯度梯度用于刻画目标边界或边缘位于图像灰度级剧烈变化的区域形态学梯度是一幅图像的膨胀图和腐蚀图之差,可以实现物体的边缘轮廓识别OpenCV中进行形态学梯度操作使用cv2.morphologyEx()函数语法格式:img=cv2.morphologyEx(src,op,kernel,iterations=None,borderType=None,borderValue=None)参数说明:src:需要进行形态学梯度运算的图像op:运算操作选择符,形态学梯度是MORPH_GRADIENTkernel:核
第七章形态学处理7.5形态学梯度参数说明:iterations:迭代次数,默认值为1borderType:用于推断图像外部像素的某种边界模式borderValue:当边界为常数时的边界值,有默认值morphologyDefaultBorderValue,一般不设置上述参数中src、op、kernel为必须参数,其它为可选项
第七章形态学处理7.5形态学梯度应用实例1:对图像进行形态学梯度运算
第七章形态学处理7.6顶帽子顶帽运算计算的是原始图像和开运算后的图像之差,获得图像的噪声信息,用来分离比临近点亮一些的斑块OpenCV中进行顶帽操作使用cv2.morphologyEx()函数语法格式:img=cv2.morphologyEx(src,op,kernel,iterations=None,borderType=None,borderValue=None)参数说明:src:需要进行开运算的图像op:运算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 烟花爆竹企业安全管理工作方案
- 电石运输车辆安全检查标准
- 湖南省长沙市2026年七年级下学期期中数学试题四套及答案
- 生物学科核心素养培养方案
- 第二章 细胞中的核酸说课稿2025学年高中生物中图版必修一分子与细胞-中图版
- 2026年说课稿初中语文笔试
- 初中网络诈骗识别主题班会说课稿
- 初中2025年民间工艺说课稿
- 胃炎患者心理护理
- 初中物理科学实验主题班会说课稿2025
- 2024规范化创伤中心运行指南
- 农业行业智能农业装备与技术方案
- 都匀市学校食堂《风险管控清单》(日管控)
- CAMDS操作基础手册
- YY 1001-2024全玻璃注射器
- 高中美术选修第四课 人间生活【市一等奖】
- 屈原文化进校园课程设计
- 家长会课件:初三学优生家长会课件
- 供应商评估打分表
- 广联达教程全套课件
- 体外诊断试剂设计开发与注册申报工作程序
评论
0/150
提交评论