《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 业界动态 > 数字图像水印在FPGA中如何实现?

数字图像水印在FPGA中如何实现?

2018-07-09
关键词: 数字图像水印 FPGA ROM

  1 背景知识

  日常生活中我们经常见到数字图像水印的存在。例如图1所示。数字图像水印在日常生活中也起到非常重要的作用。它们以各种方法来保护所有者的权益,包括:

  版权识别;

  著作权认定;

  复制保护。

1.png

  图1 数字图像水印

  数字图像的水印叠加公式为:

  -------------------------------(1)

  如公式1所示,未加水印的图像表示为f水印表示为w,常数a控制水印和衬底图像的相对可见性。如果a为1,则水印是不透明的,并且衬底图像完全是暗的;随着a接近0,会逐渐看到更多的衬底图像和更少的水印。通常a在0和1之间。如图2所示,a为数字水印,b图像中a=0.3,c图像中是已加水印的b和原图f的差值。

  

2.png

图2 一个简单的可见水印

  2 数字图像水印的FPGA实现

 

3.png

 图3 视频图像的数字图像水印的FPGA实现流程图

  我们要在视频图像采集系统终端显示一个五角星水印:

  1)水印的制作

  如图4所示,我们使用画图工具来制作一个图案。

 

4.png

图4 红色五角星水印图

  2)rom文件的生成

  如图5所示,我们使用BMP2MIF工具生成.mif文件。

  

5.png

图5 BMP2MIF工具

  3)FPGA watermark源码:

6.png

  4)图像水印的实现

  我们分别取了a =1 和 a = 0.5两种效果。

  

7.png

图6 未加水印的图像

  

8.png

图7 加了水印的图像(a = 0.5)

  

9.png

8 加了水印的图像(a = 1)