我正在尝试在OpenCV中创建一个透明图像并将其作为jpg传播,但没有任何成功。
我的代码是这样的:
string outputImageName="myimage.jpg";
Mat outputImage(outputRows,outputCols,CV_8UC4);
outputImage=cv::Scalar(255,255,255,255);
imwrite(outputImageName,outputImage);
但图像不透明,颜色为白色。
我该怎么做?
如果OpenCV无法执行此操作,是否有我用于此的免费库?
答案 0 :(得分:5)
看来JPEG doesn't support transparency。但是,PNG会这样做,因此您需要更改输出文件格式。
此外,alpha值为255表示完全可见性。将alpha值更改为零以使图像完全透明:
outputImage=cv::Scalar(255,255,255,0);
答案 1 :(得分:3)
无法使 .jpg 图像透明,格式不支持,请尝试 .png 。