我正在尝试从图像中删除水印/徽标。当前正在使用cv2.inpaint(img,mask, 100, cv2.INPAINT_TELEA)
库的opencv-contrib-python
函数,并且能够从下面的测试图像1中删除水印。但是相同的代码不适用于下面的测试图像2和3。
测试图片1:[![在此处输入图片说明] [1]] [1]
测试图片2:[![在此处输入图片说明] [2]] [2]
测试图片3:[![在此处输入图片说明] [3]] [3]
蒙版图像:[![在此处输入图像描述] [4]] [4]
当前代码:
import cv2
cv2.namedWindow("Original_Image", cv2.WINDOW_FREERATIO)
cv2.namedWindow("Result", cv2.WINDOW_FREERATIO)
img = cv2.imread('image10.jpeg')
mask = cv2.imread('99acres_mask.jpg', 0)
temp, mask = cv2.threshold(mask, 180, 255, cv2.THRESH_BINARY)
dst = cv2.inpaint(img,mask, 100, cv2.INPAINT_TELEA)
cv2.imwrite("removed_wm.png",dst)
以下是我得到的输出:
输出测试图像1:[![在此处输入图像描述] [5]] [5]
输出测试图像2:[![在此处输入图像描述] [6]] [6]
即使我尝试将dst = cv2.inpaint(img,mask, 100, cv2.INPAINT_TELEA)
中的半径100更改为3、10、25、30、50和其他值,但没有一个起作用。我也将标志INPAINT_TELEA
更改为'INPAINT_NS
仍然没有运气。
有人能帮我从其他图像中去除水印吗?
谢谢。