首页 > 行业资讯 > 【图像压缩】基于SPIHT算法实现图像压缩附matlab代码

【图像压缩】基于SPIHT算法实现图像压缩附matlab代码

时间:2022-05-22 来源: 浏览:

【图像压缩】基于SPIHT算法实现图像压缩附matlab代码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集

1 简介

多级树集合分裂(Set Partitioning in Hierarchi⁃cal Trees,SPIHT)算法相比嵌入式零树小波(Em⁃bedded Zero Wavelet,EZW)和优化截取内嵌码块编码(Embedded Block Coding with Optimized Trunca⁃tion,EBCOT)节省了大量硬件资源和内存单元,具有很好的渐进传输特性。另外,SPIHT算法的复杂度较低,峰值信噪比较高,是 FPGA 系统实现医学图像编码压缩的较好选择。

2 部分代码

function [app_sig,det_sig] = fldwt9_7(input_signal) % Function % [app_sig,det_sig] = fldwt9_7(input_signal) % % The forward lifting discrete wavelet transform (FLDWT) using the 9-7 Antonini filters [x,y] = size(input_signal); if x ~=1 input_signal = input_signal’; %%making it a row vector end alp = -1.586134342; bet = -0.05298011854; gam = 0.8829110762; delt = 0.4435068522; psi = 1.149604398; %%%we deem the number of the vector is even s0 = input_signal(1:2:length(input_signal)); %%信号的奇数 %%对信号进行奇偶分裂 d0 = input_signal(2:2:length(input_signal)); %%信号的偶数 tt = length(s0); s0 = [s0 s0(tt-1)]; %将s0倒数第二个数复制到末尾,变为257个元素 d0 = d0 + alp*(s0(1:length(s0)-1) + s0(2:length(s0))); %%%对d0256个数进行了变化 s0 = s0(1:tt); %%恢复没增加前的s0,即变为256个元素 d0 = [d0(1) d0]; %%将d0的第一个元素复制一次,放在第一个元素位置,将其它元素顺延 s0 = s0 + bet*(d0(2:length(d0)) + d0(1:length(d0)-1)); d0 = d0(2:tt+1);%%将d0变为256个元素 s0 = [s0 s0(tt-1)]; d0 = d0 + gam*(s0(1:length(s0)-1) + s0(2:length(s0))); s0 = s0(1:tt); d0 = [d0(1) d0]; s0 = s0 + delt*(d0(2:length(d0)) + d0(1:length(d0)-1)); d0 = d0(2:tt+1); app_sig = psi*s0; det_sig = (1/psi)*d0; if x~=1 app_sig = app_sig’; det_sig = det_sig’; end

3 仿真结果

4 参考文献

[1]赵米旸, 陈卫东, 卢晓燕. 基于SPIHT的改进图像压缩算法[J]. 应用光学, 2007, 28(4):5.

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

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

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐