0

以下のコードは、ステガノグラフィーを使用して、指定された 2 つの DWT 係数のテキスト「helloworld」を非表示にします。.txt ファイルに含まれるデータを非表示にするようにコードを調整しようとしています。私はしばらくこれに取り組んできましたが、何かが正しく機能するようには見えません。誰でも助けてもらえますか?

clear all;
close all;

dataToHide = 'helloworld';

wavename = 'haar';

data = zeros(1,length (dataToHide));
for i =1 : length(dataToHide);
    d = dataToHide (i)+0;
    data (i) = d;
end

im=imread ('cameraman.tif');
%imshow(im);

[cA1, cH1,cV1, cD1]= dwt2(im,wavename);
A1 = upcoef2('a',cA1,wavename,1);
H1 = upcoef2('h',cH1,wavename,1);
V1 = upcoef2('v',cV1,wavename,1);
D1 = upcoef2('d',cD1,wavename,1);

subplot(2,2,1); image(wcodemat(A1,192));
title ('A1');

subplot(2,2,2); image(wcodemat(H1,192));
title ('H1');
 M=max(data);
 normilize = data/M;
 n=length(data);

 cH1 (1,1) = -1*(n/10);
 cH1 (1,2) = -1*(M/10);

 [~ , y] =size(cH1);

 for i = 1 : ceil(n/2)
     cV1 (i,y) = normilize(i);
 end

 for i= ceil(n/2)+1 :n;
    cD1 (i,y) = normilize(i);
 end

アップデート


ファイルからテキストを読み取ったことはわかりますが、別の問題に遭遇しました。ファイルから読み取るときに、テキストをバイナリに変換したい (name=dec2bin(dataToHide)。上記のコードはバイナリ データを非表示にしたくない?? 私は matlab とステガノグラフィ/透かしに非常に慣れていません。離散ウェーブレット変換での LSB 埋め込みに関する多くの研究を行っています.しかし、Web から取得した上記のコードは、サブバンド係数を操作していますが、コードから読み取ることができるものから、LSB 置換によってそれを行っていません.(つまり、カバー画像の LSB をシークレット データ ファイルの MSB に置き換えます) LSb ウェーブレットの埋め込みによって動作するコードを推奨してくれる人はいますか?

4

0 に答える 0