有以下方法:
1.我们需要对matlab有一个初步的了解后,才可能完成后续的步骤,例子如下:
2.现在我们需要把图形隐藏起来,也就是不主动d出图形窗口,这一步需要我们了解相关的函数句柄的知识,具体看图:
3.在上一步中,函数图形的可见性(visible)已经关闭(off),也就是被隐藏起来了,接着我们得把plot函数做出的图形给保存起来,具体以.png的格式,看图
4.以我们自己命名图片的名字,本文这次命名为baidu,同时展示效果如图:
扩展另一个功能:Matlab给系统自动生成的窗体Figure1改名称
1当我们调用plot()函数时MATLAB会耐皮坦自动生成一个命名为Figure1的窗体昌桐,我们想修改它握枝的名字。如下图
2在命令行中输入如下代码
figure('NumberTitle', 'off', 'Name', '晓博基于BP神经网络的xor测试程序')
运行代码,结果如下图
3对于窗体中的坐标线和说明文字显示我们加入如下代码
hold on %刷新窗口
plot(a(:,1),a(:,2),'r--')%绘图函数
title('四组数据仿真的预测输出分部')
xlabel('仿真次序') %x轴
ylabel('仿真的预测输出')%y轴
4对于窗体中加入自已定位的文字的方法进行介绍,效果如下图
5
a=get(gca)
x=a.XLim%获取横坐标上下限
y=a.YLim%获取纵坐标上下限
k=[0.8 0.9]%给定text相对位置
x0=x(1)+k(1)*(x(2)-x(1))%获取text横坐标
y0=y(1)+k(2)*(y(2)-y(1))%获取text纵坐标
t=sprintf('仿真修正:+ \n期望:O')
text(x0,y0,t,'fontsize',8)
看下这个程序function main()%主要思想是从派好两幅图像中选取信息,然后置乱成一幅图像。
%这样可以从要加密的多幅(2*n幅)图像中,按照上述思想,得到一半数目(n幅)的图像。
%对得到的图像进行早和自适应算法的隐藏,又可以得到(n-1)幅的图像。
%对(n-1)幅的图像进行Arnold变换,得到(n-1)幅的图像作为密钥,此外,密钥还有迭代次数,置乱规则,Arnold加密规则
%主要缺点是Arnold的周期较大,程序的运行的时间长些,我的电脑需要8分钟,另外,Arnold只能处理方阵
%图像的置乱加密算法很多,本程序中用到的置乱加密算法只是其中一种方法,仅仅提出一个多幅图像加密的思想,后期还有许多的工作要做。
%读入四幅图像
F1 = imread('lena.gif')
F2 = imread('monkey.gif')
F3 = imread('house.gif')
F4 = imread('cameraman.gif')
%对图像的置乱
pic1_zhiluan = zhiluan(F1,F2)
pic2_zhiluan = zhiluan(F3,F4)
%显示置乱后的图像
pic1_zhiluan = uint8(pic1_zhiluan)
figure,imshow(pic1_zhiluan),title('pic1 zhiluan')
pic2_zhiluan = uint8(pic2_zhiluan)
figure,imshow(pic2_zhiluan),title('pic2 zhiluan')
%将两幅置乱图像进行隐藏
X1 = input('请输入一个混合迭代参数:')
pic1_hide = hide(pic1_zhiluan,X1,pic2_zhiluan)
%对隐藏后的图像进行Arnold置乱加密
diedai1 = input('请输入一个迭代的参数:')
pic1_jiami = Arnold(pic1_hide,diedai1,0)
%显示陆羡盯加密后的图像
pic1_jiami = uint8(pic1_jiami)
figure,imshow(pic1_jiami),title('pic1 jiami')
diedai2 = input('请输入一个迭代的参数:')
pic2_jiami = Arnold(pic2_zhiluan,diedai2,0)
pic2_jiami = uint8(pic2_jiami)
figure,imshow(pic2_jiami),title('pic2 jiami')
%解密图像
pic1_jiemi = Arnold(pic1_jiami,diedai1,1)
pic2_jiemi = Arnold(pic2_jiami,diedai2,1)
%恢复隐藏后的图像
pic1_huifu = huifu(pic1_jiemi,X1,pic2_jiemi)
%置乱的逆处理,得到恢复后的图像
[image1,image2] = ni_zhiluan(pic1_huifu)
[image3,image4] = ni_zhiluan(pic2_jiemi)
%显示各个图像
F1 = uint8(F1)
figure,imshow(F1),title('F1')
figure,imhist(F1),title('F1的直方图')
image1 = uint8(image1)
figure,imshow(image1),title('image1')
figure,imhist(image1),title('image1的直方图')
F2 = uint8(F2)
figure,imshow(F2),title('F2')
figure,imhist(F2),title('F2的直方图')
image2 = uint8(image2)
figure,imshow(image2),title('image2')
figure,imhist(image2),title('image2的直方图')
F3 = uint8(F3)
figure,imshow(F3),title('F3')
figure,imhist(F3),title('F3的直方图')
image3 = uint8(image3)
figure,imshow(image3),title('image3')
figure,imhist(image3),title('image3的直方图')
F4 = uint8(F4)
figure,imshow(F4),title('F4')
figure,imhist(F4),title('F4的直方图')
image4 = uint8(image4)
figure,imshow(image4),title('image4')
figure,imhist(image4),title('image4的直方图'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)