好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Python opencv(三) ROI与泛洪填充

前提条件

使用工具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与泛洪填充的详细内容...

  阅读:32次