
去水印程序代碼

以下是一個基于Python的簡單去水印示例代碼,使用OpenCV處理圖片水印。請確保您有權處理該圖片水印:```pythonimport cv2import numpy...
以下是一個基于Python的簡單去水印示例代碼,使用OpenCV處理圖片水印。請確保您有權處理該圖片水印:
```python
import cv2
import numpy as np
def remove_watermark(input_path, output_path, watermark_pos=(100, 100, 100, 100)):
"""
刪除已知位置的水印(坐標為左上角x,y,寬w,高h)
參數:input_path 輸入圖片路徑
output_path 輸出圖片路徑
watermark_pos 水印位置元組 (x, y, width, height)
"""
讀取圖片
img = cv2.imread(input_path)
if img is None:
raise ValueError("無法讀取圖片文件")
創(chuàng)建透明背景(假設水印為半透明格式)
watermark_area = img[watermark_pos[1]:watermark_pos[1]+watermark_pos[3],
watermark_pos[0]:watermark_pos[0]+watermark_pos[2]]
獲取透明通道(如果存在)
alpha = watermark_area[:, :, 3] if len(watermark_area.shape) == 3 else None
創(chuàng)建透明背景區(qū)域
transparent Background = np.zeros((watermark_pos[3], watermark_pos[2], 4), dtype=np.uint8)
合并處理
if alpha is not None:
保留透明通道(適用于PNG格式)
new_area = cv2.merge([watermark_area[:, :, :3], alpha])
else:
假設為不透明水印
new_area = watermark_area
替換水印區(qū)域
img[watermark_pos[1]:watermark_pos[1]+watermark_pos[3],
watermark_pos[0]:watermark_pos[0]+watermark_pos[2]] = transparent Background
保存結果
cv2.imwrite(output_path, img)
print(f"水印已移除,保存至 {output_path
本文鏈接:http://www.wzyaohuidianqi.cn/gong/444680.html
上一篇:電腦免費視頻去水印軟件
