python 去除图片上面水印

# 必须安装pip install opencv-python 和 pillow

import cv2
import numpy as np
from PIL import Image
import os

dir = os.getcwd()
path = '2.png'
newpath = 'new.png'
img = cv2.imread(path,1)
# img.shape[:3] 则取彩色图片的高、宽、通道。
hight,width,depth=img.shape[0:3]
print(hight)
print(width)
#裁剪水印坐标为[y0:y,x0:x1]
cropped = img[int(hight*0.9):hight, int(width*0.7):width]
cv2.imwrite(newpath,cropped)
# 将图片加载为内存对象 参一:完整路径;参二:flag:-1彩色,0灰色,1原有
imgsy = cv2.imread(newpath,1)

#图片二值化处理,把[200,200,200]~[255, 255, 255]以外的颜色变成0
# 这个颜色区间就是水印周边的背景颜色
thresh = cv2.inRange(imgsy,np.array([28, 28, 28]),np.array([54, 54, 54]))
# #创建形状和尺寸的结构元素 创建水印蒙层
kernel = np.ones((3,3),np.uint8)
#对水印蒙层进行膨胀操作
hi_mask = cv2.dilate(thresh,kernel,iterations=10)
specular = cv2.inpaint(imgsy,hi_mask,5,flags=cv2.INPAINT_TELEA)
cv2.imwrite(newpath,specular)


#覆盖图片
imgsy = Image.open(newpath)
img = Image.open(path)
img.paste(imgsy, (int(width*0.7),int(hight*0.9),width,hight))
img.save(newpath)

 

去除图片中的彩色水印,可以使用Python编程语言和相应的图像处理库来实现。下面是一种可能的解决方案: 首先,我们需要导入Python的图像处理库PIL(Python Imaging Library)或者其增强版本Pillow,以便对图片进行处理。可以使用以下命令安装Pillow库: ``` pip install pillow ``` 然后,我们可以使用以下代码来去除彩色水印: ```python from PIL import Image # 加载图片 image = Image.open('image_with_watermark.jpg') # 将彩色图片转换为灰度图 gray_image = image.convert('L') # 去除水印 # 可以根据实际情况使用不同的方法,比如使用图像处理算法或者人工智能模型等 # 这里仅提供一个简单的示例,使用简单的阈值来将水印区域变为白色 threshold = 200 # 阈值,用于控制去除水印的效果 result_image = gray_image.point(lambda x: 255 if x > threshold else x) # 保存去除水印后的图片 result_image.save('image_without_watermark.jpg') ``` 上述代码中,我们首先使用`Image.open()`方法加载带有水印图片,然后使用`convert('L')`方法将彩色图片转换为灰度图。接下来,我们可以根据实际情况使用不同的方法去除水印;这里仅提供一个简单的示例,使用`point()`方法将灰度值大于阈值的像素点变为白色。最后,我们使用`save()`方法保存去除水印后的图片。 需要注意的是,该解决方案仅提供了一个简单的示例,实际应用中可能需要根据不同的水印特征和要求进行优化和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值