资源简介
数字水印参考代码,分别用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_em
文件 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_em
文件 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_em
文件 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个文件信息
- 上一篇:电力系统仿真包2.1.6的说明手册
- 下一篇:低通滤波器
相关资源
- 基于Matlab的最大熵模糊图像复原算法
- KITTI雷达点云与图像数据融合matlab源码
- matlab 解码 NMEA0183格式GGA数据
- 一个有关飞机的模板匹配的跟踪的m
- 基于MATLAB的电弧模型仿真
- PRI信号分选
- Matlab论文:基于Matlab的二进制数字调
- 802.11协议吞吐量随节点数性能仿真
- matlab图片rgb转yuv,存.yuv文件 播放器
- Duda模式分类Pattern Classification MATLAB 代
- dijkstra算法的matlab实现31274
- 随机路径生成函数matlab
- matlab语音信号处理工具箱
- matlab2013激活文件
- matlab实现游程编码
- 暗通道先验+引导滤波MATLAB代码
- 边缘检测中的canny算法及其matlab实现
- 通过达曼光栅生成点阵的matlab程序.
- MATLAB核函数算法
- 求控制系统的性能指标MptrtsFAI,matl
- matlab 求DTFT
- 逆变器重复控制算法MATLAB仿真
- MATLAB R2014b 许可协议文件
- matlab读取comtrade格式的程序
- 基于Matlab的RC一阶电路仿真
- Las点云数据读取代码
- 雷达回波加天线方向图模拟程序
- MATLAB 2017b 安装文件及其破解文件百度
- Matlab实现音频降噪
- matlab实现导航卫星系统中计算多普勒
评论
共有 条评论