如何使用Python移除图像中的水印背景

22

我有一张如下的图片:

在此输入图像描述

我想要去掉背景上的水印。

到目前为止,我尝试了opencv中的inpainting方法,但没有帮助。

我尝试了以下脚本:

edges = cv2.Canny(img,50,150,apertureSize = 3)
dst = cv2.inpaint(img,edges,3,cv2.INPAINT_TELEA)

我对图像处理和opencv不熟悉。所以,我不知道我是否在正确的方法上执行修复操作。请问我应该使用什么方法来去除背景水印。

我想从我的图像中删除绿色引号水印。

输入图像描述

任何帮助都将不胜感激。


1
http://davidsteccieblog.blogspot.com/2017/10/removing-watermarks.html - jspcal
@jspcal - 感谢您的评论。我会在尝试了您推荐的博客后再与您联系。 - Mohamed Thasin ah
@jspcal - 对我没用 :( - Mohamed Thasin ah
1
https://dev59.com/m1wY5IYBdhLWcg3w36-G - zindarod
1个回答

42

这里的文字与水印具有不同的强度。您可以尝试进行简单的亮度/对比度转换,即增加增益/对比度直到水印消失,并降低亮度以进行补偿。

请参见OpenCV文档进行简单教程。

以下是使用Python的快速尝试,实际上并没有使用OpenCV,因为对于如此简单的线性转换来说是不需要的。尝试调整alpha(对比度)和beta(亮度)参数,直到获得想要的结果。

import cv2
import numpy as np

img = cv2.imread("veidz.jpg")

alpha = 2.0
beta = -160

new = alpha * img + beta
new = np.clip(new, 0, 255).astype(np.uint8)

cv2.imwrite("cleaned.png", new)

已移除水印


5
这种方法适用于白色背景上的基础文本,如果有带有彩色水印的彩色图片怎么办呢?我尝试过调整对比度和亮度,但没有成功,只会扭曲图像。您能介绍其他可以解决问题的算法吗? - Ravi
这并不是一种通用的去除水印的方法,更多的是想说在图像处理和计算机视觉中,最简单的转换有时可以带你走很远... - filippo
我需要一个可以帮助我去掉图像水印的例子,你能帮我吗?@filippo - Muhammadalive

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接