資源簡介
利用分數階傅里葉變換的方法,通過迭代相位將加密圖像替換為所需要的相位達到加密效果,上傳壓縮包包括代碼和圖片,不需要任何修改即可運行。

代碼片段和文件信息
function?y?=?Disfrft(fap)
%
%?Computes?discrete?fractional?Fourier?transform
%?of?order?a?of?vector?x
%?p?(optional)?is?order?of?approximation?default?N/2
%
%
?
N?=?length(f);?even?=?~rem(N2);
shft?=?rem((0:N-1)?+?fix(N/2)N)+1;
f?=?f(:);
if?(nargin?==?2)?p?=?N/2;?end;
p?=?min(max(2p)N-1);
E?=?dFRFT(Np);
y(shft1)?=?E*(exp(-j*pi/2*a*([0:N-2?N-1+even])).‘?.*(E‘*f(shft)));
?
function?E?=?dFRFT(Np)
%
%?function?E?=?dFRFT(Nap)?returns?the?NxN?eigenvectors?of?the?
%?Fourier?transform?matrix
%?The?optional?argument?p?is?the?order?of?approximation
?
global?E_saved?p_saved
?
if?(length(E_saved)?~=?N?|?p_saved?~=?p)
????E?=?make_E(Np);
????E_saved?=?E;?p_saved?=?p;
else
????E?=?E_saved;?
end;
?
function?E?=?make_E(Np)
?
%?Returns?sorted?eigenvectors?and?eigenvalues?of?corresponding?vectors
?
%?Construct?matrix?H?use?approx?order?ord
?
d2?=?[1?-2?1];?d_p?=?1;?s?=?0;?st?=?zeros(1N);
for?k?=?1:p/2
????d_p?=?conv(d2d_p);
????st([N-k+1:N1:k+1])?=?d_p;?st(1)?=?0;
????temp?=?[1:k;1:k];?temp?=?temp(:)‘./[1:2*k];
????s?=?s?+?(-1)^(k-1)*prod(temp)*2*st;????????
end;
?
%?H?=?circulant?+?diagonal
?
col?=?(0:N-1)‘;?row?=?(N:-1:1);
idx?=?col(:ones(N1))?+?row(ones(N1):);
st?=?[s(N:-1:2).‘;s(:)];
H?=?st(idx)?+?diag(real(fft(s)));
?
%?Construct?transformation?matrix?V
?
r?=?floor(N/2);
even?=?~rem(N2);
V1?=?(eye(N-1)?+?flipud(eye(N-1)))?/?sqrt(2);
V1(N-r:endN-r:end)?=?-V1(N-r:endN-r:end);
if?(even)?V1(rr)?=?1;?end
V?=?eye(N);?V(2:N2:N)?=?V1;
?
%?Compute?eigenvectors
?
VHV?=?V*H*V‘;
E?=?zeros(N);
Ev?=?VHV(1:r+11:r+1);???????????Od?=?VHV(r+2:Nr+2:N);
[veee]?=?eig(Ev);???????????????[voeo]?=?eig(Od);?
?
%
%?malab?eig?returns?sorted?eigenvalues
%?if?different?routine?gives?unsorted?eigvals?then?sort?first
%
%?[dinde]?=?sort(diag(ee));??????[dindo]?=?sort(diag(eo));
%?ve?=?ve(:inde‘);???????????????vo?=?vo(:indo‘);
%
?
E(1:r+11:r+1)?=?fliplr(ve);?????E(r+2:Nr+2:N)?=?fliplr(vo);
E?=?V*E;
?
%?shuffle?eigenvectors
?
ind?=?[1:r+1;r+2:2*r+2];?ind?=?ind(:);
if?(even)?ind([NN+2])?=?[];?else?ind(N+1)?=?[];?end
E?=?E(:ind‘);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????56243??2005-12-05?09:43??相位迭代加密\cameraman.GIF
?????文件???????2146??2016-04-29?19:14??相位迭代加密\Disfrft.m
?????文件????????367??2016-04-29?19:50??相位迭代加密\frft2d.m
?????文件???????1473??2017-05-11?21:15??相位迭代加密\GSfenxi.m
?????文件???????1368??2017-05-12?10:32??相位迭代加密\jieshubianhuan.m
?????文件??????66614??2004-03-23?21:24??相位迭代加密\lena.bmp
?????文件??????80718??2005-12-02?10:07??相位迭代加密\monkey.GIF
?????文件????????329??2017-06-13?21:05??相位迭代加密\Psnr1.m
?????文件????????688??2017-05-09?19:38??相位迭代加密\similar.m
?????文件???????1474??2017-06-03?17:22??相位迭代加密\Unti
?????文件???????1040??2017-05-11?21:11??相位迭代加密\wanshan.m
?????文件??????43669??2017-06-13?13:11??相位迭代加密\zzy.jpg
?????目錄??????????0??2018-04-19?13:25??相位迭代加密
-----------?---------??----------?-----??----
???????????????256129????????????????????13
- 上一篇:F822改為普通交換機腳本
- 下一篇:會員等級及積分設計
評論
共有 條評論