2008-12-29 58 views
7

我想通過C#代碼在我的JPEG圖片中插入多個不可見的水印。這意味着我需要一個.NET庫來完成這項工作,而不是一些外部批處理應用程序。在C#中添加一個不可見的圖像水印?

有什麼建議嗎?在圖片

+0

你的意思是「隱形」還是「透明」? – kgiannakakis 2008-12-29 11:37:19

+1

有可見和不可見的水印:http://www.riecks.com/security/ – splattne 2008-12-29 11:40:54

+0

我寫了「不可見」,而不是「透明」... – 2008-12-29 12:01:33

回答

4

有難懂的庫到C#中的端口,它可以很容易地爲你執行該操作...

5

存儲「看不見」的數據被稱爲「隱寫術」。谷歌搜索「steganography .net」產生this article作爲其最受歡迎 - 可能會證明是有用的。

1

本文就devx.com包含一個庫(隱祕)的源代碼,你可以使用:

Keeping Secrets Secret: Steganography with .NET

實施該API後,它的 瑣碎隱藏 內的消息。 bmp文件:

ICoverFile cover = new BMPCoverFile("cover.bmp"); 
    cover.CreateStegoFile("stego.bmp","Hello","MyPwd"); 

同樣,你可以很容易地提取消息 :

IStegoFile stego = new 
     BMPStegoFile("stego.bmp","MyPwd"); 
    Console.WriteLine(stego.HiddenMessage); 

UPDATE:哦,對不起。馬特鏈接到同一篇文章......沒有看到,而寫這個答案。

2

這是什麼目的?它是否使您能夠識別從您的網站拍攝的JPG?

響應中評論說:「是的,我想通過使用一些穩健和不可見的水印來保護我的圖片半可見網站的標誌是不是一個選項...」

問題恰恰在上面關於隱寫術的討論中描述的那個,用於處理圖像的魯棒性。

像你所描述的那種水印都可以用來識別整個圖像的直接副本,但是對於我來說,如果它在編輯器中被打開並再次保存,就有機會改變影響水印的壓縮。另外,如果有人想要盜取你的圖像並做更多的事情 - 修改色彩平衡,稍微修剪一下等等,看起來不可能有任何看不見的水印足夠強壯以保持生存並保持可以識別。

不幸的是我在這裏沒有解決方案,但問題本身並不是微不足道的。可能值得尋找其他方法,以便您可以同時使用水印(自定義元數據或許可以防止圖像輕鬆保存?),以便使圖像更加難以被盜用或使它們的價值更低是...

1

如果它是一個重要的應用程序,你正在努力,爲什麼不嘗試付費服務?

DigimarcSignumtech可以使用他們的SDK給你這種支持。