opencv 膨胀和腐蚀

膨胀腐蚀是对高亮部分的操作(及大像素值)膨胀腐蚀可以消除噪声,连接相邻区域,分割独立区域,寻求区域最大最小值


膨胀的原理是通过一个核去边缘覆盖,然后取这个核的最大值,把核的其他区域用最大值替换,结果就是白色区域扩张了,对于彩色或灰度图就是图片像素变大,变得更亮

腐蚀的原理刚好与膨胀相反,腐蚀是把区域内的值用区域内的最小值代替,对于二值化图就是用0(黑)代替。



一:膨胀函数 dilate

dilate( InputArray src, OutputArray dst, InputArray kernel,   Point anchor=Point(-1,-1), int iterations=1,int borderType=BORDER_CONSTANT,  constScalar&borderValue=morphologyDefaultBorderValue() );

第三个参数是Mat类的核可以用Mat elemt=getStructuringElement(MORPH_RECT,Size(5,5),Point(-1,-1));函数得到

getStructuringElement中的第一个参数是核的形状MORPH_RECT=0--矩形, MORPH_CROSS=1--十字形, MORPH_ELLIPSE=2--椭圆

第二个参数是内核大小

第三个是锚点位置(-1,-1)表示锚点在中心

dilate函数的第四个参数是内核位置(-1,-1)表示锚点在中心,

第五个参数是腐蚀次数

其函数最后最后几个参数一般默认




二:腐蚀函数erode

其参数类型和膨胀函数的参数类型一致

erode(srcImage,dstImage,elemt);



效果图



腐蚀的有点严重线条全部不见了



三:开运算(morph_open)

开运算实质就是对图像先腐蚀再膨胀,开运算可以消除小物体,在纤细点处分离物体,并在平滑较大物体时不明显的改变面积


四:闭运算(morph_close)

闭运算时候先膨胀再腐蚀,闭运算可以消除小黑点


五:形态学梯度(gradient)

形态学梯度是膨胀图与腐蚀图只差,可以保留和突出边缘


六:顶帽(morph_tophat)

顶帽是闭运算结果与原图做差的结果,可以分离比临近点亮一些的斑块(一些大的亮斑)


七:黑帽(morph_blacktop)

黑帽是原图与开运算结果 相减的结果,可以分离比临近点暗的斑块

膨胀腐蚀OpenCV中的基本形态学操作。膨胀是使用像素邻域内的局部极大运算来膨胀一张图片,而腐蚀则是使用像素邻域内的局部极小运算来腐蚀一张图片。这两个操作都是针对图像中的白色部分(高亮部分)进行的。在OpenCV中,可以使用dilate()函数进行膨胀操作,使用erode()函数进行腐蚀操作。函数的原型如下: void dilate(InputArray src, OutputArray dst, InputArray kernel, Point anchor = Point(-1,-1), int iterations = 1, int borderType = BORDER_CONSTANT, const Scalar& borderValue = morphologyDefaultBorderValue()); void erode(InputArray src, OutputArray dst, InputArray kernel, Point anchor = Point(-1,-1), int iterations = 1, int borderType = BORDER_CONSTANT, const Scalar& borderValue = morphologyDefaultBorderValue()); 膨胀腐蚀操作常用于二值化或灰度图像,可以用于噪声消除和特征处理。膨胀操作是通过与结构元素进行卷积计算,取局部极大值来替代中心值;而腐蚀操作则是取局部极小值来替换中心值。\[1\]\[2\] #### 引用[.reference_title] - *1* *3* [OpenCV膨胀腐蚀](https://blog.csdn.net/m0_37360684/article/details/97534489)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [OpenCV.腐蚀膨胀](https://blog.csdn.net/kicinio/article/details/121191134)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值