前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >图像多孔洞填充

图像多孔洞填充

作者头像
裴来凡
发布2022-05-28 17:11:00
4940
发布2022-05-28 17:11:00
举报
代码语言:javascript
复制
import cv2;
import numpy as np;
img=cv2.imread('C:/Users/xpp/Desktop/Lena.png',cv2.IMREAD_GRAYSCALE);#原始图像
cv2.imshow('img',img)
th,im=cv2.threshold(img,160,255,cv2.THRESH_BINARY_INV);#二值化阈值处理
im_floodfill=im.copy()
h,w=im_th.shape[:2]
mask=np.zeros((h+2,w+2),np.uint8)#图像边界填充
cv2.floodFill(im_floodfill,mask,(0,0),55)#图像泛洪填充
im_floodfill_inv=cv2.bitwise_not(im_floodfill)#按位非运算
im_out=im_th|im_floodfill_inv#图像合并
cv2.imshow("Foreground",im_out)
cv2.imshow("Thresholded Image", im_th)
cv2.imshow("Floodfilled Image", im_floodfill)
cv2.imshow("Inverted Floodfilled Image", im_floodfill_inv)
cv2.waitKey(0)
cv2.destroyAllWindows()

算法:图像多孔洞填充是使用简单的图像阈值来将边界与背景分开,即强度高于某个值(阈值)的像素是背景,其余像素是前景。虽然中心图像显示此阈值图像(黑色代表背景,白色代表前景),但是边界被很好地提取(它是纯白色)的同时,图像的内部也具有类似于背景的强度。通过从像素(0,0)执行填充操作来提取背景,不受泛洪填充操作影响的像素必然位于边界内,反转并与阈值图像组合的泛洪图像就是前景蒙版了,即白色填充圆形边界内的所有像素。

  • 首先读取图像
  • 将图像二值化
  • 从像素(0,0)执行填充
  • 图像泛洪填充
  • 使用按位OR运算将阈值图像与反向泛洪填充图像组合以获得填充有孔的最终前景掩模
本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-17,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 图像处理与模式识别研究所 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com