自学内容网 自学内容网

Python应用—浅谈利用opencv去除水印

去除水印有很多方式,但是要是批量化的去除水印,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 像素值在 [

原文地址:https://blog.csdn.net/weixin_55144746/article/details/140619230

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!