在OpenCV中创建透明图像

Creating transparent image in OpenCV

本文关键字:透明图 图像 透明 创建 OpenCV      更新时间:2023-10-16

我正试图在OpenCV中创建一个透明图像,并将其转换为jpg格式,但没有成功。

我的代码是这样的:

string outputImageName="myimage.jpg";
Mat outputImage(outputRows,outputCols,CV_8UC4);
outputImage=cv::Scalar(255,255,255,255);
imwrite(outputImageName,outputImage);

但是图像是不透明的,它的颜色是白色的。

我该怎么做?

如果OpenCV不能做到这一点,我有没有免费的库可以用来做这件事?

JPEG似乎不支持透明度。不过PNG确实如此,所以您需要更改输出文件的格式。

此外,阿尔法值255表示完全可见性。将alpha值更改为零以使图像完全透明:

outputImage=cv::Scalar(255,255,255,0);

不可能使.jpg图像透明,该格式不支持它,请尝试.png