python opencv的mask 和cv2.bitwise_and() 的图像合并

前面的遮罩(cv2.inRange()) 只能够将所需的颜色给显示出来,但是显示出来的是白色的一片,那么,如果需要将白色变成自己所需要的色彩,就需要用到图像的合并

import cv2
import numpy as np
img = cv2.imread('Test.jpg')
orange_lower = np.array([11,43,46])
orange_upper = np.array([25,255,255])
img_hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
mask = cv2.inRange(img_hsv,orange_lower,orange_upper)
mask = cv2.erode(mask,None,iterations=2)
mask = cv2.GaussianBlur(mask,(3,3),0)
res = cv2.bitwise_and(img,img,mask=mask) #图像的合并 同一张 名字不变 但是后面的mask 是自己设置的mask
cv2.imshow('mask',mask)
cv2.imshow('img',img)
cv2.imshow('res',res)
cv2.waitKey()

代码大体不变,还是和上面差不多中间多加了一个res变量
下面分别是与原图像的对比和与mask遮罩图像的对比在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值