2017-01-17 73 views
0

在我看来,水印会像使用SVD,LSB或更改位一样。了解水印图像

im_orginal = im2double(imread('Lena.jpg'));%im size 500X500 
watwrmark= im2double(imread('watwrmark_logo.png'));%size 500X500 
alpha .3;% opacity 

公式1:

im_watermarked = im_original + watermark * alpha; 

OR

方程2:

im_watermarked = im_original * (1-alpha) + watermark * alpha; 

的代码的最后一行我不知道该方程是正确的1或2?

然而,当阅读别人的算法水印,他们是如此的复杂,就像用SVD,LSB等

我也是路要走我水印的代码和理解还是有很多方面的原因呢?

我的问题是,

  1. 请告诉我方程1是正确的还是2? (如果有的话)

  2. 以数学方式讲水印的方法有多少?

回答

0

我会使用公式2,因为像素的总alpha必须是1.请参阅this other answer代码。

你找到更复杂的水印方法的原因是因为水印的重点是确保没有人没有同意就得到原始图像,因此人们发明了阻止信息的新方法。它是一种加密形式,其中非常具体。水印是一种以计算机无法获取的方式对信息进行加密的技术,但是人可以!

但是,请注意,您可以应用水印的事实并不意味着您可以使用相同的方法将其删除。如上所述,当对图像加水印时信息丢失,因为2像素信息融合成1。与制作图像灰度时类似,不能简单地将其重新彩色化。您需要使用内容感知算法来模拟,或使用有限的给定信息重新创建“空白”空间。这是一个很大的研究领域,SO中没有答案能够涵盖单一方法。