open-cv 将图片所有黑色转变为其他颜色
有时候模板标记需要转变为其他颜色,比如这样的杂质标记
如果想把其颜色变为红色,就要用到微操作,用mask倒换一下
#产生原色图片
def generate_pic(size = (300,300),RGB = (0,0,255)):
img = np.ones(size,dtype=np.uint8)
bgr_img = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)
for i in [0,1,2]:
bgr_img[:,:,i] = RGB[i]
return bgr_img
#将模板上所有白色转换为其他颜色
def convertTo_otherColor(img,RGB = ((0,0,255))):
simple_color = generate_pic(size=img.shape,RGB =RGB )
res = cv2.bitwise_and(simple_color, simple_color, mask = img)
return res
效果如下
然后就可以直接在原始图像完成叠加