资源简介
Arnold 变换的典型算法, Matlab程序。
代码片段和文件信息
function ZZP_Arnold(Imagekey)
%输入参数说明:
% Image: 待加密的图像文件名(注意写格式后缀),只能为二维
% key: 图像需要变换迭代的次数(密钥)
%输出参数说明:
% M: 置乱后图像数据矩阵
% zzp.bmp: 输出由M对应的图像文件
%中间变量说明
% N: 图像的阶数
% T: 图像的周期
%*********************图像数值矩阵Arnold转换函数****************************
%输入格式控制
if nargin<2 %如果输入参数小于2
disp(‘请按程序的输入参数格式输入参数!!!‘);
return;
end
%----------------------------Arnold 变换-----------------------------------
message=double(imread(Image)); %读入文件
Size_Q = size(message); %计算原始图像的大小
Mm=size(message1); %计算原始图像矩阵的行数
Nm=size(message2); %计算原始图像矩阵的列数
%如果不是二维或三维数组,则不处理,返回
if (length(Size_Q) == 2)
if Mm~=Nm
disp(‘不是方阵,不能Arnold转换‘);
return
end
else
disp(‘不是二维数组,不进行Arnold变换‘);
return
end
tempImg=message; %图像矩阵赋给tempImg
for n=1:key %置乱次数
for u=1:Mm
for v=1:Nm
temp=tempImg(uv);
ax=mod((u-1)+(v-1)Mm)+1; %新像素行位置
ay=mod((u-1)+2*(v-1)Nm)+1; %新像素列位置
outImg(axay)=temp;
end
end
tempImg=outImg;
end
% 显示原始图像
figure(1)
subplot(121);
imshow(message[]);
title(‘原始图像‘);
%显示置乱后的图像
subpl
- 上一篇:BP神经网络matlab(简单而经典).
- 下一篇:matlab 图像边缘检测代码
相关资源
- 基于DCT变换的数字水印算法matlab代码
- matlab实现图像的旋转变换
- 随机hough变换的matlab实现,源码解释很
- 二维小波变换的matlab程序
- 基于小波变换的零水印算法matlab
- 基于小波变换的图像增强
- radon变换车牌倾斜校正Matlab代码
- K-L变换算法
- DCT变换和DFT变换 数字图像压缩 Mat
- 广义霍夫变换的MATLAB源码
- matlab 图像离散余弦变换(源代码)
- 基于改进S变换的电压骤降检测程序
- Hough变换检测直线
- 小波变换去除心电基线漂移
- Gabor变换,MATLAB,边缘检测
- radon变换C代码
- 高斯窗的短时傅里叶变换变换程序
- 小波变换进行语音增强的matlab代码
- 小波变换分割彩色图像
- DCT变换交互式原理与应用 matlab
- 小波变换可用例程
- matlab二维快速傅里叶变换原创.rar
- Keystone变换仿真程序
- hht变换中emd批量处理数据
- 二维图像frft变换MATLAB程序
- 基于Simuink的移相全桥DC/DC变换器
- 基于小波变换的图像匹配
- 基于Matlab的boxcox变换算法实现
- matlab图像融合程序
- matlab实现小波变换融合以及信息熵、
评论
共有 条评论