用Python写个OpenCV代码,将一个图片添加上背景为白色的水印,将水印的白色背景去掉与图片融合
时间: 2024-09-14 13:09:37 浏览: 50
在Python中,我们可以使用OpenCV库来实现图片加水印的功能。这里是一个简单的例子,我们将创建一个带有白色背景的文本作为水印,并将其透明度调整以便与原图融合:
```python
import cv2
import numpy as np
# 加载原始图片和要添加的水印文字
img = cv2.imread('original_image.jpg')
watermark_text = 'Your Watermark Text' # 水印内容
# 创建一个白色背景的透明水印
font = cv2.FONT_HERSHEY_SIMPLEX
text_w, text_h = cv2.getTextSize(watermark_text, font, 1, 2)[0]
background = np.zeros((text_h+5, text_w+10, 3), dtype=np.uint8)
background[:, :] = (255, 255, 255) # 设置白色背景
cv2.putText(background, watermark_text, (5, text_h+5), font, 1, (0, 0, 0), 2)
# 将水印转换为灰度并添加透明度
gray_watermark = cv2.cvtColor(background, cv2.COLOR_BGR2GRAY)
alpha = np.array(gray_watermark[:, :, 2]) / 255.0 # 取Alpha通道并归一化
watermark = cv2.addWeighted(gray_watermark, alpha, img, 1 - alpha, 0)
# 融合到原图
result = cv2.add(img, watermark)
# 保存结果
cv2.imwrite('watermarked_image.jpg', result)
阅读全文