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


Posted in Python onJune 04, 2018

图片修复程序-可用于水印去除

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

答案是肯定的,依然是被我们用了无数次的OpenCV这款优秀的框架。

OpenCV

目前,OpenCV逐步成为一个通用的基础研究和产品开发平台。OpenCV这一名称包含了Open和 Computer Vision两者的意思。实际上,Open指Open Source(开源,即开放源代码),Computer Vision则指计算机视觉。OpenCV的发展对软件的开发具有重要影响。想要了解更多的话大家可以参考这篇文章:https://3water.com/article/127911.htm

效果预览

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

图片修复原理

那OpenCV究竟是怎么实现的,简单的来说就是开发者标定噪声的特征,在使用噪声周围的颜色特征推理出应该修复的图片的颜色,从而实现图片修复的。

程序实现解析

  • 标定噪声的特征,使用cv2.inRange二值化标识噪声对图片进行二值化处理,具体代码:cv2.inRange(img, np.array([240, 240, 240]), np.array([255, 255, 255])),把[240, 240, 240]~[255, 255, 255]以外的颜色处理为0;
  • 使用OpenCV的dilate方法,扩展特征的区域,优化图片处理效果;
  • 使用inpaint方法,把噪声的mask作为参数,推理并修复图片;

完整代码

#coding=utf-8
#图片修复

import cv2
import numpy as np

path = "img/inpaint.png"

img = cv2.imread(path)
hight, width, depth = img.shape[0:3]

#图片二值化处理,把[240, 240, 240]~[255, 255, 255]以外的颜色变成0
thresh = cv2.inRange(img, np.array([240, 240, 240]), np.array([255, 255, 255]))

#创建形状和尺寸的结构元素
kernel = np.ones((3, 3), np.uint8)

#扩张待修复区域
hi_mask = cv2.dilate(thresh, kernel, iterations=1)
specular = cv2.inpaint(img, hi_mask, 5, flags=cv2.INPAINT_TELEA)

cv2.namedWindow("Image", 0)
cv2.resizeWindow("Image", int(width / 2), int(hight / 2))
cv2.imshow("Image", img)

cv2.namedWindow("newImage", 0)
cv2.resizeWindow("newImage", int(width / 2), int(hight / 2))
cv2.imshow("newImage", specular)
cv2.waitKey(0)
cv2.destroyAllWindows()

图片扩展与腐蚀更多资料:http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_morphological_ops/py_morphological_ops.html

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python使用random和tertools模块解一些经典概率问题
Jan 28 Python
python 中的list和array的不同之处及转换问题
Mar 13 Python
python 请求服务器的实现代码(http请求和https请求)
May 25 Python
用Python一键搭建Http服务器的方法
Jun 01 Python
python实现简单加密解密机制
Mar 19 Python
Pandas之MultiIndex对象的示例详解
Jun 25 Python
详解python实现小波变换的一个简单例子
Jul 18 Python
Python 多线程其他属性以及继承Thread类详解
Aug 28 Python
tensorflow安装成功import tensorflow 出现问题
Apr 16 Python
如何在Anaconda中打开python自带idle
Sep 21 Python
django上传文件的三种方式
Apr 29 Python
Python中request的基本使用解决乱码问题
Apr 12 Python
python实现requests发送/上传多个文件的示例
Jun 04 #Python
python3写的简单本地文件上传服务器实例
Jun 04 #Python
Python装饰器的执行过程实例分析
Jun 04 #Python
使用Python监控文件内容变化代码实例
Jun 04 #Python
Python操作mongodb的9个步骤
Jun 04 #Python
Python中property函数用法实例分析
Jun 04 #Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
Jun 04 #Python
You might like
浅析PHP绘图技术
2013/07/03 PHP
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
yii2.0实现创建简单widgets示例
2016/07/18 PHP
php json相关函数用法示例
2017/03/28 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
2017/09/29 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
根据分辩率调用不同的CSS.
2007/01/08 Javascript
Javascript日期对象的dateAdd与dateDiff方法
2008/11/18 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
在localStorage中存储对象数组并读取的方法
2016/09/24 Javascript
node.js操作mysql简单实例
2017/05/25 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
vue 判断元素内容是否超过宽度的方式
2020/07/29 Javascript
python逐行读取文件内容的三种方法
2014/01/20 Python
Python中文件操作简明介绍
2015/04/13 Python
python从sqlite读取并显示数据的方法
2015/05/08 Python
Python 12306抢火车票脚本
2018/02/07 Python
Python 串口读写的实现方法
2019/06/12 Python
Python利用pandas处理Excel数据的应用详解
2019/06/18 Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
2020/02/17 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
Python range与enumerate函数区别解析
2020/02/28 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
浅谈Selenium+Webdriver 常用的元素定位方式
2021/01/13 Python
Python使用tkinter制作在线翻译软件
2021/02/22 Python
微观物理专业自荐信
2014/01/26 职场文书
小学庆六一活动总结
2014/08/28 职场文书
战略性融资合作协议书范本
2014/10/17 职场文书