我正在尝试cv2.inpaint,如果您自己添加水印,然后使用cv2.inpaint,结果是完美的。
但是,如果我像下面这样使用网络图像:
源图像

水印图像

结果很糟糕。
这是代码
zhihuimage = cv2.imread('../input/zhihumask/OpenCV_11.jpg')
zhihuwatermask = cv2.imread('../input/zhihumask/OpenCV_22.jpg')
# remove watermark with mark
zhihuwatermask = cv2.cvtColor(zhihuwatermask, cv2.COLOR_BGR2GRAY)
zhihuoutput = cv2.inpaint(zhihuimage, zhihuwatermask,3, flags= cv2.INPAINT_NS)发布于 2021-10-13 17:00:54
似乎水印掩码和图像中的水印是不对齐的,您可以扩大掩模以补偿小错误对齐。
适当删除水印的扩展代码:
zhihuimage = cv2.imread('../input/zhihumask/OpenCV_11.jpg')
zhihuwatermask = cv2.imread('../input/zhihumask/OpenCV_22.jpg',cv2.IMREAD_GRAYSCALE)
# remove watermark with mark
dilatekernel = np.ones((5, 5), 'uint8')
zhihuwatermask = cv2.dilate(zhihuwatermask, dilatekernel)
zhihuoutput = cv2.inpaint(zhihuimage, zhihuwatermask, 3, flags=cv2.INPAINT_NS)https://stackoverflow.com/questions/69551664
复制相似问题