• 大小: 5.86M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-04-20
  • 语言: Matlab
  • 标签: MATLAB  水印  

资源简介

数字水印参考代码,分别用checksum,lsb,patchwork等方式嵌入水印,附带计算信噪比和消除水印的代码

资源截图

代码片段和文件信息

function checksum_embed()

clear all; 

% save start time 
start_time = cputime; 
 
% read the original image 
file_name = ‘lena.bmp‘; 
ori_img = imread(file_name); 
 
% compute size of the original image
H = size(ori_img 1); % height 
W = size(ori_img 2); % width
num = H * W;   % the number of pixels
 
% get 2~8 bits from each 8 pixels
line = ceil(num/8);
binarray = zeros(line 56);
k = 1;
m = 0;
for i = 1 : H 
    for j = 1 : W
        if m > 7
            m = 0;
            k = k + 1; 
        end
        binarray(k 7 * m + 1) = bitget(ori_img(i j) 8);
        binarray(k 7 * m + 2) = bitget(ori_img(i j) 7);
        binarray(k 7 * m + 3) = bitget(ori_img(i j) 6);
        binarray(k 7 * m + 4) = bitget(ori_img(i j) 5);
        binarray(k 7 * m + 5) = bitget(ori_img(i j) 4);
        binarray(k 7 * m + 6) = bitget(ori_img(i j) 3);
        binarray(k 7 * m + 7) = bitget(ori_img(i j) 2);
        m = m + 1;
    end
end

% compute watermark
binarray = uint8(binarray);
watermark = zeros(1 56);
watermark = uint8(watermark);
for k = 1 : line
    watermark(1 :) = bitxor(watermark(1 :) binarray(k :));
end
 
% set the lsb of 56 pixels of the original images to the value of watermark
k = 1;
watermarked_img = ori_img;
for i = 1 : H
    for j = 1 : W
        if k <= 56
            watermarked_img(i j) = bitset(watermarked_img(i j) 1 watermark(1 k));
            k = k + 1;
        end
    end
end
 
% write the watermarked image to a file 
imwrite(watermarked_img‘watermarked_lena.bmp‘‘bmp‘); 
 
% display processing time 
elapsed_time=cputime-start_time

% calculate the PSNR 
psnr_value = psnr(ori_imgwatermarked_img)
 
% display watermarked image 
figure(1) 
imshow(watermarked_img[]) 
title(‘Watermarked Image‘) 
figure(2) 
imshow(ori_img[]) 
title(‘Original Image‘)  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    5512725  2011-04-28 17:25  应用Matlab实现数字水印.pptx

     文件       1893  2011-04-20 16:55  checksum实验\checksum_embed.m

     文件       1698  2011-04-21 21:05  checksum实验\checksum_recover.m

     文件     148536  2011-04-21 18:32  checksum实验\distort_lena.bmp

     文件     148534  2011-04-20 10:37  checksum实验\lena.bmp

     文件        618  2011-04-20 15:44  checksum实验\psnr.m

     文件     148534  2011-04-20 15:45  checksum实验\watermarked_lena.bmp

     文件      14622  2010-04-20 10:21  lsb实验\key.bmp

     文件     148534  2010-04-20 10:21  lsb实验\lena.bmp

     文件       1732  2011-04-07 14:32  lsb实验\lsb_embed.m

     文件       1801  2011-04-21 18:16  lsb实验\lsb_recover.m

     文件        893  2011-04-07 09:39  lsb实验\psnr.m

    ..A.SH.     19968  2010-12-14 21:18  lsb实验\Thumbs.db

     文件     148534  2010-04-20 10:21  nec实验\lena.bmp

     文件       4629  2011-04-07 09:39  nec实验\nec.m

     文件        893  2011-04-07 09:39  nec实验\psnr.m

    ..A.SH.     30720  2010-12-14 21:19  nec实验\Thumbs.db

     文件     148534  2010-04-20 10:21  patchwork实验\lena.bmp

     文件       1263  2011-04-07 15:44  patchwork实验\patchwork_embed.m

     文件       3770  2011-04-21 18:22  patchwork实验\patchwork_recover.m

     文件        893  2011-04-07 09:39  patchwork实验\psnr.m

    ..A.SH.     30720  2010-12-14 21:19  patchwork实验\Thumbs.db

     文件        510  2011-04-21 15:52  基本图像处理实验\blkproc1.m

     文件        120  2011-04-21 17:42  基本图像处理实验\brighten1.m

     文件         84  2011-04-21 15:28  基本图像处理实验\dct1.m

     文件      66988  2011-04-19 14:24  基本图像处理实验\df.jpg

     文件        249  2011-04-21 18:14  基本图像处理实验\filter21.m

     文件         68  2011-04-21 16:24  基本图像处理实验\histeq1.m

     文件         82  2011-04-19 15:29  基本图像处理实验\imadjust1.m

     文件        121  2011-04-21 12:29  基本图像处理实验\image1.m

............此处省略22个文件信息

评论

共有 条评论