Advertisement

数字水印与Arnold变换的Matlab代码实现

阅读量:

🍍原文: 图像加密笔记之 Arnold 变换及 Matlab 代码实现

🍍写在前面: 在原文的基础上补全了代码。注意,Matlab 貌似是从 1 开始计数的,而非 0!

核心代码实现与分析

\mathsf{Arnold} 变换所采用的混淆算法代码展示如下:

复制代码
    img_new=zeros(h,w)  % h和w分别是原始图像的高度和宽度
    for i=1:n  % n是置乱的轮数
    for y=1:h
        for x=1:w           
            xx=mod((x-1)+b*(y-1),N)+1;  % a和b是可自行指定的参数
            yy=mod(a*(x-1)+(a*b+1)*(y-1),N)+1;        
            img_new(yy,xx)=img(y,x);                
        end
    end
    img=img_new;
    end
    
    
      
      
      
      
      
      
      
      
      
      
      
    

\mathsf{Arnold} 变换的逆向实现代码

全部评论 (0)

还没有任何评论哟~