在OpenCV中创建透明图像

man*_*ans 2 c++ opencv image-processing

我试图在OpenCV中创建一个透明的图像,并将其作为jpg挥动,但没有任何成功.

我的代码是这样的:

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

但图像不透明,颜色为白色.

我怎样才能做到这一点?

如果OpenCV不能这样做,有没有我用于此的免费库?

Aur*_*ius 6

JPEG 似乎不支持透明度.但是,PNG会这样做,因此您需要更改输出文件格式.

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

outputImage=cv::Scalar(255,255,255,0);
Run Code Online (Sandbox Code Playgroud)