去除水印有很多方式,但是要是批量化的去除水印,python中的opencv库是一个很好的工具。

1.主要步骤

1.截取图片中水印位置(所以这个方式仅限于,水印图片在某个位置,基本不影响图片,不是图文中的那种水印)

2.将水印位置图像进行二值化和膨胀操作

3.采用了基于快速行进孔洞填充技术(Fast Marching Method)进行的修复,也称为Telea算法

4.将处理后的截图部分覆盖在原图上

2.代码实现

import cv2
import numpy as np      #导入numpy,PIL库
import os #首先导入os库

dir = os.getcwd()
path = "6.jpg"            # 需要去水印的图片
newPath = "new.jpg"        #去掉水印后的新图片
img = cv2.imread(path, 1)
# 这个地方的1是指彩色模式

hight, width, depth = img.shape[0:3]
# 然后使用.shape方法获取其高度、宽度和深度并且将shape元组中的前三个元素分别赋值给了hight、width和depth三个变量。

cropped = img[int(hight * 0.96):hight, 0:int(width * 0.24)]
# 裁剪坐标为[y0:y1, x0:x1] ,将原始图像裁剪成左下角的一部分并保存到cropped变量中

cv2.imwrite(newPath, cropped)
imgSY = cv2.imread(newPath, 1)

thresh = cv2.inRange(imgSY, np.array([200, 200, 200]), np.array([250, 250, 250]))
# 将 imgSY 图像中 RGB 像素值在 [

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部