Effacer les filtres
Effacer les filtres

I have this code of embed and extract texte data into an image using DWT watermark technique with matlab .I need the know algorithm used for this code to embed a text,extract them and the steps thats used to embed and extract data,explanation of code

2 vues (au cours des 30 derniers jours)
Data Embedding: coverImage = imread('lena.bmp'); message = importdata('minutiaTest.txt'); %message = 'Bifurcations:';
[LL,LH,HL,HH] = dwt2(coverImage,'haar'); if size(message) > size(coverImage,1) * size(coverImage,2) error ('message too big to embed'); end
bit_count = 0; steg_coeffs = [4, 4.75, 5.5, 6.25, 7];
for jj=1:size(message,2)+1 if jj > size(message,2) charbits = [0,0,0,0,0,0,0,0]; else charbits = dec2bin(message(jj),8)'; charbits = charbits(:)'-'0'; end for ii=1:8 bit_count = bit_count + 1;
if charbits(ii) == 1
if HH(bit_count) <= 0
HH(bit_count) = steg_coeffs(randi(numel(steg_coeffs)));
end
else
if HH(bit_count) >= 0
HH(bit_count) = -1 * steg_coeffs(randi(numel(steg_coeffs)));
end
end
end
end
stego_image = idwt2(LL,LH,HL,HH,'haar'); imwrite(uint8(stego_image),'newStego.bmp'); Data Extraction: new_Stego = imread('newStego.bmp'); [LL,LH,HL,HH] = dwt2(new_Stego,'haar'); message = ''; msgbits = ''; for ii = 1:size(HH,1)*size(HH,2) if HH(ii) > 0 msgbits = strcat (msgbits, '1'); elseif HH(ii) < 0 msgbits = strcat (msgbits, '0'); else return; end
if mod(ii,8) == 0
msgChar = bin2dec(msgbits);
if msgChar == 0
break;
end
msgChar = char (msgChar);
message = [message msgChar];
msgbits = '';
end
end

Réponses (0)

Catégories

En savoir plus sur Discrete Multiresolution Analysis dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by