使用基本图像处理技术进行水印去除,主要采用OpenCV提供的库函数以及基本的图像处理进行图像修复,但是从鲁棒性方面可能存在不足。处理的图像可能存在一定的模糊水印去除不完整、留边等问题。本文参考了部分其他内容已在后文引用。

目前常用的水印去除方法主要使用深度学习相关前沿技术进行解决,详情可参考笔者博客:

使用深度学习技术进行水印去除

测试案例

第一种方法:

  该方法看着是不是很简单?没错就这么几行代码,但是这种方式需要一个美工,让他配合你做一张di.png

di.png

1

2

3

4

5

6

7

8

9

10

11

12

13

14

# 方式一

import cv2

def get_water():

    # 黑底白字

    src = cv2.imread('yuan.png')  # 默认的彩色图(IMREAD_COLOR)方式读入原始图像

    # black.jpg

    mask = cv2.imread('di.png', cv2.IMREAD_GRAYSCALE)  # 灰度图(IMREAD_GRAYSCALE)方式读入水印蒙版图像

    # 参数:目标修复图像; 蒙版图(定位修复区域); 选取邻域半径; 修复算法(包括INPAINT_TELEA/INPAINT_NS, 前者算法效果较好)

    dst = cv2.inpaint(src, mask, 3, cv2.INPAINT_NS)

    cv2.imwrite('result1.jpg', dst)

get_water()

   看完上面这么多废话,其实你就想看看效果如何,那么来看一下该方式效果图

  是不是想说效果很差,其实在我所测试使用的方法中,这种方法已经算是效果不错的了。别着急走,下面还有一种比这效果更好的方式

第二种方式:

  还是以上一张图片为例,这种方式还是需要美工配合,只是图片变了,同时换了一种算法模式,但是注意该方法效率不高,使用该图片时

跑一次代码就行了,但是若是别的图片,你可能需要跑几遍代码之后,才能出现最终效果(若你发现采用该方式去除水印,发现去除后的效果,

只是水印颜色变淡了,那么请你在对处理过的图,再次执行该代码,如此多次之后,请用肉眼识别最好的效果)

di2.png

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

# 方式二

import cv2

import numpy

def get_water2():

    src = cv2.imread('yuan.png')

    mask = cv2.imread('di2.png')

    save = numpy.zeros(src.shape, numpy.uint8)  # 创建一张空图像用于保存

    for row in range(src.shape[0]):

        for col in range(src.shape[1]):

            for channel in range(src.shape[2]):

                if mask[row, col, channel] == 0:

                    val = 0

                else:

                    reverse_val = 255 - src[row, col, channel]

                    val = 255 - reverse_val * 256 / mask[row, col, channel]

                    if val < 0: val = 0

                save[row, col, channel] = val

    cv2.imwrite('result2.jpg', save)

get_water2()

  不多说直接,上效果图

  这两种方式,是相对来说效果很好的去除水印方式,也就是”人工”去除水印,但是该两种方式并不能满足我的要求,我需要大批量,高效率的去除水印,等我下一篇文章再来分享吧

参考:

https://www.jianshu.com/p/cc94a78e14e2

https://mp.weixin.qq.com/s/UfLkle4raCPIZvBLdswXkA

Python-OpenCV使用基本图像处理技术进行水印去除相关推荐

  1. python+opencv实现机器视觉基础技术(2)(宽度测量,缺陷检测,医学检测

     本篇博客接着讲解机器视觉的有关技术和知识.包括宽度测量,缺陷检测,医学处理. 一:宽度测量   在传统的自动化生产中,对于尺寸的测量,典型的方法就是千分尺.游标卡尺.塞尺等.而这些测量手段测量精度低 ...

  2. Python+OpenCV的基础图像处理操作汇总

    本文我们将讨论使用Python中的OpenCV库进行图像处理的一些基本操作. 图像处理是对图像进行的技术操作与分析,比如为了得到增强的图像或提取一些有用的信息而进行的一系列操作. 随着我们的发展,许多 ...

  3. 基于python的图片修复程序-可用于水印去除

    图片修复程序-可用于水印去除 在现实的生活中,我们可能会遇到一些美好的或是珍贵的图片被噪声干扰,比如旧照片的折痕,比如镜头上的灰尘或污渍,更或者是某些我们想为我所用但有讨厌水印,那么有没有一种办法可以 ...

  4. python 去除水印_基于python的图片修复程序(实现水印去除)

    图片修复程序-可用于水印去除 在现实的生活中,我们可能会遇到一些美好的或是珍贵的图片被噪声干扰,比如旧照片的折痕,比如镜头上的灰尘或污渍,更或者是某些我们想为我所用但有讨厌水印,那么有没有一种办法可以 ...

  5. Python+OpenCV 设计GUI图像处理

    1.导入库文件 这里主要使用PySimpleGUI.cv2和numpy库文件,PySimpleGUI库文件实现GUI可视化,cv2库文件是Python的OpenCV接口文件,numpy库文件实现数值的 ...

  6. Python - Opencv应用实例之头发自动分割、计数、特征统计智能分析系统

    Python-Opencv应用实例之头发自动分割.计数.特征统计智能分析系统 简介: 本文章将通过Python+Opencv基于传统图像处理算法实现头发的自动分析功能. 自动分割:对图像中的头发丝实现 ...

  7. 忙里偷闲:神秘的水印去除术

    一边被老板骂,一边还不想干活. 看到网上有人在找 大批量水印去除的方法,自己动手用matlab写了一个,如果能博得大家一笑就好了. 废话少说直接上效果图 图片来自百度文档. 以下是代码 I=imrea ...

  8. python 视觉技术_python+opencv实现机器视觉基础技术(边缘提取,图像滤波,边缘检测算子,投影,车牌字符分割)...

    机器视觉是人工智能正在快速发展的一个分支.简单说来,机器视觉就是用机器代替人眼来做测量和判断.它是一项综合技术,包括图像处理.机械工程技术.控制.电光源照明.光学成像.传感器.模拟与数字视频技术.计算 ...

  9. Python OpenCV去除图片水印

    问题描述 去除百度水印 1.jpg,背景简单 2.jpg,背景复杂 解决方案 安装 pip install opencv-python pip install numpy 方法一.OpenCV提取颜色 ...

最新文章

  1. java自学入门心得体会 0.1
  2. Windows10下Python3做OpenGL的编程
  3. 心理所发表关于神经科学研究可信度的评论文章
  4. python docx 复制_99%的人都不知道的Python整理文件方法,效率提升100倍
  5. 记一次继承了AbstractAuthenticationProcessingFilter 的过滤器被执行了两次问题
  6. android ipc简单理解,Android IPC 机制【1】--简介
  7. Java(37)_FlowLayout布局一
  8. pytorch 存取模型(待补充)
  9. 版本控制系统的演化、Git 分布式版本控制系统概述 及 工作流程
  10. 常用的在线翻译工具及实例对比初探
  11. 无法修改计算机睡眠,win7不能睡眠怎么办,通过两个步骤的设置轻松解决
  12. 策略模式:网络小说的固定套路
  13. 【漏洞复现-Tomacat-文件上传】vulfocus/tomcat-cve_2017_12615
  14. 前女友闺蜜给我发了一个压缩包,居然还带密码?暴力破解ZIP加密文件的密码!
  15. Juniper交换机收集日志
  16. 程序员笔试笔记c++
  17. 函数 函数的基本使用 函数的四种基本形式 可选参数 函数默认参数 函数的剩余参数 构造函数() 函数重(chong)载
  18. 魔兽世界 Mangos Trinity TrinityCore 数据库 结构 大纲
  19. - 在c语言中是什么意思?
  20. 计算机全国一级b考试试题,全国版计算机等级考试一级B考前冲刺试题

热门文章

  1. 这一年,你过得还好吗?
  2. [转载] 全本张广泰——第十二回 广泰退贼寇 技惊哈大人
  3. 关于GPS经纬度如何转百度经纬度
  4. 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext报错
  5. 【改进粒子群优化算法】相量普氏群优化(PPSO)算法(matlab代码实现)
  6. python获得用户输入的一个字符串(长度3)_Python笔记(3)-字符串
  7. Linux中常见软件安装方法及常见管理方法
  8. NSN的MGM SW engineer面试题
  9. 数学家不太喜欢用计算机,科学网-蔡论意谈数学与艺术-蒋迅的博文
  10. Springboot毕设项目创新创业管理系统1f90rjava+VUE+Mybatis+Maven+Mysql+sprnig)