使用python

时间:2017-09-06 14:15:20

标签: python opencv image-processing

我想使用python从图像中检测和删除水印。我试过opencv但是无法做到。以下是示例图像。这里的时间是所有图像上的水印。 Image attached here

附加示例代码

#coding:utf-8
import os
import os.path
#import Image

def hasBlackAround(x, y, distance, img):
    w, h = img.size
    startX = 0 if x - distance < 0 else x - distance
    startY = 0 if y - distance < 0 else y - distance
    endX = w - 1 if x + distance > w - 1 else x + distance
    endY = h - 1 if y + distance > h - 1 else y + distance
    hasBlackAround = False
    for j in range(startX, endX):
        for k in range(startY, endY):
            r, g, b = img.getpixel((j, k))
            #if r < 130 and g < 130 and b < 130:
            if r >= 255 and g >= 255 and b >= 255:

               return True
   return False

from PIL import Image

img = Image.open("E:/Projects/Analysis/unnamed.png")
w, h = img.size
rgb_im = img.convert('RGB')
for x in range(0, w - 1):
   for y in range(0, h - 1):
       if not hasBlackAround(x, y, 1, rgb_im):
           rgb_im.putpixel((x, y), (255,255,255))
rgb_im.save("E:/Projects/Analysis/1_output_v1.jpg")

有关图片的其他资讯: 它总是在左下角 它是透明的 3.颜色总是一样的

1 个答案:

答案 0 :(得分:0)

修补技术通过填充图像中的任何间隙来重建图像。

请尝试在opencv中使用inpainting方法:

cv2.inpaint()

http://docs.opencv.org/3.0-beta/modules/photo/doc/inpainting.html