• 【图像压缩】基于二叉树和优化截断(BTOT)实现遥感图像压缩附matlab代码


    1 内容介绍

    遥感影像数据量大,需要在星载设备上通过低复杂度算法进行压缩。具有自适应扫描顺序的二叉树编码(BTCA)是一种有效的任务算法。但是,对于大规模的遥感影像,BTCA 需要大量的内存,并且不提供随机访问特性。在本文中,我们提出了一种基于 BTCA 的新编码方法并优化截断。小波图像首先被分成几个块,分别由 BTCA 编码。根据 BTCA 的性质,我们选择有效的截断点对每个块仔细优化率失真比,从而获得更高的压缩比,更低的内存需求和随机访问特性。该方法无需任何熵编码,简单快速,非常适用于星载设备。在三个遥感图像集上进行了实验,结果表明它可以显着提高PSNR 、SSIM和VIF,以及主观视觉体验。​

    2 仿真代码

    %% matlab code for BTOT(Binary Tree and Optimized Truncation)

    clc;clear;

    %% -----------   Input   ----------------

    imname = 'SanDiego.bmp';

    I_Orig = double(imread(imname));

    [row, col] = size(I_Orig);

    blksize = 64;  

    %% -----------   Wavelet Decomposition   -------------

    n_log = log2(row); 

    level = floor(n_log);

    I_Dec = wavecdf97(I_Orig, level);

        

    n_min = 1;

    brates = [0.0625, 0.125, 0.25, 0.5, 1];

    %% -----------   Coding   ----------------

    [out_code, blklen, n_max, n_min, out_S,out_R,out_N] = encode(I_Dec, blksize, n_min);    

    %% -----------   Decoding   ----------------

    disp([ 'aa_BTOT_' imname(1:end-4) '=[']);

    for rate=brates

        I_DecR = decode(out_code, blklen, n_max, n_min, blksize, row, rate, out_S,out_R,out_N);

        

        I_Rec = wavecdf97(I_DecR, -level);

        MSE = sum(sum((I_Rec - I_Orig).^2))/(row*row);

        PSNR = 10*log10(255*255/MSE);

        disp([sprintf('%.4f',rate) ' ' sprintf('%.2f',PSNR)]);   

    end

    disp('];');

    figure

    subplot(211)

    imshow(I_Orig,[])

    title('原图')

    subplot(212)

    imshow( I_Rec,[] )

    title('压缩图')

    3 运行结果

    4 参考文献

    [1] A K K H ,  A H L ,  B C X R , et al. Remote sensing image compression based on binary tree and optimized truncation - ScienceDirect[J]. Digital Signal Processing, 2017, 64:96-106.

    博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

    部分理论引用网络文献,若有侵权联系博主删除。

     

  • 相关阅读:
    QML中使用正则表达式
    ZZCMS201910——二次安装漏洞
    NLP(六十七)BERT模型训练后动态量化(PTDQ)
    AI视频剪辑:批量智剪技巧大揭秘
    虚拟路由冗余协议_VRRP
    腾讯云免费SSL证书申请流程_2023更新教程
    《C和指针》笔记29:数组名和指针
    动态规划太难了?是你没有找对方法,四题带你搞懂动态规划!
    logback--进阶--02--Logger,Appenders 和 Layouts
    速卖通店铺流量下滑什么原因,如何做提升?(测评补单)
  • 原文地址:https://blog.csdn.net/matlab_dingdang/article/details/126446134