利用Python+OpenCV三步去除水印


Posted in Python onMay 28, 2021

一、推理原理

1.标定噪声的特征,使用cv2.inRange二值化标识噪声对图片进行二值化处理,具体代码:cv2.inRange(img, np.array([200, 200, 240]), np.array([255, 255, 255])),把[200, 200, 200]~[255, 255, 255]以外的颜色处理为0

2.使用OpenCV的dilate方法,扩展特征的区域,优化图片处理效果

3.使用inpaint方法,把噪声的mask作为参数,推理并修复图片

二、推理步骤

1.从源图片,截取右下角部分,另存为新图片

2.识别水印,颜色值为:[200, 200, 200]~[255, 255, 255]

3.去掉水印,还原图片

4.把源图片、去掉水印的新图片,进行重叠合并

三、参考代码

import cv2
import numpy as np
from PIL import Image
import os
​
dir = os.getcwd()
path = "1.jpg"
newPath = "new.jpg"
img=cv2.imread(path,1)
hight,width,depth=img.shape[0:3]
​
#截取
cropped = img[int(hight*0.8):hight, int(width*0.7):width]  # 裁剪坐标为[y0:y1, x0:x1]
cv2.imwrite(newPath, cropped)
imgSY = cv2.imread(newPath,1)
​
#图片二值化处理,把[200,200,200]-[250,250,250]以外的颜色变成0
thresh = cv2.inRange(imgSY,np.array([200,200,200]),np.array([250,250,250]))
#创建形状和尺寸的结构元素
kernel = np.ones((3,3),np.uint8)
#扩展待修复区域
hi_mask = cv2.dilate(thresh,kernel,iterations=10)
specular = cv2.inpaint(imgSY,hi_mask,5,flags=cv2.INPAINT_TELEA)
cv2.imwrite(newPath, specular)
​
#覆盖图片
imgSY = Image.open(newPath)
img = Image.open(path)
img.paste(imgSY, (int(width*0.7),int(hight*0.8),width,hight))
img.save(newPath)

import cv2
import numpy as np
from PIL import Image
import os
​
dir = os.getcwd()
path = "1.jpg"
newPath = "new.jpg"
img=cv2.imread(path,1)
hight,width,depth=img.shape[0:3]
​
#截取
cropped = img[int(hight*0.8):hight, int(width*0.7):width]  # 裁剪坐标为[y0:y1, x0:x1]
cv2.imwrite(newPath, cropped)
imgSY = cv2.imread(newPath,1)
​
#图片二值化处理,把[200,200,200]-[250,250,250]以外的颜色变成0
thresh = cv2.inRange(imgSY,np.array([200,200,200]),np.array([250,250,250]))
#创建形状和尺寸的结构元素
kernel = np.ones((3,3),np.uint8)
#扩展待修复区域
hi_mask = cv2.dilate(thresh,kernel,iterations=10)
specular = cv2.inpaint(imgSY,hi_mask,5,flags=cv2.INPAINT_TELEA)
cv2.imwrite(newPath, specular)
​
#覆盖图片
imgSY = Image.open(newPath)
img = Image.open(path)
img.paste(imgSY, (int(width*0.7),int(hight*0.8),width,hight))
img.save(newPath)

四、效果图

没去水印前:

利用Python+OpenCV三步去除水印

去了后:

利用Python+OpenCV三步去除水印

到此这篇关于利用Python+OpenCV三步去除水印的文章就介绍到这了,更多相关Python+OpenCV去水印内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现查找系统盘中需要找的字符
Jul 14 Python
如何使用python爬取csdn博客访问量
Feb 14 Python
机器学习python实战之决策树
Nov 01 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
Dec 28 Python
python实时监控cpu小工具
Jun 21 Python
Python3 Post登录并且保存cookie登录其他页面的方法
Dec 28 Python
Python实现的在特定目录下导入模块功能分析
Feb 11 Python
详解如何从TensorFlow的mnist数据集导出手写体数字图片
Aug 05 Python
python爬虫 2019中国好声音评论爬取过程解析
Aug 26 Python
python 实现二维列表转置
Dec 02 Python
Python生成个性签名图片获取GUI过程解析
Dec 16 Python
python分布式爬虫中消息队列知识点详解
Nov 26 Python
python实现自定义日志的具体方法
May 28 #Python
python 爬取京东指定商品评论并进行情感分析
python b站视频下载的五种版本
May 27 #Python
教你怎么用python selenium实现自动化测试
Python Django框架介绍之模板标签及模板的继承
May 27 #Python
python 算法题——快乐数的多种解法
May 27 #Python
用Python监控你的朋友都在浏览哪些网站?
You might like
我的论坛源代码(六)
2006/10/09 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
2011/07/29 PHP
php中smarty区域循环的方法
2015/06/11 PHP
功能强大的PHP POST提交数据类
2016/07/15 PHP
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
jQuery调用WebService的实现代码
2011/06/19 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
2016/06/28 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
浅析Vue中拆分视图层代码的5点建议
2019/08/15 Javascript
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
package.json各个属性说明详解
2020/03/11 Javascript
浅谈js中的attributes和Attribute的用法与区别
2020/07/16 Javascript
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
python pandas 对series和dataframe的重置索引reindex方法
2018/06/07 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
2018/06/11 Python
python pytest进阶之conftest.py详解
2019/06/27 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
Python如何基于smtplib发不同格式的邮件
2019/12/30 Python
美国最大的旗帜经销商:Carrot-Top
2018/02/26 全球购物
J2EE系统只能是基于web
2015/09/08 面试题
环境工程大学生个人的自我评价
2013/10/08 职场文书
见习期自我鉴定
2013/11/07 职场文书
《夏夜多美》教学反思
2014/02/17 职场文书
业务员的岗位职责
2014/03/15 职场文书
《长相思》听课反思
2014/04/10 职场文书
项目合作协议书范本
2014/04/16 职场文书
大专生自荐书范文
2014/06/22 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
考研英语辞职信
2015/05/13 职场文书
信息技术研修心得体会
2016/01/08 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书