一:ROI对图像进行切片
import cv2 as cv
img1=cv.imread(“D:/OPen CV/lena.jpg”)
cv.imshow(‘source image’, img1)
提取感兴趣区域
face = img1[80:200, 120:260]
将感兴趣区域转换成灰度图
gray = cv.cvtColor(face, cv.COLOR_BGR2GRAY)
将灰度图转换成BGR格式为了后边赋值操作保持通道一致
这里灰度转换并不会变成彩色一定要注意
backface = cv.cvtColor(gray, cv.COLOR_GRAY2BGR)
重新赋值
#注意:因为图片像素的长宽的不同,从网上的程序,图像切片的大小需要做改变,否
#则报错
img1[80:200, 120:260] = backface
cv.imshow(‘face_part’, img1)
cv.waitKey(0)
二:泛洪填充
https://blog.youkuaiyun.com/fly_wt/article/details/83349642
泛洪填充,如何填充一个对象内部区域
FLOODFILL_FIXED_RANGE- 改变图像,泛洪填充
FLOODFILL_MASK_ONLY - 不改变图像,只填充遮罩层本身,忽略新的颜色值参数
floodFill(Mat image, Mat mask, Point seedPoint, Scalar newVal)
floodFill(image, mask, seedPoint, newVal, rect, loDiff, upDiff, flags)
src(x,y)=[src(seed.x, seed,y)-loDiff, src(seed.x, seed,y)+upDiff]
python+opencv 漫水填充(floodFill)实例详解https://blog.youkuaiyun.com/weixin_42508025/article/details/84029054