给图片添加透明水印

本文介绍如何使用Python给图像添加水印(文本或图片)

如果水印文件是JPG/JPEG格式,我们可以使用一些转换器将JPG转换为PNG。

PNG数组中的第四个整数称为“alpha通道”,它控制透明度(因此命名为“RGBA”)。如上图2所示,PNG支持透明度(即alpha通道),但JPG没有。


img = cv2.imread(img_path) # png图片,jpg需要转为RGBA通道
 
# add transparent log
 transparent_watermark = Image.open(log_path1)
 W,H = log.size # log的宽高
 transparent_watermark=transparent_watermark.resize((W,H))
 log = transparent_watermark 
 npy1 = np.array(transparent_watermark)
 npy1= cv2.cvtColor(npy1,cv2.COLOR_BGRA2RGBA)
 watermark_final = Image.fromarray(npy1)

# 先将原图粘贴的奥画布上,然后将log粘贴到画布上
transparent = Image.new(mode='RGBA',size = (img.shape[1],img.shape[0]), color=0)
transparent.paste(Image.fromarray(img),box=(0,0))  #box是粘贴的起始位置(左上方)
transparent.paste(im=watermark_final, box=(x,y), mask=watermark_final)

# 保存带有水印的图片
img=np.array(transparent)

以上是给图片添加水印的基本过程,如果我们想要控制水印的透明度,可以通过下面的方式来生成具有透明水印的log:

x,y=100,100  # 粘贴log在图片的左上角位置
W,H = log.size # log的宽高
log=cv2.addWeighted(img[y:y+H, x:x+W],0.5,log,0.5,0)

参考:使用Python给图片添加水印 (qq.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值