opencv-python学习笔记五:ROI和泛洪填充

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)
    # FLOODFILL_FIXED_RANGE 改变图像,泛洪填充 (30,30)点的像素值-(100,100,100)到(30,30)点的像素值+(50,50,50)区间
    # floodFill( 1.操作的图像, 2.掩模, 3.起始像素值,4.填充的颜色, 5.填充颜色的低值, 6.填充颜色的高值 ,7.填充的方法)
    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)


def fill_binary():
    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
    # FLOODFILL_MASK_ONLY不改变图像,只填充遮罩层本身,忽略新的颜色值参数 mask的指定的位置为零时才填充,不为零不填充
    cv.floodFill(image,mask,(200,200),(0,0,255),cv.FLOODFILL_MASK_ONLY)
    cv.imshow("filled binary",image)


src=cv.imread("D:/Documents/Desktop/lena.PNG")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image",src)


# ROI 感兴趣区域 region of interest
# face=src[50:250,100:300]
# gray=cv.cvtColor(face,cv.COLOR_BGR2GRAY)
# backface=cv.cvtColor(gray,cv.COLOR_GRAY2BGR)
# src[50:250,100:300]=backface
# cv.imshow("face",src)


fill_color_demo(src)
# fill_binary()
cv.waitKey(0)

cv.destroyAllWindows()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值