Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenCV Inpaint未从图像Python2.7中删除水印_Python_Python 2.7_Opencv - Fatal编程技术网

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实现