0.给透明的PNG图加背景色
原图:
imgshow 直接显示带透明的 PNG 原图(只显示的 rgb 值没有透明通道):
叠加到一个黑色背景图上效果:
思路就是用 PNG 的 alpha 通道作掩码贴到背景图上,获取掩码可以用 split 或是 inRange。
过程及相关函数的说明写在代码里了:
#include
#include
#include
using namespace cv;
int main(int argc, char** argv)
{
//这是我本地带透明区域的png图 emulate3D code
//IMREAD_UNCHANGED按解码得到的方式读入图像
Mat img_1 = imread("F:/Src/code.png", cv::IMREAD_UNCHANGED);
//判断读取结果以及是否带alpha通道-BGRA,opencv颜色顺序是bgr
if (img_1.empty()|| img_1.channels()!=4) {
std::cout
关注
打赏