close all
clear all;
% save start time
start_time=cputime;
% read in the cover object
file_name='E:\Phd\MyPaper\Second paper -- Experiment\Experiment\Cover and Secret
lmage\le na.bmp:
[cover_object,map]=imread(file _n ame);
% read in the secret image
file_name='E:\Phd\MyPaper\Second paper -- Experiment\Experiment\Cover and Secret
Image\hat.bmp';
[secret,map1]=imread(file_ name);
secret仁secret;
% convert to double for n ormalizatio n, the n back aga in
secret=double(secret);
secret=fix(secret./2);%rounds the eleme nts of A toward zero, result ing in an array of in tegers
secret=uin t8(secret);
% determ ine size of cover object
Mc=size(cover_object,1);%Height
Nc=size(cover_object,2);%Width
% determ ine size of secret object
Mm=size(secret,1);%Height
Nm=size(secret,2);%Width
% title the secret object out to cover object size to gen erate watermark
for ii = 1:Mc
for jj = 1:Nc
if (secret(ii,jj)>75)
watermark(ii,jj)=255;
else
watermark(ii,jj)=0;
end
end
end
% now we set the lsb of cover_object(ii,jj) to the value of watermark(ii,jj) watermarked_image=cover_object;
for ii = 1:Mc
for jj = 1:Nc
if (watermark(ii,jj)==O)
atatwatermarked」m age(ii,jj)=bitset(watermarked」m age(ii,jj),1,0);%Set bit
at
at
certa in positi on
else
watermarked」m age(ii,jj)=bitset(watermarked」m age(ii,jj),1,1);%Set bit
certa in positi on
end
end
end
% write the watermarked image out to a file
imwrite(watermarked」mage,'lsb_watermarked.bmp','bmp');
%==================================Extracti on===========================
% determ ine size of watermarked image
Mw=size(watermarked」mage,1); %Height
Nw=size(watermarked」mage,2); %Width
% use lsb of watermarked image to recover watermark
for ii = 1:Mw
for jj = 1:Nw
RecoveryWatermark(ii,jj)=bitget(watermarked」m age(ii,jj),1);
end
end
% scale the recovered watermark
RecoveryWatermark=2*double(RecoveryWatermark);
%====================================================================
%===========================SharpAttack================= SharpedWaterma