函数不能对所有类型的图像使用python open删除水印

2024-10-01 22:42:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从图像中删除水印/徽标。目前正在使用cv2.inpaint(img,mask, 100, cv2.INPAINT_TELEA)函数(属于opencv-contrib-python库),我可以从下面的测试图像1中删除水印。但同样的代码不能用于下面的测试图像2和3。在

当前代码:

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)

我得到以下输出:

甚至我也尝试过将半径100在dst = cv2.inpaint(img,mask, 100, cv2.INPAINT_TELEA)中改为3、10、25、30、50和其他值,但都没用。另外,我将标志INPAINT_TELEA改为INPAINT_NS仍然没有运气。在

还有谁能帮我去除其他图像上的水印吗。在

提前谢谢。在


Tags: 代码图像imgmaskwindowcv2dst徽标

热门问题