`
xiaoer_1982
  • 浏览: 1895743 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

仿真代码之三

阅读更多


部分仿真代码,供参考






%designedbylilizong
%lilizong[at]gmail


a
=imread('c:bbb.png');%读入图像
figure,imshow(a),title(
'原图像');%显示图像
figure,imhist(a);
b
=a(:);
[m,n]
=size(a);
k
=size(b);
%下述操作可以实现像素的显示
c
=linspace(0,0,256);
fori=1:k
forj=1:256
if(b(i)==j)
c(j)
=c(j)+1;
end
end
end
%以下步骤简单实现读取整个图像的峰值点

max
=c(1);
maxi
=0;
fori=1:256
if(c(i)>max)
max
=c(i);
maxi
=i;
end
end
max
maxi




%下面步骤实现对各个峰值的读取
d
=c;%作为临时操作数组,以不破坏原数组
emax
=linspace(0,0,256);
emaxi
=linspace(0,0,256);
a
=1;
forj=2:256
if(d(j)>d(j-1)&d(j)>d(j+1)&d(j)~=8888)
emax(a)
=d(j);
emaxi(a)
=j;
d(j)
=8888;
a
=a+1;%开始没有想明白,用额外的循环变量
end
end


%下面的程序读取四个高峰值,并进行显示
fmax
=linspace(0,0,10);
fmaxi
=linspace(0,0,10);
bnum
=1;
fori=1:10
fmax(bnum)
=emax(1);
forj=2:256
if(emax(j)>fmax(bnum))
fmax(bnum)
=emax(j);
fmaxi(bnum)
=emaxi(j);
t
=j;
end
end
emax(t)
=0;
bnum
=bnum+1;
end


fori=1:10
fmax(i)
fmaxi(i)
end

%至此峰值已经提出出来了







%在第一个峰值嵌入水印
%首先把小于最大的像素值的都减去2
cc
=zeros(m,n);
c
=cc(:);

fori=1:k
if(b(i)<fmax(1))
c(i)
=b(i)-2;
end
end

watermark
=imread('c:watermark.png');
figure,imshow(watermark);
[w1,w2]
=size(watermark);
watermark_line
=watermark(:);
oo
=w1*w2;

%开始嵌入水印

%第一次水印

tt
=1;%让tt加1来遍历整个水印图像
fori=1:k
if(c(i)==fmax(1))
if(tt>oo)
tt
=1;%如果超出水印的范围从头开始
if(watermark_line(tt)==1)
c(i)
=c(i)-1;
end

end
tt
=tt+1;
end
end



%第二次水印
tt
=1;%让tt加1来遍历整个水印图像
fori=1:k
if(c(i)==fmax(2))
if(tt>oo)
tt
=1;%如果超出水印的范围从头开始
if(watermark_line(tt)==1)
c(i)
=c(i)-2;
end
end
tt
=tt+1;
elseif(c(i)
==fmax(2)+1)
if(tt>oo)
tt
=1;
if(watermar_line(tt)==1)
c(i)
=c(i)-2;
end
end
end
end









%显示嵌入水印的图像


embed
=c;
embed
=reshape(c,m,n);
figure,imshow(embed,[]),title(
'嵌入水印的图像');


%提取水印

%提取第一层

fori=1:k
if(c(i)==fmax(2))
watermark(tt)
=0;
%tt=tt+1;
%elseif(c(i)==(fmax(1)+1))
%watermark(tt)=0;
%tt=tt+1;
%elseif(c(i)=fmax(1)-1)
%elseif(c(i)=fmax(1)-1)
%watermark(tt)=1;
%tt=tt+1;
%elseif(c(i)=fmax(1)-2)
%watermark(tt)=1;
%tt=tt+1;
%end
else
if(c(i)==fmax(2)+1)
watermark(tt)
=0;
else
if(c(i)==fmax(2)-1)
watermark(tt)
=1;
else
if(c(i)==fmax(2)-2)
watermark
=1;
end
end
end
tt
=tt+1;
end
end


%提取第二层


fori=1:k
if(c(i)==fmax(1))
watermark(tt)
=0;
tt
=tt+1;
elseif(c(i)
==(fmax(1)-1))
watermark(tt)
=1;
tt
=tt+1;
end
end
fori=1:oo
watermark_dect(i)
=watermark(i);
end











fori=1:oo
watermark_dect(i)
=watermark(i);
end
watermark_dect
=reshape(watermark_dect,w1,w2);
figure,imshow(watermark_dect,[]),title(
'提取出来的水印');


%恢复原图像
dd
=embed(:);
fori=1:k
if(c(i)==(max-2))
c(i)
=c(i)+2;
elseif(c(i)
<max-2)
c(i)
=c(i)+2;
end
end
dd
=reshape(c,m,n);
figure,imshow(dd,[]),title(
'恢复的图像');



a
=imread('c:bbb.png');

x
=a;
x1
=embed;
x
=double(x);
x1
=double(x1);
fori=1:256;
forj=1:256;
MYa(i,j)
=x(i,j)^2;%afterfiltering'ssingle
MYb(i,j)=x(i,j)-x1(i,j);
end
end
d
=0;
e
=0;
fori=1:256;
forj=1:256;
d
=d+MYa(i,j);
e
=e+MYb(i,j)*MYb(i,j);
end
end
f
=log10(d/e);
g
=10*f
分享到:
评论

相关推荐

    代码 人员疏散过程建模仿真代码

    代码 人员疏散过程建模仿真代码代码 人员疏散过程建模仿真代码代码 人员疏散过程建模仿真代码代码 人员疏散过程建模仿真代码代码 人员疏散过程建模仿真代码代码 人员疏散过程建模仿真代码代码 人员疏散过程建模仿真...

    代码 强插型有优先级的M_M_m排队系统仿真代码

    代码 强插型有优先级的M_M_m排队系统仿真代码代码 强插型有优先级的M_M_m排队系统仿真代码代码 强插型有优先级的M_M_m排队系统仿真代码代码 强插型有优先级的M_M_m排队系统仿真代码代码 强插型有优先级的M_M_m排队...

    光纤光栅matlab仿真代码

    本资源包含多个光纤光栅的MATLAB仿真代码,这些代码可以帮助用户深入理解光纤光栅的工作原理,以及相关参数对光栅性能的影响。 1. **光纤光栅基本概念**: 光纤光栅(Fiber Bragg Grating,FBG)是通过在光纤内部...

    C++机器人仿真代码.zip

    C++机器人仿真代码.zipC++机器人仿真代码.zipC++机器人仿真代码.zipC++机器人仿真代码.zipC++机器人仿真代码.zipC++机器人仿真代码.zipC++机器人仿真代码.zipC++机器人仿真代码.zipC++机器人仿真代码.zipC++机器人...

    仿真代码,可以直接用的代码

    在IT行业中,仿真代码是一种非常重要的工具,尤其在软件开发、系统设计以及科研等领域。这里的标题和描述提及的“仿真代码,可以直接用的代码”暗示我们这是一个可以直接运行的代码库,用于进行某种形式的模拟或仿真...

    Robocup仿真救援代码

    3. **传感器模型**:为了模拟真实的机器人,代码需要处理来自各种传感器(如摄像头、激光雷达、红外传感器)的数据。这部分代码会处理这些模拟数据,并将其转化为机器人可以理解的信息。 4. **控制系统**:这部分...

    足球机器人仿真代码 C++

    【足球机器人仿真代码 C++] 是一个使用C++编程语言实现的项目,旨在通过软件模拟足球比赛中的机器人行为,包括抢球、发球和射门等关键动作。在计算机科学领域,这种模拟通常属于机器人控制算法和游戏引擎开发的范畴...

    演化博弈仿真代码

    在这个特定的压缩包文件中,包含了一个名为"yanhuaboyi.txt"的文本文件,我们可以推测这可能是用某种编程语言编写的演化博弈的仿真代码。 演化博弈的核心思想是模仿生物进化过程中的自然选择和适应性,将这种机制...

    通信天线建模与MATLAB仿真分析代码

    通信天线建模与MATLAB仿真分析代码 通信天线建模与MATLAB仿真分析代码 通信天线建模与MATLAB仿真分析代码 通信天线建模与MATLAB仿真分析代码 通信天线建模与MATLAB仿真分析代码 通信天线建模与MATLAB仿真分析代码 ...

    Matlab FMCW雷达仿真代码

    Matlab FMCW雷达仿真代码

    基于Matlab的卫星轨道仿真(源代码).zip

    基于Matlab的卫星轨道仿真(源代码) 基于Matlab的卫星轨道仿真(源代码) 基于Matlab的卫星轨道仿真(源代码) 基于Matlab的卫星轨道仿真(源代码) 基于Matlab的卫星轨道仿真(源代码) 基于Matlab的卫星轨道...

    信道仿真matlab代码范例

    文档中提及的“Matlab仿真”和“附件”可能意味着仿真代码是独立的文件,与主体文档分开提供。 在标签部分,“信道仿真 matlab 代码 范例”,标签简单地重复了标题中的主要内容,进一步确认了文档的内容与信道仿真...

    用于室内定位的TDOA算法matlab仿真代码.rar

    本文将深入探讨TDOA算法的基本原理,并通过MATLAB仿真代码进行详细解析。 1. TDOA算法简介: TDOA算法基于多基站接收信号的时间差信息,通过三角定位原理计算目标位置。假设存在三个或更多个基站,当信号同时从目标...

    多机器人防碰 MATLAB仿真代码.zip

    多机器人防碰 MATLAB仿真代码.zip多机器人防碰 MATLAB仿真代码.zip多机器人防碰 MATLAB仿真代码.zip多机器人防碰 MATLAB仿真代码.zip多机器人防碰 MATLAB仿真代码.zip多机器人防碰 MATLAB仿真代码.zip多机器人防碰 ...

    "基于PID算法与虚拟结构构建的多智能体控制系统研究-大量仿真代码及三种仿真效果分析的参考文献集锦",基于PID和结构的多智能体控制 仿真代码量大,有3种仿真效果,包含相应的参考文献 #pyth

    "基于PID算法与虚拟结构构建的多智能体控制系统研究——大量仿真代码及三种仿真效果分析的参考文献集锦",基于PID和结构的多智能体控制。 仿真代码量大,有3种仿真效果,包含相应的参考文献。 #python仿真代码 ,...

    代码 各个城市之间基于sis的传染病matlab仿真代码

    代码 各个城市之间基于sis的传染病matlab仿真代码代码 各个城市之间基于sis的传染病matlab仿真代码代码 各个城市之间基于sis的传染病matlab仿真代码代码 各个城市之间基于sis的传染病matlab仿真代码代码 各个城市...

    维也纳大学LTE的系统仿真代码

    本文将深入探讨维也纳大学提供的LTE(Long Term Evolution)系统级仿真代码,该代码是基于MATLAB实现的。MATLAB,全称Matrix Laboratory,是一款强大的数学计算软件,常用于数值分析、算法开发、数据可视化以及模型...

    202-秒表(51单片机C语言实例Proteus仿真和代码)

    202-秒表(51单片机C语言实例Proteus仿真和代码)202-秒表(51单片机C语言实例Proteus仿真和代码)202-秒表(51单片机C语言实例Proteus仿真和代码)202-秒表(51单片机C语言实例Proteus仿真和代码)202-秒表(51单片机C语言...

    连续定常系统全维状态观测器simulink仿真m代码

    全维状态观测器simulink仿真m代码连续定常系统全维状态观测器simulink仿真m代码连续定常系统全维状态观测器simulink仿真m代码连续定常系统全维状态观测器simulink仿真m代码连续定常系统全维状态观测器simulink仿真m...

    113-串口通讯(51单片机C语言实例Proteus仿真和代码)

    113-串口通讯(51单片机C语言实例Proteus仿真和代码)113-串口通讯(51单片机C语言实例Proteus仿真和代码)113-串口通讯(51单片机C语言实例Proteus仿真和代码)113-串口通讯(51单片机C语言实例Proteus仿真和代码)113-串口...

Global site tag (gtag.js) - Google Analytics