?? zongsuanfa.m
字號:
I=imread('greens.jpg');
if isgrb(I)
[M N R]=size(I);
data1=zeros(M,N);
data2=zeros(M,N);
data3=zeros(M,N);
for i=1:M
for j=1:N
data1(i,j)=I(i,j,1);
data2(i,j)=I(i,j,2);
data3(i,j)=I(i,j,3);
end
end
I=double(I);
[M,N]=size(I);
Y=zeros(M,N);
f=zeros(M,N);
u=3.9;
q=rand(1);
for t=1:2
for i=1:M
for j=1:N
x=i;
y=j;
temp=data1(i,j);
% temp=data2(i,j);
% temp=data3(i,j);
x1=mod(x+y,M)+1;
y1=mod(x+2*y,N)+1;
Y(x1,y1)=temp;
Y(i,j)=I(x1,y1);
f(i,j)=round(((I(i,j)+1)*255)/2);
str1=dec2base(f(i,j),2,8);
str2=dec2base(I(i,j),2,8);
for k=1:8
str3(k)=xor(str2num(str1(k)),str2num(str2(k)));
end
I2(i,j,t)=bin2dec(num2str(str3));
q=q*(1-q)*u;
end
end
end
T=zeros(M,N,3);
for i=1:M
for j=1:N
T(i,j,1)=data1(i,j);
T(i,j,2)=data2(i,j);
T(i,j,3)=data3(i,j);
end
end
figure(1)
subplot(2,2,1),imshow(unit8(I));
title('原始圖象')
subplot(2,2,2),imshow(unit8(Y));
title('cat變換后的圖象')
subplot(2,2,3),imshow(unit8(I2));
title('本文加密算法2次后的圖象')
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -