指颜色定区间内的像素填充
floodFill(copying,mask,start_point,filled_color,lower,higth,cv.FLOODFILL_FIXED_RANGE)
与二值图像的填充,只在mask填充
floodFill(copying,mask,start_point,filled_color,cv.FLOODFILL_MASK_ONLY)
import cv2 as cv
import numpy as np
def flood_fill_demo(image):
copying=image.copy()
h,w,ch=copying.shape
mask=np.zeros([h+2,w+2],np.uint8)
print(copying[40,40])
cv.floodFill(copying,mask,(40,40),(100,255,255),(60,60,60),(60,60,60),cv.FLOODFILL_FIXED_RANGE)
cv.imshow('fill_image',copying)
def fill_binary_demo(image):
copying=image.copy()
copying[100:300,100:300,:]=255
h,w,ch=copying.shape
mask=np.ones([h+2,w+2],np.uint8)
mask[100:300,100:300]=0
cv.imshow('binary_image_src',copying)
cv.floodFill(copying,mask,(200,200),(100,2,200),cv.FLOODFILL_MASK_ONLY)
cv.imshow('binary_image',copying)
src=cv.imread("D:/Study/opencv/code/1.jpg")
cv.imshow('src',src)
flood_fill_demo(src)
fill_binary_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()