【计算机视觉40例】案例03:数字水印

本文介绍了数字水印的概念,包括载体图像、水印图像等要素,以及其在图像中的嵌入和提取过程。通过示例详细阐述了如何在图像中隐藏和恢复信息,展示了数字水印在版权保护和信息隐藏中的应用。书中提供了相关案例的源代码和视频教程,帮助读者深入理解这一技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导读】本文是专栏《计算机视觉40例简介》的第3个案例《数字水印》。该专栏简要介绍李立宗主编《计算机视觉40例——从入门到深度学习(OpenCV-Python)》一书的40个案例。

目前,该书已经在电子工业出版社出版,大家可以在京东、淘宝、当当等平台购买。

大家可以在公众号“计算机视觉之光”回复关键字【案例03】获取本文案例的源代码及使用的测试图片等资料。

针对本书40个案例的每一个案例,分别录制了介绍视频。如果嫌看文字版麻烦,可以关注公众号“计算机视觉之光”直接观看视频介绍版。

数字水印是指在一幅图像中嵌入另外一幅图像,其中的图像包含:

  1. 载体图像O:相当于容器,要用来装另外一幅图像的;
  2. 水印图像W:要被嵌入到其他图像中的图像,通常是版权信息、秘密信息等需要被隐藏额信息;
  3. 含水印载体图像OW:被嵌入了水印图像的载体图像;
  4. 删除水印图像后的载体图像OE:从含水印载体图像OW中删除水印后得到的图像;
  5. 提取得到的水印图像EW:从含水印载体图像OW中提取到的水印图像,该图像与水印图像W一致。

数字水印的基本示意图如图1所示。

  图1 数字水印

图2展示了数字水印(信息隐藏)的嵌入过程和提取过程。

数字水印中嵌入过程的具体步骤:

第1步:从图(a)中选择一块区域如图(b)所示。

第2步:在图(b)中,选取一块区域作为数值1的前景,如图中白色区域所示。

第3:将图(b)中,数值1的前景(对应图中白色区域),所有的数值调整为“等于自身值、或比自身值大1”的奇数;数值1的背景(阴影部分)所有数值调整为“等于自身,或比自身值小1”的偶数,得到如图(c)所示的结果。

第4步:将处理后的图像(c),替换原图像(a)内该部分原有值,完成数值1的嵌入,得到图像(d)。

提取嵌入的信息时,从图(d)中提取结果,具体为:

第1步:从图(d)中选择包含数值1的区域,得到该部分的数值,如图(e)所示。

第2步:从图像(e)中提取信息:

  1. 如果图(e)中的数值是偶数,则提取“0”;
  2. 如果图(e)中的数值是奇数,则提取“1”;

提取结果如图(f)所示,从图中可以看到,准确地将数值1的图像提取出来了。

 图2 算法原理

在书中详细介绍了算法原理和流程,具体如下图所示。

图3 信息隐藏流程图

 图4 数字水印实现方法

 图5 具体实现流程

在《计算机视觉40例——从入门到深度学习(OpenCV-Python)》一书中,从算法原理、实现流程等角度系统深入地介绍了该案例的理论基础和实现过程,并对具体的代码实现进行了细致的介绍与解释。欢迎大家阅读第5章《数字水印》,获取详细内容,其中还介绍关于数字水印的不同实现方法。

《计算机视觉40例——从入门到深度学习(OpenCV-Python)》在介绍Python基础、OpenCV基础、计算机视觉理论基础、深度学习理论的基础上,介绍了计算机视觉领域内具有代表性的40个典型案例。这些案例中,既有传统的案例(数字识别、答题卡识别、物体计数、缺陷检测、手势识别、隐身术、以图搜图、车牌识别、图像加密、指纹识别等),也有深度学习案例(图像分类、风格迁移、姿势识别、实例分割等),还有人脸识别方面的案例(表情识别、驾驶员疲劳监测、识别性别与年龄等)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

superdont

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值