以下是一个基于Python和OpenCV实现简单在线图片去水印的示例代码,适用于处理透明度较高的PNG格式水印:
```python
import cv2
from PIL import Image
def remove_watermark(input_path, output_path, watermark_path):
读取原图
img = Image.open(input_path)
img_array = np.array(img)
读取水印图(需提前获取水印的透明通道信息)watermark = Image.open(watermark_path)
watermark_array = np.array(watermark)
计算透明度权重(根据实际水印透明度调整)
alpha = watermark_array.sum(axis=2) / 255.0
alpha = np.where(alpha > 0.5, 1, 0) 设置透明度阈值
应用去水印处理
result = cv2.convertScaleAbs(img_array (1 alpha) + img_array alpha)
保存结果
cv2.imwrite(output_path, result)
print(f"去水印成功,保存至 {output_path