我们如何将这个logo加到右边图片里呢?
如果使用cv.add()那么颜色肯定加深
如果使用cv.addWeight()又会出现透明
, 那怎么办呢?
我们可以使用位运算,然后运用掩码的性质就可以得到了。
我们可以首先将logo的颜色空间进行转换,转换成灰度图像,然后使用阀值函数,将我们的logo提取出来,然后将其他部分变为黑色,即像素值为0。
这部分代码为:
img2gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)# 颜色空间的转换
ret, mask = cv.threshold(img2gray, 20, 255, cv.THRESH_BINARY)# 掩码 黑色
cv.namedWindow("image", cv.WINDOW_AUTOSIZE)
cv.imshow("image", mask)
然后我们得到它相反的图像,使用cv.bitwise_not
,得到