二维图像的原子匹配追踪投影算法的图像重建matlab仿真

122 阅读2分钟

1.算法描述

       原子快速匹配追踪信号稀疏分解算法,并将其应用于静态图像编码.多原子匹配追踪通过每次迭代选取多个原子的形式,实现信号的快速稀疏分解.在此基础上,通过构造多尺度脊波字典实现图像的稀疏分解,并对稀疏分解的数据进行自适应量化和编码.实验结果表明,多原子匹配追踪获得了与匹配追踪相当的逼近性能,同时极大地提高了稀疏分解的速度.

 

2.仿真效果预览

matlab2022a仿真结果如下:

1.png

3.MATLAB核心程序

`%j改变尺度因子,从0到9(log512)

for j=j_min:j_max

    

   %p改变平移因子,p的最小值为0,最大值从1024开始减小到2

   for p=p_min:N*2^(-j+1)

       

      %k改变频率因子,p的最小值为0,最大值从2增大到1024

      for k=k_min:2^(j+1)

          

         %i改变相位因子,变化范围从0到12

         for i=i_min:i_max

             

            %尺度因子以2为底指数增大

            s=a_base^j;

            

            %平移因子线形增加,考虑到尺度因子对平移的影响,因此应乘以尺度因子

            u=psu_base;

            

            %频率因子线形减小,考虑到尺度因子对频率的影响,因此应除以尺度因子

            v=k*(1/s)*v_base;

            

            %相位线形增加            

            w=i*w_base;

            

            %构造字典

            t=0:N-1;

            t=(t-u)/s;

            g=(1/sqrt(s))exp(-pit.*t).cos(vt+w);     

            %归一化

            g=g/sqrt(sum(g.*g));

            

            %误差信号在字典上的投影

            proj_trans=sum(signal_r.*g);

            

            %比较,取较大值返回各参数供重建原子用

            if abs(proj_trans)>abs(proj)

               %返回投影值

               proj=proj_trans;

               %返回尺度参数

               scale=s;

               %返回平移参数

               translation=u;

               %返回频率参数

               freq=v;

               %返回相位参数

               phase=w;

            end

         end

      end

   end

end

A_063`