我们可以将一些logo图案加在其他的图像上,这和图像的按比重加法的不同之处在于按比重加法是整体的加法,要求比较多,而在本节内容中,则主要是提取一些特征来实现加法,实用性更强,首先来对比一下这两者的差别。
图1 图像按比重混合(左)图像前景背景混合(右)
实现的过程(代码网上较多,本文就不附代码)
1. 获取前景图像的特征轮廓(logo部分)
将前景图像转为灰度图像,然后进行二值化(确保logo与背景在灰度图中像素值差异明显,提取的效果才会好)
img2gray=cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY)#将图像转为灰度图
ret,mask=cv2.threshold(img2gray,242,255,cv2.THRESH_BINARY)#第二个参数为阈值,第三个参数为高于阈值取值结果,第四个是阈值方法
ret值存放的是阈值,mask存放二值图,我们希望logo部分的值为0,这样和背景图做与运算时,logo部分就会保留(为0)

本文探讨如何使用OpenCV将logo图案添加到其他图像上,通过提取特征而不是整体加法来实现。首先将前景图像转为灰度并二值化,然后提取轮廓。通过与运算保留logo特征并在背景图上应用。最后,滤波处理消除噪点,将处理后的logo添加到原图相应位置。
【实例4】&spm=1001.2101.3001.5002&articleId=80889636&d=1&t=3&u=506e896751ff473ea471dca6e700783b)
956

被折叠的 条评论
为什么被折叠?



