• 大小: 917B
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: Matlab
  • 标签:

资源简介

matlab程序,实现了图像的分解与压缩。

资源截图

代码片段和文件信息

function [LLHLLHHH]=improve97(x)
m=length(size(x));
x=double(x);
LL=[];HL=[];LH=[];HH=[];
m1=-1.5861343420693648;
m2=-0.0529801185718856;
m3=0.8829110755411875;
m4=0.4435068520511142;
m5=1.1496043988602418;
if m>2
    error(‘this is not a 2d image!‘);
else if m==2
    %先处理列,使列缩小为原来大小的一半,得到LH
   s1=x(:1:2:end-1);
   s0=x(:2:2:end);
   s01=conv2([s1s1(:end)][m1m1]);
   s01=s01(:2:1:end-1);
   s0=s0+s01;
   s11=conv2([s0(:1)s0][m2m2]);
   s11=s11(:2:1:end-1);
   s1=s1+s11;
   s02=conv2([s1s1(:end)][m3m3]);
   s02=s02(:2:1:end-1);
   s0=s0+s02;
   s12=conv2([s0(:1)s0][m4m4]);
   s12=s12(:2:1:end-1);
   s1=s1+s12;
   s1=s1.*m5;
   s0=s0./m5;
   %在处理行(L部分),使行缩小为原来大小的一半,得到LLLH
   s1=s1‘;
   s21=s1(:1:2:end-1);
   s20=s1(:2:2:end);
   s01=conv2([s21s21(:end)][m1m1]);
   s01=s01(:2:1:end-1);
   s20=s20+s01;
   s11=conv2([s20(:1)s20][m2m2]);
   s11=s11(:2:1:end-1);
   s21=s21+s11;
   s02=conv2([s21s21(:end)][m3m3]);
   s02=s02(:2:1:end-1);
   s20=s20+s02;
   s12=conv2([s20(:1)s20][m4m4]);
   s12=s12(:2:1:end-1);
   s21=s21+s12;
   s21=s21.*m5;
   s20=s20./m5;
   LL=s21‘;LH=s20‘;
   %处理行(H部分),得到HHHL
   s0=s0‘;
   s31=s0(:1:2:end-1);
   s30=s0(:2:2:end);
   s01=conv2([s31s31(:end)][m1m1]);
   s01=s01(:2:1:end-1);
   s30=s30+s01;
   s11=conv2([s30(:1)s30][m2m2]);
   s11=s11(:2:1:end-1);
   s31=s31+s11;
   s02=conv2([s31s31(:end)][m3m3]);
   s02=s02(:2:1:end-1);
   s30=s30+s02;
   s12=conv2([s30(:1)s30][m4m4]);
   s12=s12(:2:1:end-1);
   s31=s31+s12;
   s31=s31.*m5;
   s30=s30./m5;
   HH=s30‘;HL=s31‘;
else 
   s1=x(:1:2:end-1);
   s0=x(:2:2:end);
   s01=conv([s1s1(:end)][m1m1]);
   s01=s01(:2:1:end-1);
   s0=s0+s01;
   s11=conv([s0(:1)s0][m2m2]);
   s11=s11(:2:1:end-1);
   s1=s1+s11;
   s02=conv([s1s1(:end)][m3m3]);
   s02=s02(:2:1:end-1);
   s0=s0+s02;
   s12=conv([s0(:1)s0][m4m4]);
   s12=s12(:2:1:end-1);
   s1=s1+s12;
   s1=s1.*m5;
   s0=s0./m5;
   LL=s1;HH=s0;
    end
end
save X LL;
figure(1);
subplot(231);imshow(x[]);
title (‘原始图像‘);
subplot(232);imshow(LL[]);
title (‘分解后的细节部分‘);
subplot(233);imshow(HL[]);
title (‘分解后的垂直部分‘);
subplot(234);imshow(LH[]);
title (‘分解后的水平部分‘);
subplot(235);imshow(HH[]);
title (‘分解后的对角线部分‘);
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2452  2015-05-29 10:35  improve97.m

评论

共有 条评论

相关资源