「图像处理matlab函数」imclearborder与bwareaopen

您所在的位置:网站首页 imimposemin函数 「图像处理matlab函数」imclearborder与bwareaopen

「图像处理matlab函数」imclearborder与bwareaopen

2023-08-20 05:03| 来源: 网络整理| 查看: 265

imclearborder与bwareaopen 两个函数介绍python代码小结

两个函数介绍

imclearborder与bwareaopen,是matlab里的功能函数,博客里把他们变成python版本

功能介绍:

imclearborder:删除图像的边界,什么意思呢,就是一张800X600的图片,如果再图片的边缘有半个足球,那么,我们可以指定将周围的一圈像素置为0 具体可以看:资料参考1bwareaopen:删除面积小于x区域的代码,使用连通性删除微小对象BW2 = bwareaopen(BW,P,conn) 第一个参数是图片,P表示删除小于P像素面积的对象,conn表示指定所需的连通性,默认使用8连通区域进行像素归属的判断具体可以参考:mathwork里的说明。 python代码 def imclearborder(imgBW, radius): # 给定黑白图像,首先找到其所有轮廓 imgBWcopy = imgBW.copy() contours,hierarchy = cv2.findContours(imgBWcopy.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) # 获取图像尺寸 imgRows = imgBW.shape[0] imgCols = imgBW.shape[1] contourList = [] # 接触边界的轮廓的ID列表 # 对每个轮廓进行 for idx in np.arange(len(contours)): # 得到轮廓 cnt = contours[idx] # 查看轮廓中的每一个点 for pt in cnt: rowCnt = pt[0][1] colCnt = pt[0][0] # 如果在边界的指定半径内部 # 那么删除这个轮廓 check1 = (rowCnt >= 0 and rowCnt = imgRows-1-radius and rowCnt = 0 and colCnt = imgCols-1-radius and colCnt = 0 and area


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3