# nowatermark
## Overview
remove watermark.
根据水印模板图片自动寻找并去除图片中对应的水印,利用 Python 和 OpenCV 快速实现。
## Install
### Mac OS Install OpenCV for Python3
- with-python3用来告诉homebrew用来让opencv支持python3,
- C++11 用来告诉homebrew提供c++11支持,
- with-contrib 用来安装opencv的contrib支持。
```bash
$ brew install opencv3 --without-python --with-python3 --c++11 --with-contrib
```
Verifying the installation:
```python
import cv2
print(cv2.__version__)
```
If you got this error: "ImportError: No module named 'cv2'", then your symlink might be corrupted, you need to link your opencv to python site-packages:
```bash
$ brew link --force opencv3
```
### Install nowatermark
```bash
$ pip3 install nowatermark
```
## Usage
```python
from nowatermark import WatermarkRemover
path = './data/'
watermark_template_filename = path + 'anjuke-watermark-template.jpg'
remover = WatermarkRemover()
remover.load_watermark_template(watermark_template_filename)
remover.remove_watermark(path + 'anjuke3.jpg', path + 'anjuke3-result.jpg')
remover.remove_watermark(path + 'anjuke4.jpg', path + 'anjuke4-result.jpg')
```
---
---
## Procedure
### Feature Matching(特征匹配)
* 对水印模板图片进行了一些初始化处理,比如二值化后去除非文字部分等
* 尝试了 OpenCV 的多种算法
- 比如 ORB + Brute-Force,即蛮力匹配,对应 cv2.BFMatcher() 方法
- 比如 SIFT + FLANN,即快速最近邻匹配,对应 cv2.BFMatcher() 方法
- 比如 Template Matching,即模板匹配,对应 cv2.matchTemplate() 方法
* 最后发现 Template Matching 最简单方便,效果也最好。
* 如果水印位置固定的话则可以跳过Feature Matching(特征匹配),直接进行下一步的Inpainting(图片修复)
### Inpainting(图片修复)
* 修复图片前需要做一些前置处理
- 首先要得到图片的去水印 Mask 图片,即和待处理图片一样大小的除了水印部分的文字部分外其他部分全部是黑色的位图
- 因为前面对水印做了二值化等处理,最终效果发现会有水印轮廓,所以需要对 Mask 图片做一次膨胀处理覆盖掉轮廓
* 选用了Telea在2004年提出的Telea算法,即基于快速行进(FMM)的修复算法
- 对应 cv2.inpaint(img, mask, 5, cv2.INPAINT_TELEA)
- 对应论文:[An Image Inpainting Technique Based on the Fast Marching Method (2004)](http://www.cs.rug.nl/~alext/PAPERS/JGT04/paper.pdf)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【作品名称】:基于利用 Python 和 OpenCV 快速实现根据水印模板图片自动寻找并去除图片中对应的水印(已测试可以使用) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:基于利用 Python 和 OpenCV 快速实现根据水印模板图片自动寻找并去除图片中对应的水印(已测试可以使用)
资源推荐
资源详情
资源评论
收起资源包目录
nowatermark-code.zip (25个子文件)
nowatermark-code
.travis.yml 193B
setup.py 876B
.coveragerc 24B
nowatermark
__init__.py 119B
WatermarkRemover.py 6KB
data
anjuke4.jpg 48KB
anjuke2.jpg 90KB
anjuke-watermark-template.jpg 6KB
anjuke3-result.jpg 97KB
anjuke4-result.jpg 74KB
anjuke2-result.jpg 94KB
anjuke3.jpg 95KB
tests
test_WatermarkRemover.py 607B
demo
demo.py 465B
.idea
dictionaries
C.xml 203B
nowatermark.iml 455B
vcs.xml 180B
workspace.xml 22KB
misc.xml 276B
inspectionProfiles
Project_Default.xml 880B
modules.xml 274B
preferred-vcs.xml 172B
requirements.txt 10B
.gitignore 1KB
README.md 2KB
共 25 条
- 1
资源评论
MarcoPage
- 粉丝: 3291
- 资源: 3936
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功