资讯动态

盲水印三种模式怎么选?blind_watermark 选型与实战

发布时间:2026/9/12 9:30:24 来源:尧图企业网站定制
盲水印三种模式怎么选blind_watermark 选型与实战【免费下载链接】blind_watermarkBlindInvisible Watermark 图片盲水印提取水印无须原图项目地址: https://gitcode.com/GitHub_Trending/bl/blind_watermark如果你希望给图片留下版权痕迹又不想改动原图观感blind_watermark 是一个现成方案它把文字、logo 图片或二进制数据做成盲水印嵌入图像提取时不需要原图只需要密码和一点参数。下面按真实使用场景讲清楚三种模式的取舍并给你一套可直接跑的最小流程。图片被盗后为什么很难证明是你的常见场景作品发出去后被搬运对方裁掉署名、重新压缩、二次分发。你手里只剩截图申诉图片本身没有留下任何可验证的证据。可见水印角落 logo容易被裁剪和修图抹掉盲水印走的是另一条路在频域改动像素肉眼看不出差别但用密钥就能从图片里解出信息。blind_watermark 基于 DWT-DCT-SVD 实现提取不依赖原图且水印经过密码打乱没有密码的人拿到图也解不出内容。先看结论三种模式各是什么blind_watermark 的水印入口支持三种内容类型走同一套嵌入与提取流程模式嵌入内容一句话定位str一段文字署名最快提取直接还原文本img一张小图logo、二维码品牌信息按像素还原bit一串 True/False藏自定义比特序列可做指纹、编号嵌入和提取的核心逻辑都在 blind_watermark/bwm_core.py 里。不想写代码的话命令行入口在 blind_watermark/cli_tools.py。品牌保护先看图模式logo 藏进产品图 ️很多人以为盲水印主要是藏文字但品牌场景里图模式用得更多把公司 logo 或二维码嵌进产品图、宣传图肉眼不可见图片被转载后仍能解出原始小图用来追溯来源。仓库里 examples/example_img.py 就是完整演示在仓库根目录运行python examples/example_img.py它会读取examples/pic/ori_img.jpeg与examples/pic/watermark.png先嵌入再提取出一张水印图。注意图模式提取时必须传入水印的长宽wm_shape这是最容易被漏掉的参数。文字模式一行署名一条命令只需要放一句署名或版权声明时文字模式最省事。以命令行方式为例一条命令完成嵌入blind_watermark --embed --pwd 1234 examples/pic/ori_img.jpeg watermark text examples/output/embedded.png文字会先编码成比特序列、再按密码pwd打乱后嵌入密码不参与嵌入就无法解出。封装类在 blind_watermark/blind_watermark.py想在自己的代码里调用看这个文件里的read_wm(modestr)和extract()就够。二进制模式藏一段自定义比特二进制模式接受 True/False 数组适合把自定义编码、图片编号或校验位藏进图里自由度最高也常被拿来做数字指纹。examples/example_bit.py 演示了 10 个比特的嵌入与提取python examples/example_bit.py即可运行。提取结果是浮点数组以 0.5 为阈值判定 0/1这一点在 README.md 里有说明。图片被遮挡压缩后水印还解得出来吗最能说明问题的就是攻击测试。仓库 docs 目录放了原图与加水印后的图对比两张肉眼看几乎一致接着做攻击。项目自带一整组攻击模拟旋转、缩放、裁剪、椒盐、亮度、遮挡代码集中在 blind_watermark/att.py。以多遮挡为例按 10% 比例随机贴 60 块遮挡对这张图提取得到的文字水印仍是嵌入时的原句。旋转、缩放、裁剪、椒盐噪声、亮度调整也都各有对应样例完整结果表见 README.md 中的攻击对照表。三步跑起来 ✅第一步拿到代码git clone https://gitcode.com/GitHub_Trending/bl/blind_watermark第二步装依赖pip install -r requirements.txt第三步在仓库根目录执行最小文字水印命令blind_watermark --embed --pwd 1234 examples/pic/ori_img.jpeg watermark text examples/output/embedded.png随后用配套命令提取blind_watermark --extract --pwd 1234 --wm_shape 111 examples/output/embedded.png。其中wm_shape是水印比特长度嵌入时会打印出来提取时原样填回即可。什么需求配什么模式一张表说清你的需求建议模式备注文章、作品加署名和版权声明str 文字一条命令完成提取直接还原文本产品图、宣传图嵌 logo 或二维码img 图片提取时记得传wm_shape批量图片溯源、自定义编号指纹bit 二进制比特序列自己定义可接编码协议图片会经历压缩、裁剪、旋转再分发任意模式先拿 examples/ 里的攻击样例验证一轮下一步动作挑一个离你需求最近的 examples/ 脚本跑一遍嵌入、攻击、提取的完整链路都能看到。想调密码、块尺寸block_shape、并行进程数这些参数去 docs/ 查官方文档即可。【免费下载链接】blind_watermarkBlindInvisible Watermark 图片盲水印提取水印无须原图项目地址: https://gitcode.com/GitHub_Trending/bl/blind_watermark创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价