2

テキスト ステガノグラフィを実装しようとしているの非常に初心者OpenCV
: 画像内のテキスト メッセージを非表示にしようとしています。
私がしていることは、画像内のピクセルを変更することで、テキスト メッセージから各文字を非表示にすることです。文字ごとに、文字のバイナリ表現を取得し、ピクセルの最後のビットを文字の LSB に置き換え、別のピクセルの最後のビットを文字の 2 番目のビットに置き換えます。メッセージ全体。このテキストを暗号化して画像にした後、 を使用してディスクに保存しcv::imwriteます。

このイメージは別のルーチンによって再度読み込まれ、暗号化に使用された逆の操作を実行して復号化されます。

しかし、問題は、を使用して保存されている画像(暗号化された画像)を読み込むと、復号化が機能しないことですcv::imwritecv::Matただし、画像を再度読み取るのではなく、暗号化された行列 ( ) オブジェクトを復号化ルーチンに渡すと機能します。

暗号化されたマトリックスを画像に保存すると、何かが変更されているようです。舞台裏で何が起こっているのかわかりません。どんな助けでも大歓迎です。

4

1 に答える 1

3

保存すると情報が失われるようです。

imwrite関数のドキュメント(imwrite() documentation )によると、関数は、指定したファイル名の拡張子に基づいて画像の形式を選択します。JPEG ( *.jpg) などの非可逆ファイル形式を使用していませんか? 代わりに.png、可逆圧縮を使用してデータを保存する を使用してみてください。

編集: jpeg 画像用に特別に設計されたステガノグラフィーには別のアプローチを使用できます: http://www.sav.sk/journals/uploads/0317153109jo-mo.pdf

于 2013-11-02T11:04:17.483 に答える