首先对于openCv中copyTo()的用法有以下两种:
image.copyTo(imageROI)。作用是把image的内容复制粘贴到imageROI上;
image.copyTo(imageROI,mask)。 作用是把mask和image重叠以后把mask中像素值为0(black)的点对应的image中的点变为透明,而保留其他点。
【注意】也许你在读这句话的时候不是特别了解到底讲述的是什么意思,那就先上图好了。
在使用logoImage.copyTo(imageROI);时的图像:
在使用logoImage.copyTo(imageROI, mask);时的图像:
注意观察两幅图的logo复制在ROI区域的边界有什么区别??
我们可以清晰的看到当使用logoImage.copyTo(imageROI);时,是将logoImage直接复制黏贴在imgROI区域。
而当使用logoImage.copyTo(imageROI, mask);时logo的边界的黑带残缺,而且原本是logo的图像区域显示还是imageROI的图像。即ROI区域在叠加以后的像素值为0(black)的点被保留为原图像的像素点。