批量去水印python 代码
时间: 2024-09-10 18:29:21 浏览: 83
批量去除图片水印是一个常见的图像处理任务,Python有多种库可以实现,比如PIL(Python Imaging Library)或OpenCV等。以下是一个简单的例子,展示了如何使用PIL对一批图片进行基本的水印去除,这只是一个基础示例,并非针对所有复杂的水印都能有效去除:
```python
from PIL import Image
def remove_watermark(image_path, watermark_path):
try:
# 加载原图和水印
img = Image.open(image_path)
watermark = Image.open(watermark_path)
# 调整水印大小以适应原图
watermark.thumbnail(img.size)
# 检查是否找到水印,然后用白色填充覆盖
result = img.copy()
for x in range(watermark.width):
for y in range(watermark.height):
if watermark.getpixel((x, y)) != (0, 0, 0): # 如果像素不是纯黑色,则认为是水印
result.paste(255, (x, y), watermark) # 将该位置设为白色(透明度)
# 保存处理后的图片
result.save('output_' + image_path.split('/')[-1])
except Exception as e:
print(f"Error processing {image_path}: {e}")
# 使用列表中的文件路径批量处理
image_paths = ['path_to_image1.jpg', 'path_to_image2.jpg', ...]
watermark_path = 'path_to_watermark.png'
for path in image_paths:
remove_watermark(path, watermark_path)
```
注意,这个方法假设水印是纯黑色的。实际的水印可能会有不同的颜色和复杂形状,需要更专业的图像处理技术来识别并移除。
阅读全文