2

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

我的代码是这样的:

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

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

我怎样才能做到这一点?

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

4

2 回答 2

6

看来 JPEG不支持透明度。不过,PNG 确实如此,因此您需要更改输出文件格式。

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

outputImage=cv::Scalar(255,255,255,0);
于 2013-08-28T15:32:26.513 回答
3

无法使.jpg图像透明,该格式不支持,请尝试.png代替。

于 2013-08-28T15:32:11.020 回答