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 像素值在 [

相关推荐

  1. Python应用利用opencv去除水印

    2024-07-23 07:06:02       12 阅读
  2. Web应用代码自动化审计

    2024-07-23 07:06:02       55 阅读
  3. Doris在物联网应用

    2024-07-23 07:06:02       58 阅读
  4. Kafka在车联网中应用

    2024-07-23 07:06:02       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 07:06:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 07:06:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 07:06:02       45 阅读
  4. Python语言-面向对象

    2024-07-23 07:06:02       55 阅读

热门阅读

  1. [网络基础]——IP、MAC、子网掩码

    2024-07-23 07:06:02       16 阅读
  2. 背包问题模板

    2024-07-23 07:06:02       18 阅读
  3. 如何看待云原生下的多活容灾

    2024-07-23 07:06:02       14 阅读
  4. PyTorch 中的一个函数:torch.pow

    2024-07-23 07:06:02       13 阅读
  5. 图像处理 -- ISP调优(tuning)的步骤整理

    2024-07-23 07:06:02       15 阅读