问题

日常学习和工作中,经常会遇到上面的情况,好好的PDF文档里面却多了很多烦人的、极其影响阅读效果的水印。如何快速去掉呢?

今天就为大家介绍三行代码完成这一工作,保证受用。

方法

使用opencv就可以快速完成,如下所示:

import cv2
import numpy as np  img = cv2.imread('veidz.jpg')
new = np.clip(2.0*img-160, 0, 255).astype(np.uint8)
cv2.imwrite('cleaned.jpg', new)

完成后,最终实现效果如下,去水印的效果还是非常棒的。

np.clip用法介绍

这里面用到了np.clip()方法,如下所示,它的作用是将a里面所有小于1的设置为,如0<1所以修改为1, 所有大于8的修改为8, 最终保证数组里面的元素全部都在1~8之间。
a = np.arange(10)   # array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
a   #array([1, 1, 2, 3, 4, 5, 6, 7, 8, 8])
np.clip(a, 1,8)

上面的代码使用np.clip()的作用就是保证经常计算后的img能够不越界,一致保持在[0,255]之间。

结语

本文为大家介绍了如何利用Python去除烦人的水印效果,最终还你一个安静的阅读世界。学好Python,帮助您解决更多的难题。

【Python】三行代码让你实现快速去水印相关推荐

  1. 仅用Python三行代码,实现数据库和excel之间的导入导出

    目录 一.前言 二.python代码 2.1 从MySQL数据库导入csv 2.2 从csv导入MySQL数据库 三.讲解视频 一.前言 之前我分享过两次python的高效编程技巧,分别是, pyth ...

  2. 教你如何用 Python 三行代码做动图!

    作者 | 小F  责编 | 张文 头图 | CSDN 下载自东方 IC 来源 | 法纳斯特(ID:walker398) 关于动态条形图,小F以前推荐过 Bar. Chart. Race 这个库.三行代 ...

  3. 百练OJ:4003:十六进制转十进制(python三行代码实现)

    题目链接:百练OJ:4003 描述 将十六进制数转换成十进制数 输入 第一行有一个整数T,表示共有T组数据 接下来T行,每一行为一个16进制无符号正整数,位数不超过8位,数中的a-f均为大写字母,数前 ...

  4. python归一化代码_python中的快速图像归一化

    我觉得你的时间安排得很慢.也许你的安装出了问题?在 我试过这个测试程序:#!/usr/bin/python3 import sys import numpy as np import cv2 from ...

  5. 用python做动画的代码_Python应用 | 三行代码实现GIF动画

    原标题:Python应用 | 三行代码实现GIF动画 图片看腻了,来一点动画吧. 很酷的花朵GIF动画,想了解一下如何利用Python实现吗? 1. 准确图片数据集. 准备需要制作GIF动画的图片若干 ...

  6. Python新工具:用三行代码提取PDF表格数据

    点击上方"视学算法",星标公众号 重磅干货,第一时间送达 项目作者:vinayak mehta 参与:一鸣 从 PDF 表格中获取数据是一项痛苦的工作.不久前,一位开发者提供了一个 ...

  7. python少量数据分析代码_10个可以快速用Python进行数据分析的小技巧!

    一些小提示和小技巧可能是非常有用的,特别是在编程领域.有时候使用一点点黑客技术,既可以节省时间,还可能挽救"生命". 一个小小的快捷方式或附加组件有时真是天赐之物,并且可以成为真正 ...

  8. python将txt转换为csv_Python Pandas 三行代码将 txt 文件转换成 csv 文件

    今天需要处理几个比较大的 txt 文件,每个文件都在 2GB 以上,直接用 Excel 将其转换成 csv 文件显然是不太可行的,于是用 Python 中的数据处理神器 Pandas,三行代码就能搞定 ...

  9. python封装sql脚本 github_Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码...

    原标题:Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码 在运维开发中,使用 Python 发送邮件是一个非常常见的应用场景.今天一起来探讨一下,GitHub 的大牛门是如何使 ...

最新文章

  1. 模型评估方法和性能指标
  2. 在C语言中,double、long、unsigned、int、char类型数据所占字节数
  3. hdfs haadmin使用,DataNode动态上下线,NameNode状态切换管理,数据块的balance,HA下hdfs-api变化(来自学习资料)
  4. android返回后屏幕旋转了,Android recovery 模式下屏幕显示旋转
  5. java购物车商品排序_Java购物车
  6. 音视频开发(14)---智能视频解决方案
  7. 小米“618”战报:全平台支付金额破190亿,同比增长90%
  8. UIButton @selector 想要传递多个参数
  9. matlab数组补零,fft补零 - 木头弯弯的小窝 - 与非博客 - 与非网
  10. 分布式任务队列:Celery使用记录
  11. HashSet、LinkedHashSet和TreeSet三者区别与联系
  12. 2012第二届GIS制图大赛——赛前培训资料(上篇)
  13. matlab求均值、方差
  14. 中仪股份管道机器人_中仪股份 X5-HT 管道检测机器人
  15. ug无限的服务器名称,ug无效的服务器名称
  16. Power BI 数据分析基础
  17. 代码托管gitHub中国官网
  18. 粗暴的rm rf,报错Argument list too long
  19. canvas 将两张图片叠加
  20. python windows curses库安装教程

热门文章

  1. 英语2020.12.22
  2. 细致分析C中栈的使用(适合初学者)
  3. matlab曲线拟合sse等含义,Matlab曲线拟合SSE等含义
  4. c语言写按键控制蜂鸣器,51单片机用按键控制蜂鸣器发出do re mi fa...的声音,...
  5. 疯狂Android讲义相关资源(第四版2019年3月)
  6. 宝腾推出首款新能源车型X90
  7. 16.试题编号:2-16 《码头中心船货申报系统》进出港船只申报模块----技能抽查
  8. 手牌 --- 三国杀的关键
  9. 一文极速读懂UniProt数据库
  10. DockerToolBox window 下载 与初步使用