⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 recover.m

📁 好用時在原程序 以驗證過沒有錯誤 無誤
💻 M
字号:

close all;
clear all;

%读入待测的图像
file_name='dwt_watermarked.jpg';
watermarked_image=imread(file_name);
[image_size_v,image_size_h]=size(watermarked_image);

figure(1);
imshow(watermarked_image);
%读入宿主图像
file_name='lena.jpg';
image_original=imread(file_name);
figure(2);
imshow(image_original);

file_name='watered_double.dat';
fid=fopen(file_name);
watered_image = fscanf(fid,'%e\t',inf);
fclose(fid);

for num_i=1:1:image_size_v;
    for num_j=1:1:image_size_h;
        position_=(num_i-1)*image_size_h+num_j;
        dwt_watered_image(num_j,num_i)=watered_image(position_);
    end;
end;
figure(3);
%image(dwt_watered_image);
imshow(uint8(dwt_watered_image));
colormap;
%imshow(uint8(watered_image));

%[wtd_lla,wtd_lha,wtd_hla,wtd_hha]=dwt2(double(watermarked_image),'haar');%待检测的图像一级小波变换
[wtd_lla,wtd_lha,wtd_hla,wtd_hha]=dwt2(dwt_watered_image,'haar');%待检测的图像一级小波变换

figure(4);
subplot(2,2,1);
%imshow(uint8(wtd_lla));
image(wtd_lla);
subplot(2,2,2);
imshow(wtd_lha);
subplot(2,2,3);
imshow(wtd_hla);
subplot(2,2,4);
imshow(wtd_hha);

[wtd_llb,wtd_lhb,wtd_hlb,wtd_hhb]=dwt2(image_original,'haar');%原始宿主图像一级小波变换

%提取输出水印
waterm_r=0.03;
watermark_hh=(wtd_hha-wtd_hhb)./waterm_r;  %xor(uint8(wtd_hha),uint8(wtd_hhb));
for i=1:64;
    for j=1:64;
        watermark_a(i,j)=watermark_hh(i,j);
    end
end
figure(5);
imshow(uint8(watermark_hh));
figure(6);
imshow(uint8(watermark_a));
%image(watermark_ll);
%生成并输出嵌入水印后的图像
 title('Recovered Watermark');
 imwrite(watermark_hh ,'watermark_R.jpg','jpg');
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -