OpenCV
很初學者我試圖隱藏圖像中的文本信息。
我所做的是,我通過修改圖像中的像素來隱藏文本消息中的每個字符。對於每個字符,我採用字符的二進制表示形式,並用字符的LSB替換像素的最後一位,並用字符的第二位獲取另一像素的最後一位,依此類推......爲整個消息。 將文本加密成圖像後,我使用cv::imwrite
將它存儲在磁盤上。解密不在保存的圖像上工作,但在圖像的像素控制矩陣上工作
該圖像再次被另一個例程讀取,並解密它執行用於加密的反向操作。
但是,問題是解密不工作,如果我在圖像(加密圖像)中讀取,其中存儲使用cv::imwrite
。 但是,如果我將加密矩陣(cv::Mat
)對象傳遞給解密例程而不是再次讀取圖像,它就可以工作。
似乎,當我將加密矩陣存儲到圖像中時,某些事情正在發生變化。 不知道幕後發生了什麼。任何幫助表示讚賞。
不知道這件事。我用png試了一下,現在我可以完全解密消息了。非常感謝!但是,對於jpeg圖像沒有解決方法嗎?因爲我認爲用jpeg編寫時會解壓壓縮的jpeg。 – Light
jpeg是有損格式的定義,所以我恐怕沒有解決方法.... – zenpoy