【发布时间】:2021-04-28 11:36:17
【问题描述】:
我正在尝试以低不透明度使水印透明,但似乎只是将颜色设置为白色:
这是我使用的代码,顺便说一句,我在一些 website 中找到了
/////////////////// Blending Images (Making Alpha) ////////////////////////
int main()
{
Mat img, img_bgra;
string img_path = "res/test.png";
img = imread(img_path);
if (img.data == NULL)
{
cout << "Image is not loaded!" << endl;
return -1;
}
cvtColor(img, img_bgra, ColorConversionCodes::COLOR_BGR2BGRA);
vector<Mat> channels(4);
split(img_bgra, channels);
channels[3] = channels[3] * 0.1;
merge(channels.data(), 4, img_bgra);
imwrite("res/transparent.png", img_bgra);
imshow("Image", img_bgra);
waitKey(0);
return 0;
}
我希望水印像这样显示:
我怎样才能做到这一点?
【问题讨论】:
标签: c++ visual-studio opencv