⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 izigzag.m

📁 % 这是参照 University of California 提供的 MPEG 源代码的基础上编制的。 %用分块方法(8x8的块)对图象做zigzag变换
💻 M
字号:
function a=izigzag(v,m,n)
% 这是参照 University of California 提供的 MPEG 源代码的基础上编制的。
%用分块方法(8x8的块)对图象做逆zigzag变换,
%效率极高,程序简洁,属信息隐藏中常用的方法之一。
%作者:辽宁大学 信息学院 范铁生
%email:fts0@163.com

a=zeros(m,n);
a(1,1)=v(1);
counter=2;
for k=3:1:m+n
    b1=bound1(k,a);
    b2=bound2(k,a);
    if mod(k,2)==1
        for p=b1:1:b2
            a(p,k-p)=v(counter);
            counter=counter+1;
        end
    else
        for p=b2:-1:b1
            a(p,k-p)=v(counter);
            counter=counter+1;
        end
    end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% inner function
function b1=bound1(k,a)
[m,n]=size(a);
for b1=1:1:m
    q=k-b1;
    if q<=n
        return
    end
end
%%%%%%%%%%%%%%%%%%%%%%
function b2=bound2(k,a)
[m,n]=size(a);
for q=1:1:n
    b2=k-q;
    if b2<=m
        return
    end
end
%%%%%%%%%%%%%%%%%%%%%



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -