读书笔记-opencv-形态学处理

读书笔记-opencv-形态学处理

常用的形态学处理包括:腐蚀,膨胀,开操作,闭操作,顶帽运算,底帽运算等,其中膨胀腐蚀为最基础的方法。

腐蚀

原理解析

图像的腐蚀是选取每个位置邻域中的最小值座位该位置的输出值。邻域可以是矩形结构,也可以是椭圆形结构,十字交叉结构,大多定义为结构元。

选取每个邻域的最小值,腐蚀后的图像亮度会降低,图像中较亮的区域面积会减小甚至消失。图像I,结构元S的腐蚀操作记为:
E = I ⊝ S E = I⊝S E=IS
对图像进行腐蚀操作缩小了亮度区域的面积,随意针对阈值分割后前景是白色的二值图,可以通过 I − E I-E IE操作提取边界。

实现代码

对于图像腐蚀opencv提供函数:

erode(src, element[,dst[,iterations[,borderType[,borderValue]]]])
    //src			输入矩阵
    //element		结构元
    //anchor		结构元的锚点
    //iterations	迭代的次数
    //borderType	边界扩充类型
    //borderValue	边界扩充值

对于超出边界,需要扩充图像边界,镜像的方式最好。代表结构元参数element,opencv提供函数:

getStructuringElement(shape, ksize[,anchor])
    //shape			MORPH_RECT:产生矩形结构元
    //				MORPH_ELLIPSEM:产生椭圆结构元
    //				MORPH_CROSS:产生十字交叉结构元
    //ksize			结构元尺寸
    //anchor		结构元锚点

利用erode和getStrcturingElement函数进行腐蚀操作:

if __name__ =='__main__':
	#loading image
	image=cv2.imread("G:\\blog\\OpenCV_picture\\chapter6\\img7.jpg",cv2.IMREAD_GRAYSCALE)
	cv2.imshow("image",image)
	#Entropy threshold
	thresh,out=threshEntroy(image)

	#show thresh
	print(thresh)
	out=np.round(out)
	out.astype(np.uint8)

	#erode
	#create element
	element = cv2.getStructuringElement
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值