www.pudn.com > Arnold.rar > iarnold.m, change:2014-07-11,size:633b


function H=iarnold(w,n,q) 
%w=imread('3.jpg'); 
%w=rgb2gray(w); 
%H=arnold(w,36); 
%去水印图像的维数. 
w=double(w); 
[c,d]=size(w); 
%定义一个零矩阵用于设置Arnold变换后生成的新图像. 
w1=zeros(c,d); 
u=w; 
 
for count=1:q-n %%%%%%%%%%%%%%%%%%%%%%%%%%36次 
    if count~=1 
	    w=w1; 
    end 
    %对每个像素的x,y坐标进行Arnold变换 
    for i=1:c 
	    for j=1:d 
		    i1=i+j; 
		    j1=i+2*j; 
		    i1=mod(i1,c); 
		    j1=mod(j1,d); 
		   %将每个像素的x,y坐标对应的灰度值放入定义的数组E中. 
			w1(i1+1,j1+1)=w(i,j); 
        end 
    end 
     
end 
w1=uint8(w1); 
%输出大图. 
figure; 
imshow(w1,[]); 
title('还原后图像'); 
H=w1;