矢岛舞美 发表于 2024-1-30 11:40

使用python裁切图片水印

本来的想法是使用python批量将水印给抹除,结果发现效果很差,那马赛克也忒难看了,转换了一下思路,直接把水印部分裁切掉,适合水印在底部的图片
使用方式:运行代码,选择需要处理的图片所在文件夹即可,ps:处理后的图片会直接覆盖原图
import os
from PIL import Image
from tkinter import filedialog

def remove_watermark(directory, watermark_height_ratio):
    for filename in os.listdir(directory):
      if filename.endswith('.jpg') or filename.endswith('.png'):
            image_path = os.path.join(directory, filename)
            image = Image.open(image_path)

            width, height = image.size

            # 根据水印占据的比例,计算水印的高度
            watermark_height = int(height * watermark_height_ratio)

            # 计算剪切区域的坐标
            new_image = image.crop((0, 0, width, height - watermark_height))

            new_image.save(image_path)# 直接覆盖原来的图片

directory = filedialog.askdirectory()# 打开文件对话框选择目录
remove_watermark(directory, 0.1)

sai609 发表于 2024-1-30 12:45

请问这个主要用来干啥,有啥用处

大兵马元帅 发表于 2024-1-30 14:03

你这是没有办法的办法啊

vethenc 发表于 2024-1-30 15:50

感谢分享,也是一个办法啊{:300_966:}

xingwenzhiyuan 发表于 2024-1-30 21:26

是水印在 文字的底部吗? 还是水印就在图片的底部!

矢岛舞美 发表于 2024-1-31 09:11

xingwenzhiyuan 发表于 2024-1-30 21:26
是水印在 文字的底部吗? 还是水印就在图片的底部!

主要是针对水印放在左右下角那种

zyz1234 发表于 2024-2-1 22:20

还不错,感谢分享

忧郁之子 发表于 2024-2-3 23:37

终于找到了我想要的方法,谢谢分享
页: [1]
查看完整版本: 使用python裁切图片水印