转换成灰度图像Рsubplot(2,2,2);Рimshow(uint8(A));Рtitle('灰度图像');Р[M,N]=size(A);Рdata=zeros(M,N);Рc=N/gcd(M,N);РA1=zeros(M,N);Рfor loop=1:2Р for x=1:MР for y=1:NР Р x1=mod(x+y,M);Р if x1==0Р x1=M;Р endР Р y1=mod(c*x+(1+c)*y,N);Р if y1==0Р y1=N;Р endР Р data(x1,y1)=mod(A(x,y)+x^2+y^2,256);%改变像素值Р %data(x1,y1)=A(x,y); Р endР endР A1=data;РendРsubplot(2,2,3);Рimshow(uint8(A1));Рtitle('加密后图像');%加密后的图像РA2=zeros(M,N);РA3=zeros(M,N);Рfor loop=1:2Р for x1=1:MР for y1=1:N Р y2=mod(y1-c*x1,N);Р if y2==0Р y2=N;Р end Р x2=mod(x1-y2,M);Р if x2==0Р x2=M;Р endР A2(x2,y2)=mod(A1(x1,y1)-x2^2-y2^2,256);%恢复像素值Р %A2(x2,y2)=A1(x1,y1);Р endР endР A3=A2;РEndРsubplot(2,2,4);Рimshow(uint8(A3));Рtitle('解密后图像');Р五、仿真测试Р运行程序,结果如下图,可以正确解密加密后的图像。Р图6-1 M=N时灰度图像加密解密Р图6-2 M=N时彩色图像加密解密Р图6-3 M≠N时灰度图像加密解密Р图6-4 M≠N时彩色度图像加密解密Р六、实验结果及分析