前面的遮罩(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遮罩图像的对比