OpenCV-python基础操作之泛洪填充及其方法参数
相关代码:
# 代码描述: 对图片进行泛洪填充处理
#
# 创建时间: 2020-09-22
# 创建人: Wupke
# 修改时间:
# 版本:
import cv2 as cv
import numpy as np
# 定义填充方法
def fill_color_demo(image):
copyImg = image.copy()
h, w = image.shape[:2]
mask = np.zeros([h+2, w+2], np.uint8)
# 设置填充范围和颜色
# (0, 255, 255)BGR下是黄色
# cv.FLOODFILL_FIXED_RANGE 功能是改变图像,进行泛洪填充
# 涉及的参数 floodFill(image, mask, seedPoint, newVal, rect, loDiff, upDiff, flags)
# 填充范围: src(seed.x, seed.y )- loDiff <= src(x.y) <= src(seed.x, seed.y) + upDiff
# 这里坐标(30,30)处的参考像素减去(100, 100, 100)得到的最低值 到 (30,30)加上(100, 100, 100)得到的最高值之间的区域全部填充为黄色
cv.floodFill(copyImg, mask, (30, 30), (0, 255, 255), (100, 100, 100), (50, 50, 50), cv.FLOODFILL_FIXED_RANGE)
cv.imshow("fill_color_demo", copyImg) # 显示处理后的的图片
src = cv.imread("../OpenCV_Files/pictures_for_OpenCV/21.jpeg") # 读取图片
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src) # 显示读入的原图片
fill_color_demo(src) # **调用填充方法**
cv.waitKey(0) # 保持对话框
cv.destroyWindow('all') # 清除内存