OpenCV Inpaint未从图像Python2.7中删除水印
我尝试了以下代码:OpenCV Inpaint未从图像Python2.7中删除水印,python,python-2.7,opencv,Python,Python 2.7,Opencv,我尝试了以下代码: #!/usr/bin/env python ''' Inpainting sample. Inpainting repairs damage to images by floodfilling the damage with surrounding image areas. Usage: inpaint.py [<image>] Keys: SPACE - inpaint r - reset the inpainting mask
#!/usr/bin/env python
'''
Inpainting sample.
Inpainting repairs damage to images by floodfilling
the damage with surrounding image areas.
Usage:
inpaint.py [<image>]
Keys:
SPACE - inpaint
r - reset the inpainting mask
ESC - exit
'''
# Python 2/3 compatibility
from __future__ import print_function
import numpy as np
import cv2
from common import Sketcher
if __name__ == '__main__':
import sys
try:
fn = sys.argv[1]
except:
fn = '../data/fruits.jpg'
print(__doc__)
img = cv2.imread(fn)
if img is None:
print('Failed to load image file:', fn)
sys.exit(1)
img_mark = img.copy()
mark = np.zeros(img.shape[:2], np.uint8)
sketch = Sketcher('img', [img_mark, mark], lambda : ((255, 255, 255), 255))
while True:
ch = cv2.waitKey()
if ch == 27:
break
if ch == ord(' '):
res = cv2.inpaint(img_mark, mark, 3, cv2.INPAINT_TELEA)
cv2.imshow('inpaint', res)
if ch == ord('r'):
img_mark[:] = img
mark[:] = 0
sketch.show()
cv2.destroyAllWindows()
#/usr/bin/env python
'''
修补样品。
修补修复了洪水填充造成的图像损坏
与周围图像区域的损坏。
用法:
inpaint.py[]
钥匙:
空间修复
r-重置修复遮罩
电子稳定控制系统-出口
'''
#Python 2/3兼容性
来自未来导入打印功能
将numpy作为np导入
进口cv2
从通用导入Sketcher
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
导入系统
尝试:
fn=sys.argv[1]
除:
fn='../data/fruits.jpg'
打印(文档)
img=cv2.imread(fn)
如果img为无:
打印('加载图像文件失败:',fn)
系统出口(1)
img_mark=img.copy()
标记=np.零(图像形状[:2],np.uint8)
草图=草图绘制者('img',[img_标记,标记],lambda:((255,255,255),255))
尽管如此:
ch=cv2.waitKey()
如果ch==27:
打破
如果ch==ord(“”):
res=cv2.维修(img_标记,标记,3,cv2.维修电话)
cv2.imshow(“修复”,res)
如果ch==ord('r'):
img_标记[:]=img
标记[:]=0
sketch.show()
cv2.destroyAllWindows()
但是我得到的输出是准确的图像和水印可用的。我猜inpaint能够从图像中删除任何水印。但就我而言,这听起来完全失败了
以下是我尝试删除水印的图像:
为什么要从图像中删除水印?看看这个,然后再想想你是否真的应该这样做。@Sunreef我所尝试的不是转售或做任何恶作剧的活动与形象。我只想去掉水印,制作一个画廊,不是为了重复使用,而是为了展示。然后我将保留一个机制,将图像链接到其源。完全归功于造物主。但目前我正在尝试学习如何删除这个水印,以及如何创建一个非常难以删除的水印。这个水印看起来像是亮度的简单变化。找到水印掩码,并将其中的像素强度降低一些proportion@MartinBeckett这在openCV中可行吗。。我有点怀疑。它看起来不像一个完美的数学螺旋,所以你可能会用canny+contour检测到它,然后在里面手动选择一个点来制作一个面具。所有这些都可以通过OpenCVE实现为什么要从图像中删除水印?看看这个,然后再想想你是否真的应该这样做。@Sunreef我所尝试的不是转售或做任何恶作剧的活动与形象。我只想去掉水印,制作一个画廊,不是为了重复使用,而是为了展示。然后我将保留一个机制,将图像链接到其源。完全归功于造物主。但目前我正在尝试学习如何删除这个水印,以及如何创建一个非常难以删除的水印。这个水印看起来像是亮度的简单变化。找到水印掩码,并将其中的像素强度降低一些proportion@MartinBeckett这在openCV中可行吗。。我有点怀疑。它看起来不像一个完美的数学螺旋,所以你可能会用canny+contour检测到它,然后在里面手动选择一个点来制作一个面具。所有这些都可以通过opencv实现