小编Leo*_*o B的帖子

在Python中从图像中获取水印掩码

给定一系列带水印的照片,我想隔离水印并生成蒙版。

我正在使用 Python 和 numpy。

我已将图片叠加在一起:

def compare_n_img(array_of_img_paths):

img_float_array = []

for path in array_of_img_paths:
    img_float_array.append(load_img_as_float(path))

additionF = sum(img_float_array)/len(img_float_array)

addition = additionF.astype('uint8')

return addition
Run Code Online (Sandbox Code Playgroud)

转换为灰度后,得到了这个合成图像

水印在该合成图中清晰可见。对于人类来说,很容易追踪。

我想要的结果是一个白色图像,水印的形状填充为黑色。因此,如果我用蒙版覆盖一张带水印的图像,水印将被完全覆盖。

我尝试在合成图像上使用边缘检测和阈值处理。但我一直无法找到一种方法来以编程方式隔离水印内容。更不用说创建透明蒙版了。

如果可能的话,我想在纯 numpy 或 cv2 中执行此操作。

python opencv watermark numpy edge-detection

4
推荐指数
1
解决办法
1178
查看次数

标签 统计

edge-detection ×1

numpy ×1

opencv ×1

python ×1

watermark ×1