2017-08-16 42 views
0

我正試圖使用​​手機上的實時相機來檢測LSB隱寫。到目前爲止,我還沒有很好的檢測LSB隱寫術,無論是在印刷材料還是在PC屏幕上。Android隱寫檢測LSB

我嘗試使用OpenCV並將每個幀轉換爲RBG,然後從每個像素中讀取位,但從未檢測到隱寫。

我也嘗試使用相機功能,並檢查onFrame是否像素開始字符串被識別或不是,所以我可以讀取其餘像素中的實際隱藏數據。

這提供了幾次積極的結果,但是然後讀取數據是不可能的。

任何建議如何處理?

有關隱藏數據的更多信息: 1.它遍佈整個圖像,並且我知道該算法有效,因爲如果我只是通過應用程序中的位圖讀取精確圖像,則會檢測並解碼隱寫圖像,但是當我嘗試使用相機沒有這樣的運氣。 2.它是一個網格,整個圖像的8x5像素,所以它不是它只在圖像的一個特定區域,並且它不能在相機視圖中檢測到。

如果需要,我也可以發佈一些代碼。

謝謝。

+0

只是要清楚。您將數據嵌入數字圖像中,然後通過相機查看數據,希望檢測像素中的祕密?什麼是起始字符串(如果只是一堆1和0,多少)以及您獲得正面結果的頻率如何? – Reti43

+0

它是連續8個像素內的1個和0個串。這是爲了檢測是否存在嵌入代碼。我經常從檢測結果中獲得肯定的結果,但是實際數據是jibrish –

回答

0

你還沒有明確關於你如何做到這一點的細節,但我認爲你做了以下的一番風味:

  • 在數字圖像中嵌入一個祕密,
  • 打印這個隱祕圖像或將其顯示在電腦上,然後拍攝該照片並檢測嵌入的祕密。

對於所有的實際目的,這是行不通的。 LSB像素嵌入隱寫術是一種非常脆弱的技術。你需要一個隱祕像素圖像的完美副本來提取工作。即使是簡單的數字操作也足以破壞你的祕密。縮放,裁剪和旋轉等等。那麼你不得不擔心拍攝照片和環境光的角度。而且我們甚至不會觸及電腦顯示器或打印照片上顯示的顏色。

你得到積極的起始序列的唯一原因是因爲你使用一個短的,你一定是幸運的。假設拍攝到的隱祕圖像會導致每個像素隨機偏離其真實值,有時您仍然會很幸運。想象一下,第一個像素值爲250,在拍攝後爲248,兩種情況下的最低有效位仍然爲0.

最重要的是,一些序列更有可能出現。在大多數照片中,相鄰像素是相關的,因爲顏色梯度是平滑的。這意味着如果照片的左上角較暗,右上角較亮,則顏色會緩慢變化。例如,前4個像素的值爲10,接下來的幾個像素的值爲11,依此類推。就LSB而言,你有00001111的模式,正如我剛纔解釋的那樣,無論你在那裏拍攝什麼圖像,這可能會相當頻繁地出現。

+0

好吧,我認爲是同樣的事情,但我說讓我試試看。 你有什麼建議使用? DCT算法?用於編碼和檢測/解碼的DWT算法 –

+0

我不知道它是否可能。請記住,拍攝隱形眼鏡圖片的照片對拍照條件非常敏感。你有多遠,從照片,相機的分辨率等 – Reti43

+0

@BorceIvanovski在一些非常嚴格的條件下,它有效地要求您拍攝快照以儘可能**地重新創建原始隱形圖像**, miiiiight可以。 [這是一個想法](https://stackoverflow.com/questions/30662050/image-based-steganography-that-survives-resizing)它是如何艱難的生存圖像縮放。 – Reti43