How to erase the dotted watermark from set of similar images?

拈花ヽ惹草 提交于 2019-12-11 05:22:38

问题


I want to automate the task of entering set of images into a number generating system & before that i like to remove a dotted watermark which is common across these images.

I tried using google, tesseract & abby reader, but I found that the image part that does not contain the watermark is recognized well, but the part that is watermarked is almost impossible to recognize.

I would like to remove the watermark using image processing. I already tried few sample codes of opencv, python, matlab etc but none matching my requirements...

Here is a sample code in Python that I tried which changes the brightness & darkness:

import cv2
import numpy as np
img = cv2.imread("d:\\Docs\\WFH_Work\\test.png")
alpha = 2.5
beta = -250
new = alpha * img + beta
new = np.clip(new, 0, 255).astype(np.uint8)
cv2.imshow("my window", new)

Unusually, i dont know the watermark of this image consists how many pixels. Is there a way to get rid of this watermark OR make digits dark and lower the darkness of watermark via code?

Here is watermarked image


回答1:


I am using dilate to remove the figures, then find the edge to detect watermark. Remove it by main gray inside watermark

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('test.png', 0)

kernel = np.ones((10,10),np.uint8)

dilation = cv2.dilate(img,kernel,iterations = 1) 
erosion = cv2.erode(dilation,kernel,iterations = 1)


plt.imshow(erosion, cmap='gray')
plt.show()

#contour
gray = cv2.bilateralFilter(erosion, 11, 17, 17)
edged = cv2.Canny(gray, 30, 200)

plt.imshow(edged, cmap='gray')
plt.show()



来源:https://stackoverflow.com/questions/57038499/how-to-erase-the-dotted-watermark-from-set-of-similar-images

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!