资源简介
1.用MATLAB函数实现二值图像信息隐藏2.用MATLAB函数实现二值图像隐藏信息的提取3. 分析阈值R0,R1 以及健壮参数λ对实验结果的影响
代码片段和文件信息
%分析可用的图像块与秘密信息对应
%msgcount为秘密消息及其数量
%rowcol存放的是随机选块后的块首地址的行列地址值
%m*n为总块数量
%image为载体图像
%R1R0lumda为参数
%randrrandc是在8*8范围内随机置乱的行列标
function [availableravailablecimage]=available(msgcountrowcolmnimageR1R0lumdarandrrandc);
msgquan=1;
unable=0;
difficult=0;
for blockquan=1:m*n
%计算这一块的p1(Bi)
p1bi=computep1bi(row(blockquan)col(blockquan)image);
if p1bi>=R1+3*lumda || p1bi<=R0-3*lumda %情况(1)
row(blockquan)=-1;%标记为无用
col(blockquan)=-1;
unable=unable+1;
msgquan=msgquan-1;%该消息还未找到可以隐藏的块
%情况(2)
elseif msg(msgquan1)==1 && p1bi<=R0
%调整p1(Bi)变得更小
%disp([num2str(row(blockquan))‘a‘ num2str(col(blockquan))‘a‘ num2str(msgquan)]);
image=editp1bi(row(blockquan)col(blockquan)image13*lumdarandrrandc);
row(blockquan)=-1;
col(blockquan)=-1;
difficult=difficult+1;
msgquan=msgquan-1;%该消息还未找到可以隐藏的块
elseif msg(msgquan1)==0 && p1bi>=R1
%调整p1(Bi)变得更大
%disp([num2str(row(blockquan))‘b‘ num2str(col(blockquan))‘b‘ num2str(msgquan)]);
image=editp1bi(row(blockquan)col(blockquan)image03*lumdarandrrandc);
row(blockquan)=-1;
col(blockquan)=-1;
difficult=difficult+1;
msgquan=msgquan-1;%该消息还未找到可以隐藏的块
else
row(blockquan)=row(blockquan);
row(blockquan)=row(blockquan);
end
msgquan=msgquan+1;
if msgquan==count+1;%消息已经读取完成
for i=(blockquan+1):m*n
row(i)=-1;
col(i)=-1;
end
disp([‘消息长度:‘num2str(msgquan-1)‘bits;用到的块数:‘num2str(blockquan)‘;其中不可用块有:‘num2str(unable)‘;另有‘num2str(difficult)‘块难以调整块已修改为不可用块‘])
break;
end
end
%载体分析完但消息还没有读完
if msgquan<=count
disp([‘消息长度:‘num2str(msgquan-1)‘bits;分析过的块数:‘num2str(blockquan)‘;其中不可用块有:‘num2str(unable)‘;另有‘num2str(difficult)‘块难以调整块已修改为不可用块‘])
disp(‘请根据以上数据更换载体!‘);
error(‘载体太小!!‘);
end
%计算可用块的数量
%disp(row)
quan=0;
for i=1:m*n
if row(i)~=-1
quan=quan+1;
end
end
if quan error(‘可用块数量太小!请根据以上数据更换载体!‘);
end
disp([‘可用图像块为:‘num2str(quan)]);
%生成可用的块的行标列标并与消息对应
image=round(image);%防止边界扩散后的取整复原
availabler=zeros([1quan]);
availablec=zeros([1quan]);
j=1;
for i=1:m*n
if row(i)~=-1;
availabler(j)=row(i);
availablec(j)=col(i);
j=j+1;
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2720 2004-03-10 21:56 available.m
文件 2250 2004-03-10 20:38 binaryhide.m
文件 995 2004-03-10 22:59 editp1bi.m
文件 896 2004-06-13 19:48 hashreplacement.m
文件 3041 2003-07-25 23:32 md5.m
文件 176640 2003-07-25 22:46 md5DLL.dll
文件 5 2017-10-27 23:22 msg.txt
文件 23678 2017-10-27 18:38 test.jpg
文件 74 2017-10-28 14:38 Unti
----------- --------- ---------- ----- ----
210299 9
- 上一篇:基于DBN的变压器故障诊断.zip
- 下一篇:KPCA核主成分分析法matlab算法
相关资源
- KPCA核主成分分析法matlab算法
- 基于船舶运动控制的Matlab仿真
- 声音信号故障诊断
-
基于simuli
nk的曲柄滑块运动机构仿真 - 基于matlab的直序扩频通信系统仿真模
- 基于MATLAB的多服务台排队系统分析
- 智能预测控制及其MATLAB实现(第2版)
- 遗传算法优化小波神经网络程序matl
- matlab数值分析程序(超详细)
- 随机森林工具箱
- welch法谱估计matlab实现
- 控制系统稳定性分析的matlab实现实验
- 关于小波分析的matlab程序
- 数字图像处理的MATLAB小程序
- matlab车牌定位程序
- matlab心率分析
- 灰色神经网络预测模型 matlab程序
- matlab六杆机构分析原创
- 空间杜宾模型SDM的Matlab工具箱
- MATLAB数学建模工具箱
- 《精通MATLAB神经网络》代码
- 16QAM信号调制解调Matlab仿真
- 基于matlab实现模态分析的代码
- matlab脑电信号处理
- 基于matlab的八个方向sobel图像边缘检测
- 升、降压直流斩波电路及matlab仿真
- 二阶RLC串联电路的零输入响应matlab课
- 加权灰关联模型matlab程序
- DSP2812基于MATLAB模块化编程的SPWM调制实
- 小波神经网络MATLAB实现
评论
共有 条评论