python watermark初体验

  |   0 评论   |   0 浏览

背景

invisible-watermark是一个python库,也是一个命令行工具,可以给图片添加不可见的水印。

初体验

加水印

import cv2
from imwatermark import WatermarkEncoder

bgr = cv2.imread('test.png')
wm = 'test'

encoder = WatermarkEncoder()
encoder.set_watermark('bytes', wm.encode('utf-8'))
bgr_encoded = encoder.encode(bgr, 'dwtDct')

cv2.imwrite('test_wm.png', bgr_encoded)

提取水印

import cv2
from imwatermark import WatermarkDecoder

bgr = cv2.imread('test_wm.png')

decoder = WatermarkDecoder('bytes', 32)
watermark = decoder.decode(bgr, 'dwtDct')
print(watermark.decode('utf-8'))

测试结果

  1. 使用png图片,部分图片可以准确提取到水印,另外的图片提供的内容为空。

参考

  1. invisible-watermark@github