前提条件
使用工具python3.x 使用库numpy;opencv,
api简介
1.cv.floodFill 对所选某一区域进行填充颜色,参数解释具体看代码
代码示例
import cv2 as cvimport numpy as npdef fillColorDemo(image):#泛洪填充 copyImg = image.copy() #图片复制 h, w = image.shape[:2] mask = np.zeros([h+2, w+2],np.uint8) #图片,起始填充的位置,填充完后新的值(就是想填充的颜色),填充范围的低值,填充范围的高值 cv.floodFill(copyImg, mask, (30, 30), (0, 255, 255), (100,100,100),(50,50,50), cv.FLOODFILL_FIXED_RANGE) #给颜色值在(30, 30)+(100,100,100)~~~(30, 30)+(50,50,50)范围内填充黄色 cv.imshow('fill_color_demo',copyImg)def fillBinary(): image = np.zeros([400,400,3], np.uint8) image[100:300, 100:300, :]=255 cv.imshow('fill_binary', image) #原图 mask = np.ones([402,402,1], np.uint8) #只有一层颜色,单通道 mask[101:301, 101:301]=0 #对领部分填充 #(0,0,255)填充成的颜色 cv.floodFill(image, mask, (200,200), (0,0,255),cv.FLOODFILL_MASK_ONLY) cv.imshow('filled binary',image) #对图像进行填充src=cv.imread("D:/openCV_image/image/1.png")# print(src)# cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)# cv.imshow("input image",src)# #显示部分头像# face = src[20:150, 50:200]# cv.imshow("face", face)# #变灰度图像# gray = cv.cvtColor(face, cv.COLOR_BGR2GRAY)# cv.imshow("gray", gray)# #把灰度图像还原回来# backface = cv.cvtColor(gray, cv.COLOR_GRAY2BGR) #图片,宏定义值# src[20:150, 50:200] = backface #同理也可以将结果返回大图去# cv.imshow("backface", backface)# fillColorDemo(src) #泛洪填充fillBinary()cv.waitKey(0)cv.destroyAllWindows()
查看更多关于Python opencv(三) ROI与泛洪填充的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did126312