2013-05-06 62 views
0

Steganography鏈接顯示隱寫術的演示。我的問題是何時需要替換的位數n = 1,那麼該方法是不可逆的,即Cover不等於Stego(在理想和完美的情況下Cover使用應該與Steganography結果相同)。只有在需要替換的位數是n = 4,5,6時,它才能正常工作!當n = 7時,Stego圖像變得嘈雜,與使用的Cover不同,結果不會變得不明顯。所以,很明顯有一個隱寫術的操作。有人可以解釋爲什麼是這樣,需要做什麼以使過程可逆和無損。位操作員問題和圖像處理中的隱寫術

+1

JPEG的是一種有損格式不適合用於存儲每個像素的單個位。嘗試使用PNG。雖然在這種情況下,因爲您還沒有將輸出寫入文件,所以應該沒有關係。 – 2013-05-06 22:52:53

+1

對不起,我不明白你的回覆。根據我的理解,我只在位操作後纔看到輸出,而不依賴於文件格式類型。問題是否與操作中使用的位數n有關。 – Chaitali 2013-05-07 00:01:02

回答

1

讓我們來看看代碼的作用。從隱藏圖像中提取n個最高有效位(MSB)並將其隱藏在封面圖像的n個最低有效位(LSB)中。有兩點需要注意,它回答了你的問題。

  • 您在封面圖片中更改的位數越多,隱形圖片的外觀就會越扭曲。
  • 您從隱藏圖像中使用的信息越多,重建圖像越接近原始圖像。以下linkreference)顯示了圖像從最高位到最低位的信息量。

如果您想直觀地檢查遮蓋和隱祕圖像之間的差異,可以使用峯值信噪比(PSNR)公式。據說人眼無法區分PSNR> 30 dB的差異。就個人而言,我不會少於40歲,但這取決於你的目標是什麼。請注意,這不是一個最終所有類型的測量。算法的質量取決於許多因素。

沒有蓋和隱祕圖像應該是相同的。我們的想法是儘量減少差異,以便抵制檢測,並且有許多妥協方法可以實現這一目標,例如您願意隱藏的消息大小。

完美檢索祕密圖像需要隱藏所有像素的所有位,這意味着您只能隱藏1/8的封面圖像大小的祕密。請注意,這是最糟糕的情況,它不考慮加密,壓縮或其他技術。這是想法,但我不會提供基於上述的代碼片段,因爲它非常不靈活。

現在,有些情況下您希望檢索是無損的,無論是因爲數據是加密的還是敏感的。在其他情況下,大概的檢索將完成這項工作。例如,如果您只對圖像的4個MSB進行編碼,則提取該祕密的人仍然可以很好地瞭解它最初的樣子。如果你仍然想要一個無損方法,但不是剛剛建議的方法,則需要使用不同的算法。該算法的選擇取決於你希望它有不同的特性,包括但不限於:

  • 魯棒性(隱藏的信息是如何抵抗是圖像編輯)
  • 隱蔽性(這是一個多麼難陌生人知道祕密的存在,但不一定是祕密本身,例如卡方攻擊)
  • 覆蓋媒體的類型(例如,特定圖像文件類型)
  • 祕密消息的類型(例如,,圖像,文本)
  • 大小祕密
+0

謝謝你的詳細解釋。正如你所說的,位數變化越多,封面圖像會變得越扭曲。但是在這個代碼中,如果改變的位數少於4,那麼失真很高!爲什麼?是否只有當n = 4時,cover = stego image?是否有方法確定最佳位數? – Chaitali 2013-05-07 18:20:42

+0

另外,Hidden和Extracted之間的MSE不爲零。 MSE應該爲零,因爲提取和隱藏必須相同。這是個很大的差異。 – Chaitali 2013-05-07 20:14:50

+0

對於低n,祕密圖像與封面圖像更爲相似,但提取的是隱藏圖像的粗略近似值,對於高值n則隱藏。隱祕從不相同的封面和提取到隱藏。只有n = 4,你才能從兩個世界中得到最好的折中。 隱藏和提取之間的MSE不是零,因爲您僅對隱藏圖像的一部分進行編碼(1 <= n <= 7),這是您可以檢索的所有信息。 我建議用更多樣化的算法,無論是學習還是項目。這和你能擺脫這個一樣多。 – Reti43 2013-05-07 23:29:54