資源簡介
arnold置亂 置亂周期 arnold置亂中應用置亂周期
代碼片段和文件信息
function?Arnold1(ImageFrequencycrypt)
%圖像數(shù)值矩陣Arnold轉(zhuǎn)換函數(shù)
%輸入?yún)?shù)
%???Image:????待加密(待解密)圖像文件名(注意寫格式后綴),只能為二維
%???Frequency:???圖像需要變換迭的次數(shù)
%???????crypt???????????0~加密;1~解密
%輸出參數(shù)
%???M:?????轉(zhuǎn)換后圖像數(shù)據(jù)矩陣
%????????????輸出由M對應的圖像文件
if?nargin<3
????disp(‘請按程序的輸入?yún)?shù)格式輸入?yún)?shù)!!!‘);
????return;
end
if?crypt~=0?&&?crypt~=1
????disp(‘encrypt?必須為0或1!‘);
end
%將Q賦值給M,計算Q的大小
Q=imread(Image);
M?=?Q?;
Size_Q???=?size(Q);
%如果不是二維或三維數(shù)組,則不處理,返回
if?(length(Size_Q)?==?2)?
???if?Size_Q(1)?~=?Size_Q(2)?
??????disp(‘不是方陣,不能Arnold轉(zhuǎn)換‘);
??????return
???end
else
???disp(‘不是二維數(shù)組,不進行Arnold變換‘);
???return?
end
????%---------------------------------------
???%Arnold轉(zhuǎn)換
???n?=?0;
???K?=?Size_Q(1);
???
???M1_t?=?Q;
???M2_t?=?Q;
???
???if?crypt==1???%解密
???????Frequency=ArnoldPeriod(?Size_Q(1)?)-Frequency;
???end
???????
???for?s?=?1:Frequency
???????n?=?n?+?1;
???????if?mod(n2)?==?0
????????????for?i?=?1:K
???????????????for?j?=?1:K
??????????????????c?=?M2_t(ij);
??????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????542??2008-11-13?12:11??10.bmp
?????文件???????1707??2009-03-22?08:17??Arnold1.m
-----------?---------??----------?-----??----
?????????????????2249????????????????????2
評論
共有 條評論