利用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爬虫之打包生成exe文件
Nov 06 Python
用Python下载一个网页保存为本地的HTML文件实例
May 21 Python
Python Flask前后端Ajax交互的方法示例
Jul 31 Python
python中的tcp示例详解
Dec 09 Python
Python学习笔记之文件的读写操作实例分析
Aug 07 Python
pytorch 实现tensor与numpy数组转换
Dec 27 Python
opencv python在视屏上截图功能的实现
Mar 05 Python
Django获取model中的字段名和字段的verbose_name方式
May 19 Python
详解anaconda离线安装pytorchGPU版
Sep 08 Python
python 如何实现遗传算法
Sep 22 Python
Python项目打包成二进制的方法
Dec 30 Python
pytorch实现ResNet结构的实例代码
May 17 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
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
CI操作cookie的方法分析(基于helper类库)
2016/03/28 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
Laravel Reponse响应客户端示例详解
2020/09/03 PHP
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
nodejs个人博客开发第四步 数据模型
2017/04/12 NodeJs
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
JS实现的贪吃蛇游戏完整实例
2019/01/18 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
2019/04/22 Javascript
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
python 读取摄像头数据并保存的实例
2018/08/03 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
解决Jupyter无法导入已安装的 module问题
2020/04/17 Python
详解python tkinter 图片插入问题
2020/09/03 Python
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
广州盈通面试题
2015/12/05 面试题
建筑人员岗位职责
2013/12/25 职场文书
大课间活动制度
2014/01/18 职场文书
怎样写好创业计划书的内容
2014/02/06 职场文书
2014年五四青年节活动方案
2014/03/29 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
学校三节实施方案
2014/06/09 职场文书
律师函格式范本
2015/05/27 职场文书
仙境之桥观后感
2015/06/16 职场文书
MySQL数据迁移相关总结
2021/04/29 MySQL
pytorch实现ResNet结构的实例代码
2021/05/17 Python