当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 创建最佳实践创建 XML 站点地图--SEO
  • 谷粒商城实战笔记-42-前端基础-Vue-生命周期和钩子函数
  • 深入浅出WebRTC—ULPFEC
  • 挖掘基于边缘无线协同感知的低功耗物联网 (LPIOT) 的巨大潜力
  • 《梦醒蝶飞:释放Excel函数与公式的力量》18.2 数据可视化技术
  • Lianwei 安全周报|2024.07.22
  • go语言UTC时间转换为中国时间
  • 技术文档总结----思维导图
  • C#基础:数据库分表的好处和实现方式
  • gradle 构建项目添加版本信息
  • npm create-react-app 项目名报错
  • java题目之数字加密以及如何解密
  • 第一弹:基于ABAP OLE技术实现对服务器文件进行读写操作
  • HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 多选题序号3
  • springMVC常用注解
  • 【391天】每日项目总结系列128(2018.03.03)
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Cookie 在前端中的实践
  • GitUp, 你不可错过的秀外慧中的git工具
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • Quartz初级教程
  • quasar-framework cnodejs社区
  • Xmanager 远程桌面 CentOS 7
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 如何选择开源的机器学习框架?
  • 深入浅出webpack学习(1)--核心概念
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 我是如何设计 Upload 上传组件的
  • 项目实战-Api的解决方案
  • 智能合约Solidity教程-事件和日志(一)
  • 带你开发类似Pokemon Go的AR游戏
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • ​zookeeper集群配置与启动
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #前后端分离# 头条发布系统
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (k8s)Kubernetes本地存储接入
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (翻译)terry crowley: 写给程序员
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (分类)KNN算法- 参数调优
  • (七)理解angular中的module和injector,即依赖注入
  • (转)我也是一只IT小小鸟
  • .net Application的目录
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET 设计模式初探
  • .NET 通过系统影子账户实现权限维持
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .Net中间语言BeforeFieldInit