from blind_watermark import att # 缩放攻击 att.resize_att('output/打上水印的图.png', 'output/缩放攻击.png', out_shape=(800, 600)) att.resize_att('output/缩放攻击.png', 'output/缩放攻击_还原.png', out_shape=(1920, 1200)) # out_shape 是分辨率,需要颠倒一下 # %%提取水印 from blind_watermark import WaterMark bwm1 = WaterMark(4399, 2333, 36, 20, wm_shape=(128, 128)) bwm1.extract("output/缩放攻击_还原.png", "output/缩放攻击_提取水印.png")
# -*- coding: utf-8 -*- # run origin.py to generate the embedded image from blind_watermark import att import numpy as np # 一次纵向裁剪打击 att.cut_att_height('output/embedded.png', 'output/纵向裁剪攻击.png', ratio=0.5) att.anti_cut_att('output/纵向裁剪攻击.png', 'output/纵向裁剪攻击_填补.png', origin_shape=(1200, 1920)) # %%纵向裁剪打击.png from blind_watermark import WaterMark bwm1 = WaterMark(password_wm=1, password_img=1) bwm1.extract(filename="output/纵向裁剪攻击_填补.png", wm_shape=(128, 128), out_wm_name="output/纵向裁剪攻击_提取水印.png")
print("开发者:evenif/风栖木兮") print("开源代码地址:https://github.com/guofei9987/blind_watermark") print("程序开始运行:") print("如程序出错,请检查你的输入内容,重新打开此程序即可") print("请注意,本程序需要和其下文件夹配合工作他们分别是:\n yuantu:放置原图\n shuiyin;存放水印\n jiemi存放等待解密文件\n shuichu输出文件夹\n 复制此程序时,请直接打包本程序所在文件夹") #选择工作模式 #选择引擎 print("请选择程序工作模式:\n 1: 默认工作模式(自动添加一定数量水印)\n 2: 自定义模式(请在文件夹添加你的自定义水印)\n 3: 水印解密模式(需要输入密码)") work_mode = int(input("请输入序号")) if work_mode == 1: print("默认工作模式:") password_wm = int(input("请输入水印加密密码,(请记住此密码,解密时需要)只可以任意长度数字即可:\n")) password_img = int(input("请输入原图加密密码,(请记住此密码,解密时需要)只可以任意长度数字即可:\n")) bwm1 = WaterMark(password_wm, password_img) print("请将你的原图放置于yuantu文件夹下") yuantu_name_head = str(input("输入你的原图文件名,要带后缀哦,比如:“测试图.png“:\n")) yuantu_name = 'yuantu/'+yuantu_name_head print("正在寻找"+yuantu_name+"文件") bwm1.read_img(yuantu_name) shu_liang = int(input("输入你想生成的图片数量,目前最大支持50张哦\n")) i = 1 int(i) int(shu_liang) while i < shu_liang+1: ge_shi = str('.png') shuiyin_tu = str('shuiyin/wm_') shuiyin_name = shuiyin_tu+str(i)+ge_shi shuchu_tu = str('shuchu/img_') shuchu_name = shuchu_tu+str(i)+"_"+yuantu_name_head