# encoding=utf8
from os.path import splitext
from itertools import product
from PIL import Image
# 去除水印
picture = "mm.jpg"
im =Image.open(picture)
width, height = im.size
for pos in product(range(width),range(height)):
# 580是经验值,需要根据图片的内容和水印的大小
if sum(im.getpixel(pos)[:3]) > 580:
im.putpixel(pos,(255, 255, 255))
im.save("_wushuiyin".join(splitext(picture)))
img = Image.open('test.png')
width, height = img.size
for pos in product(range(width), range(height)):
if sum(img.getpixel(pos)[:3]) > 600:
img.putpixel(pos, (255,255,255))
img.save('removed_1.png')
# 去除水印
import cv2
import numpy as np
img = cv2.imread('mm.jpg')
new = np.clip(1.4057577998008846*img-38.33089999653017, 0, 255).astype(np.uint8)
cv2.imwrite('removed.png', new)
# Python给图片加水印(非常简单)
#安裝filestools watermarker是filestools的模塊
# pip install filestools
# 导入包
from watermarker.marker import add_mark
if __name__ == '__main__':
srcpath = r'D:\srcpath\\' # 需要加水印的图片目录
retpath = r'D:\retpath' # 加水印后保存目录
'''add_mark是图片加水印的方法,共有8个参数'''
# file:图片文件或图片文件夹路径
# out:添加水印后的结果保存位置,默认生成到 output 文件夹
# mark:要添加的水印内容
# opacity:水印的透明度,默认 0.15
# angle:水印旋转角度,默认 30 度
# space:水印直接的间隔, 默认 75 个空格
# size:水印字体的大小,默认 50
# color:文字水印颜色设置 16进制
# 水印测试一
add_mark(file=srcpath + '1.jpg', out=retpath, mark="我是小蜘蛛", opacity=0.7, angle=35, space=30, size=35,
color='#00ff00')
# 水印测试二
add_mark(file=srcpath + '2.jpg', out=retpath, mark="鹅企大是我", opacity=0.5, angle=90, space=30, size=35,
color='#ffffff')
# 水印测试三
add_mark(file=srcpath + '3.jpg', out=retpath, mark="我是小贱贱", opacity=0.5, angle=30, space=30, size=66,
color='#ff0000')
上一篇:netlink进行网卡重命名
下一篇:Unity资源热更新框架