clear all close all clc c = imread('mandril_gray.bmp'); c=[c c; c c]; imshow(c) message = 'Universityofmsila1'; Code_ascii = uint8(message); suite_binaire = (dec2bin(Code_ascii,8))'; suite_binaire = suite_binaire(:); N = length(suite_binaire); b = zeros(N,1); %b is a vector of bits for k = 1:N if(suite_binaire(k) == '1') b(k) = 1; else b(k) = 0; end end N=length(b); s = c; i1 = size(c,1); j1 = size(c,2); ii1=randperm(i1); jj1=randperm(j1); for k=1:N dd=s(ii1(k),jj1(k)); LSB = mod(dd, 2); if LSB == b(k) s(ii1(k),jj1(k)) = c(ii1(k),jj1(k)); else if(LSB == 1) s(ii1(k),jj1(k)) = c(ii1(k),jj1(k))-1; else s(ii1(k),jj1(k)) = c(ii1(k),jj1(k))+1; end end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Ajout du Bruit % s = imnoise(s,'salt & pepper',0.08); % s = imnoise(s,'gaussian',0,0.000001); imwrite(s, 'stéganographie_image.bmp'); figure imshow(s) psnr= PSNR(c,s) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Décodage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for k=1:N dd=s(ii1(k),jj1(k)); b1(k)= mod(dd, 2); end pb1=(dec2bin(b1))'; dy=(reshape(pb1,8,N/8))'; fy=(bin2dec(dy))'; textString = char(fy); disp(textString);