因为工作中需要处理一大批图中的水印,人工去除又麻烦,速度还慢,所以就想办法使用代码批量处理
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from itertools import count, product
from PIL import Image
def main():
img = Image.open('img.png')
width, height = img.size
for pos in product(range(width), range(height)):
if sum(img.getpixel(pos)[:3]) > 330:
img.putpixel(pos, (255, 255, 255)) # 想要的结果背景数值,白色rgb(255,255, 255)、红色rgb(255, 0, 0)针对性更改
img.save('res_img.png')
if __name__=='__main__':
main()
-
处理前(背景中有百度汉字的水印)

处理水印前
-
处理后

处理水印后
PS:
只能针对对比色比较单一的纯色做去除,复杂的背景水印去除效果不理想