OpenCV去除水印
我想去掉这个水印,我试了很多方法,但都没成功,有什么好主意吗?这是我的代码:
if __name__ == '__main__':
img = cv2.imread("doc.jpg")
cv2.imshow("Image With Water Mark", img)
img1 = cv2.imread("doc.jpg")
_, thresh = cv2.threshold(img1, 150, 255, cv2.THRESH_BINARY)
#cv2.imshow('Image Without Water Mark', thresh)
cv2.imshow('Image Without Water Mark', thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()
这是结果:
有没有什么解决这个问题的想法?
1 个回答
3
这个方法效果还不错。不过可能还需要进一步的平滑处理。文本基本上都是黑白的,但水印是灰色的。所以,要把所有黑色度低于60%的部分变成白色。
from PIL import Image
x = Image.open('vodRX.jpg')
x1 = x.convert('L')
x2 = x1.point( lambda p: (p > 100) * 255 )
x2.save('after.jpg')
不过,要注意你这样做可能是违法的。他们加水印是有原因的。