Python实现图片去除水印和添加水印

该代码示例展示了如何使用Python的PIL库和OpenCV库去除图片中的水印,以及如何使用filestools的watermarker模块给图片添加水印。提供了不同参数如透明度、旋转角度和字体大小来定制水印效果。
摘要由CSDN通过智能技术生成

# 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')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值