1 __author__ = "WSX" 2 import cv2 as cv 3 import numpy as np 4 #泛洪填充 从一个点开始 ,填充周围和他相似的点,直到遇到一个边界 5 #例子 油漆桶 工具 6 #创建mask 必须是像素 +2 , 单通道 类型uint8 mask为遮罩层 ,填充部分必须设置为0 ,mask必须设置为1 7 8 def ROI(): 9 img = cv.imread("1.JPG") 10 roi_image = img[0:50 , 0:50] 11 cv.namedWindow("Show", cv.WINDOW_AUTOSIZE) 12 cv.imshow("Show" , roi_image) 13 cv.waitKey(0) 14 cv.destroyAllWindows() 15 #ROI() 16 17 #范红填充 18 def fill_color(): 19 img = cv.imread("1.JPG") 20 h , w = img.shape[:2] 21 mask = np.zeros([h+2 ,w+2], np.uint8) 22 cv.floodFill(img , mask ,(30,30),(0,255,255),(100,100,100),(50,50,50),cv.FLOODFILL_FIXED_RANGE) #解释,在(30,30)位置找到像素点的值,减去(100,100,100)作为下限,加(50,50,50)作为上线, 填充(0,255,255)颜色 23 cv.imshow("Show", img) 24 cv.waitKey(0) 25 cv.destroyAllWindows() 26 fill_color()