新闻详情

新闻详情

首页 / 资讯中心 / 详情

图片盲水印实践:blind_watermark 3 分钟嵌入与提取

发布时间:2026/9/12 9:44:43来源:尧图网络
图片盲水印实践:blind_watermark 3 分钟嵌入与提取
图片盲水印实践blind_watermark 3 分钟嵌入与提取【免费下载链接】blind_watermarkBlindInvisible Watermark 图片盲水印提取水印无须原图项目地址: https://gitcode.com/GitHub_Trending/bl/blind_watermark从一次盗图说起刚发出去的原创照片被别人原样搬走想自证版权却拿不出证据——这是创作者常遇到的情况。如果图片在发布前就悄悄带着一段只有自己能解开的信息被搬走也能追回来。blind_watermark 这个开源项目做的就是这件事往图片里写入一段隐形水印提取时不依赖原图只需要那张被打过水印的图加上密码。下面直接动手。blind_watermark 安装与最小示例依赖只有 numpy、opencv、PyWavelets一行命令装好pip install blind-watermark装完自带一个命令行工具blind_watermark嵌入和提取各一条命令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 111提取时必须知道水印的长度这个值在嵌入时已经打印出来了要自己记下来。如果习惯写代码Python 接口更灵活支持文字、图片、比特流三种水印内容from blind_watermark import WaterMark bwm WaterMark(password_img1, password_wm1) bwm.read_img(examples/pic/ori_img.jpeg) bwm.read_wm(这是一段水印, modestr) bwm.embed(out.png) len_wm len(bwm.wm_bit) # 记下长度提取时要传 bwm2 WaterMark(password_img1, password_wm1) print(bwm2.extract(out.png, wm_shapelen_wm, modestr))旋转、裁剪、加噪后水印还能提取吗项目的示例脚本 examples/example_str.py 内置了一组攻防测试水印是guofei9987 开源万岁三种有代表性的情况旋转 60° 再转回来调用att.rot_att正向旋转、反向旋转各一次对还原后的图提取结果与原文字完全一致。随机裁剪加缩放从图中剪出一块并缩放 0.7 倍模拟截图行为。知道裁剪参数时直接按参数补回不知道参数时recover.py里的estimate_crop_parameters能自动估计出裁剪区域和缩放比例再还原、提取同样拿到原文字。椒盐噪声5% 像素变白直接对被打噪的图提取无需任何预处理结果一致。遮挡、亮度调整、多方向裁剪等场景也都在同一脚本里覆盖断言全部通过。也就是说常规的图片传播损伤基本不影响使用。背后原理DWT-DCT-SVD 各做了什么核心算法在 blind_watermark/bwm_core.py流程分四步。先把图片转成 YUV对每个通道做 Haar 小波变换DWT取低频分量低频分量按 4×4 分块每块再做 DCT 变换到频率域然后对每块做 SVD 分解把水印位0/1以固定步长写进前两个奇异值上——步长d136、d220越大鲁棒性越强代价是图像失真越大最后逆 SVD、逆 DCT、逆 DWT 还原成像素。同一位水印还会循环写入所有块、三个通道各写一遍提取时取平均再聚类判位所以丢一部分块裁剪、遮挡也不至于全军覆没。实用提醒水印长度必须记牢extract的wm_shape是必填项CLI 里对应--wm_shape丢了就无法提取。密码要成对保管password_img决定水印写在哪些块、哪些位置password_wm决定比特顺序提取时两个都得一致。CLI 方式只设了password_img。图片尺寸决定容量可嵌入位数约等于(高/8) × (宽/8)图片太小或水印太长会直接抛溢出异常选载体前先算一下。先存 PNG 再走 JPEG嵌入后建议先存无损格式再压缩分发每多一道有损压缩容错余量就少一点。项目入口仓库地址需要 clone 时git clone https://gitcode.com/GitHub_Trending/bl/blind_watermark核心源码blind_watermark/bwm_core.py嵌入/提取算法、blind_watermark/blind_watermark.py对外 API中文文档与效果展示docs/zh/README.md完整攻防示例examples/example_str.py把水印写进图里再提取出来只需几行代码密码和长度记好这套流程就可以直接用在日常发布流程里了。【免费下载链接】blind_watermarkBlindInvisible Watermark 图片盲水印提取水印无须原图项目地址: https://gitcode.com/GitHub_Trending/bl/blind_watermark创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Android自动化测试:UIAutomatorViewer元素定位实战指南 2026/9/12 10:17:48

Android自动化测试:UIAutomatorViewer元素定位实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
CMSIS-4静态工程:裸金属确定性开发的核心标准 2026/9/12 10:17:48

CMSIS-4静态工程:裸金属确定性开发的核心标准

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
[AutoSar] TLF38854 产品对SBC的一般需求(一) 2026/9/12 10:17:48

[AutoSar] TLF38854 产品对SBC的一般需求(一)

目录关键词平台说明一、背景二、需求1.SPI2. 故障监控和错误报警部分2.1 SPI状态监控。2.2 LDO_μC电压监控。2.3 LDO_Com电压监控。2.4 Volt_Ref电压监控。2.5 Tracker1/2电压监控。2.6 LDO_μC温度监控。2.7 LDO_Com温度监控。2.8 Volt_Ref温度监控。2.9 Tracker1/2温度监控。…

阅读更多 →
智能豆浆机程序开发:蛋白质析出优化与口感控制 2026/9/12 10:17:48

智能豆浆机程序开发:蛋白质析出优化与口感控制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
9款AI工具助力专科毕业论文高效写作 2026/9/12 10:17:48

9款AI工具助力专科毕业论文高效写作

1. 论文写作困境与AI工具的崛起 又到了毕业季,看着电脑屏幕上闪烁的光标和空白的文档,你是不是也经历过那种"论文写不动"的绝望感?作为一名指导过上百篇毕业论文的导师,我太了解学生们在论文写作各个阶段遇到的困境了。…

阅读更多 →
DWT与SPIHT联合技术在图像安全传输中的应用与优化 2026/9/12 10:14:47

DWT与SPIHT联合技术在图像安全传输中的应用与优化

1. 项目概述:DWT与SPIHT联合技术在图像安全传输中的应用价值 在数字图像爆炸式增长的今天,医疗影像的平均大小已达到16-64MB/幅,而4K监控视频流每小时产生约50GB数据。传统"先压缩后加密"的处理方式存在两大痛点:加密后…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞