Ejemplo n.º 1
0
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")
Ejemplo n.º 2
0
# -*- 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")
Ejemplo n.º 3
0
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