8. 显示结果 cv2.imshow('Filled Image',mask)# 显示填充后的图像cv2.waitKey(0)# 等待键盘输入cv2.destroyAllWindows()# 关闭所有图像窗口 1. 2. 3. 注释:cv2.imshow用于显示图像,cv2.waitKey(0)等待无限期,直到用户按下任意键,以便可以正常查看图像,之后cv2.destroyAllWindows用于关闭所有 OpenCV 创建的窗口。
我们要用到的函数是OpenCV里的floodFill函数。使用floodFill函数可以得到只标记孔洞的像素矩阵(孔洞值为0,非孔洞值为指定值)。有了孔洞的位置填充孔洞就容易多了。python代码如下。 importcv2importnumpyasnp'''图像说明:图像为二值化图像,255白色为目标物,0黑色为背景要填充白色目标物中的黑色空洞'''defFillHole(img...
还有一个最常见的就是孔洞的填充,opencv这里成为漫水填充,其实也可以叫种子填充,或者区域生长,基本的原理是一样的,但是应用的时候需要注意一下,种子填充用递归的办法,回溯算法,漫水填充使用堆栈,提高效率,同时还提供了一种方式是扫描行。
Python-OpenCV实现二值图像孔洞填充 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import cv2 import numpy as np def FillHole(mask): contours, hierarchy = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) len_contour = len(contours) contour_list = []...
python + opencv实现二值图像孔洞填充 importcv2importnumpy as np path="_holefill.jpg"img=cv2.imread(path) gray= cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#转换成灰度图ret, thresh = cv2.threshold(gray, 50, 250, cv2.THRESH_BINARY_INV)#灰度图转换成二值图像thresh_not = cv2.bitwise_not(thresh)...
python+opencv实现二值图像孔洞填充 python+opencv实现⼆值图像孔洞填充import cv2 import numpy as np path = "_holefill.jpg"img = cv2.imread(path)gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#转换成灰度图 ret, thresh = cv2.threshold(gray, 50, 250, cv2.THRESH_BINARY_INV)#灰度图转换成⼆...