I=imread('Smile.png');
subplot (231);
imshow(I);
title('原图像');
I=imbinarize(I, 0.4);
subplot(232)
imshow(I);
title('二值化');
SecretA=zeros(512);
SecretB=zeros(512);
for i=1:512
for j=1:512
m=rand (1);
if I(i, j)==1
if m<=0.5
C=[0,0,1,1;0,0,1,1];
else
C=[1,1,0,0;1,1,0,0];
end
else
if m>=0.5
C=[1,0,1,0;0,1,0,1];
else
C=[0,1,0,1;1,0,1,0];
end
end
SecretA((2*i-1),(2*j-1))=C(1,1);
SecretA((2*i-1),2*j)=C(1,2);
SecretA(2*i,(2*j-1))=C(1,3);
SecretA(2*i,2*j)=C(1,4);
SecretB((2*i-1),(2*j-1))=C(2,1);
SecretB((2*i-1),2*j)=C(2,2);
SecretB(2*i,(2*j-1))=C(2,3);
SecretB(2*i,2*j)=C(2,4);
end
end
I=SecretA&SecretB;
subplot(233)
imshow(SecretA);
title('机密信息A');
subplot(234)
imshow(SecretB);
title('机密信息B');
subplot(235);
imshow(I)
title('解密后');