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)!