1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
figure;
x=imread ('lena.bmp'); % image originale
subplot(2,2,1);
imshow(x);
title('Image originale');
[m,n]=size(x);
y=rand(m,n); %genereation de sequence pseudo aleatoire
for i=1:m
for j=1:n
if(y(i,j)<0.4998)
z(i,j)=-1; % generation de la marque "z" constitue seulement de - 1 et +1 de moyenne nule
else
z(i,j)=+1;
end
end
end
for i=1:m
for j=1:n
w(i,j) = z(i,j) + x(i,j); % calcul de l'image tatouee(w)=image originale+ marque (-1,+1)
end
end
subplot(2,2,4);
imshow(uint8(w)); % afficher l'image tatouée
title('Image marque');
% phase de la detection de la marque
for i=1:m
for j=1:n
sum=0;
l(i,j) = z(i,j) * w(i,j); % calcul de l'image tatoueem image originale+ marque (-1,+1)
sum=sum +l(i,j);
end
end
% on prend une desion sur la presence ou non d'ene sugnature si l'itercorrelation est superieur à un seuil prealablement fixé
seuil= 0.8; % choisir une seuil pour la detection de la presence de la marque
if sum > seuil
disp('marque existé');
else
disp('absence de la marque');
end |
Partager