醋醋百科网

Good Luck To You!

Python学不会来打我(99)python除去图片上的文字水印

很多小伙伴在去除图片上的水印时,会使用一些PS工具,或者使用第三方的小程序,但是PS工具需要一些操作技能,第三方的小程序很多都是收费的,而且会泄露图片信息!其实还可以使用python来去除水印,以下是Python去除图片文字水印的3种主流方案及实现代码,综合了Open CV、Pillow和专用库的解决方案:#python##python自学##python教程##opencv#

一、简单水印处理(OpenCV亮度过滤)

适用于白底灰色水印场景,通过亮度阈值分离水印。

关键点:阈值220需根据水印灰度调整,适用于白底灰字水印。

import cv2
import numpy as np
def remove_watermark(image_path, output_path):
     img = cv2.imread(image_path)
     gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
     _, binary = cv2.threshold(gray, 220, 255, cv2.THRESH_BINARY_INV) # 调整220为最佳阈值
     cv2.imwrite(output_path, cv2.bitwise_not(binary))

remove_watermark("watermarked.jpg", "clean.jpg")

二、复杂水印处理(区域修复)

对非均匀背景水印,采用图像修复技术

需手动制作水印区域的掩膜图(PNG透明通道或黑白图)

cv2
def remove_watermark(image_path, mask_path, output_path):
     img = cv2.imread(image_path)
     mask = cv2.imread(mask_path, 0) # 黑白掩膜图(水印区域为白色)
     result = cv2.inpaint(img, mask, 3, cv2.INPAINT_TELEA) # 修复半径设为3
     cv2.imwrite(output_path, result)
remove_watermark("input.jpg", "mask.png", "output.jpg")

三、专用库快速处理(poimage)

针对公众号等平台水印的一键解决方案

# 安装:pip install poimage
import poimage
poimage.del_watermark(
     input_image="watermarked.jpg",
     output_image="clean.jpg" # 自动识别常见半透明水印
)

四,效果对比与选型建议

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言