【opencv-python 6】 获取RIO、泛洪填充

(1)获取RIO区域

(2)泛洪填充

import cv2 as cv
import numpy as np

# 获取ROI
src = cv.imread('D:\images\yuanyuan.png')
cv.imshow('input image',src)

face = src[50:250,150:350] # 提取ROI区域
cv.imshow('face',face)

gray = cv.cvtColor(face,cv.COLOR_BGR2GRAY)
cv.imshow('gray',gray)

back2face = cv.cvtColor(gray,cv.COLOR_GRAY2BGR)
src[50:250,150:350] = back2face
cv.imshow("back2src",src)

# 泛洪填充
def fill_color_demo(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,0,255),(100,100,100),(50,50,50),cv.FLOODFILL_FIXED_RANGE)
    cv.imshow('fill_color_demo',copyImg)
    
fill_color_demo(src)

cv.waitKey(0)
cv.destroyAllWindows()

运行结果

【opencv-python 6】 获取RIO、泛洪填充

【opencv-python 6】 获取RIO、泛洪填充

【opencv-python 6】 获取RIO、泛洪填充

【opencv-python 6】 获取RIO、泛洪填充

【opencv-python 6】 获取RIO、泛洪填充