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

简介: 【图像压缩】基于二叉树和优化截断(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代码问题可私信交流。

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


相关文章
|
18天前
|
机器学习/深度学习 边缘计算 人工智能
【无人机】采用NOMA的节能多无人机多接入边缘计算(Matlab代码实现)
【无人机】采用NOMA的节能多无人机多接入边缘计算(Matlab代码实现)
|
18天前
|
机器学习/深度学习 传感器 运维
【电机轴承监测】基于matlab声神经网络电机轴承监测研究(Matlab代码实现)
【电机轴承监测】基于matlab声神经网络电机轴承监测研究(Matlab代码实现)
|
18天前
|
数据采集 算法 调度
【电力系统】基于matlab虚拟电厂内部负荷调度优化模型(matlab+yalmip+cplex)(Matlab代码实现)
【电力系统】基于matlab虚拟电厂内部负荷调度优化模型(matlab+yalmip+cplex)(Matlab代码实现)
|
18天前
|
传感器 并行计算 算法
【无人机编队】基于非支配排序遗传算法II NSGA-II高效可行的无人机离线集群仿真研究(Matlab代码实现)
【无人机编队】基于非支配排序遗传算法II NSGA-II高效可行的无人机离线集群仿真研究(Matlab代码实现)
|
18天前
|
机器学习/深度学习 算法 新能源
【优化调度】基于matlab粒子群算法求解水火电经济调度优化问题研究(Matlab代码实现)
【优化调度】基于matlab粒子群算法求解水火电经济调度优化问题研究(Matlab代码实现)
|
18天前
|
机器学习/深度学习 存储 并行计算
【无人机】基于MPC的无人机路径规划研究(Matlab代码实现)
【无人机】基于MPC的无人机路径规划研究(Matlab代码实现)
123 6
|
18天前
|
存储 并行计算 算法
【图像压缩】在 MATLAB 中使用奇异值分解 (SVD) 进行图像压缩(Matlab代码实现)
【图像压缩】在 MATLAB 中使用奇异值分解 (SVD) 进行图像压缩(Matlab代码实现)
137 3
|
19天前
|
算法 Java 计算机视觉
【图像去模糊】非盲去模糊实景图像处理,使用点扩散函数(PSF)快速去除实景图像中的模糊(Matlab代码实现)
【图像去模糊】非盲去模糊实景图像处理,使用点扩散函数(PSF)快速去除实景图像中的模糊(Matlab代码实现)
120 2
|
19天前
|
机器学习/深度学习 资源调度 算法
【图像去噪的滤波器】非局部均值滤波器的实现,用于鲁棒的图像去噪研究(Matlab代码实现)
【图像去噪的滤波器】非局部均值滤波器的实现,用于鲁棒的图像去噪研究(Matlab代码实现)
|
19天前
|
机器学习/深度学习 分布式计算 算法
【投资组合】具有多个视野的动态投资组合管理研究(Matlab代码实现)
【投资组合】具有多个视野的动态投资组合管理研究(Matlab代码实现)

热门文章

最新文章