Hello Mat

 找回密码
 立即注册
查看: 3075|回复: 0

基于小波变换的分解重构(图像压缩)

[复制链接]

1298

主题

1524

帖子

114

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
22653
发表于 2017-2-5 11:10:00 | 显示全部楼层 |阅读模式
    采用Bior算子,对图像进行小波分解、重构,对图像的第一层和第二层信息进行压缩,MATLAB程序如下:
  1. clc,clear,close all                    % 清屏、清工作区、关闭窗口
  2. warning off                         % 消除警告
  3. feature jit off                       % 加速代码执行
  4. load wbarb;
  5. subplot(2,2,1);image(X);
  6. colormap(map);
  7. xlabel('(a) 原始图像');
  8. axis square   
  9. disp('压缩前图像X的大小');       % 显示文字
  10. whos('X')                        % 显示图像属性

  11. %对图像用小波进行层小波分解
  12. [c,s]=wavedec2(X,2,'bior3.7');    % 提取小波分解结构中的一层的低频系数和高频系数
  13. cal=appcoef2(c,s,'bior3.7',1);    % 水平方向
  14. ch1=detcoef2('h',c,s,1);         % 垂直方向
  15. cv1=detcoef2('v',c,s,1);         % 斜线方向
  16. cd1=detcoef2('d',c,s,1);
  17. %各频率成份重构
  18. a1=wrcoef2('a',c,s,'bior3.7',1);
  19. h1=wrcoef2('h',c,s,'bior3.7',1);
  20. v1=wrcoef2('v',c,s,'bior3.7',1);
  21. d1=wrcoef2('d',c,s,'bior3.7',1);
  22. c1=[a1,h1;v1,d1];

  23. %显示分频信息
  24. subplot(2,2,2);image(c1);
  25. colormap(jet)                     % 设置色彩索引图
  26. axis square;                      % 设置显示比例
  27. xlabel ('(b) 分解后低频和高频信息');

  28. ca1=appcoef2(c,s,'bior3.7',1);
  29. ca1=wcodemat(ca1,440,'mat',0);
  30. %改变图像高度并显示
  31. ca1=0.5*ca1;

  32. subplot(2,2,3);image(ca1);
  33. colormap(map);                    % 设置色彩索引图
  34. axis square;                       % 设置显示比例
  35. xlabel('(c) 第一次压缩图像');
  36. disp('第一次压缩图像的大小为:');   % 显示文字
  37. whos('ca1')                       % 显示图像属性

  38. %保留小波分解第二层低频信息进行压缩
  39. ca2=appcoef2(c,s,'bior3.7',2);
  40. %首先对第二层信息进行量化编码
  41. ca2=wcodemat(ca2,440,'mat',0);
  42. %改变图像高度并显示
  43. ca2=0.25*ca2;

  44. subplot(2,2,4);image(ca2);  
  45. colormap(map);                    % 设置色彩索引图
  46. axis square;                       % 设置显示比例
  47. xlabel('(d) 第二次压缩图像');  
  48. disp('第二次压缩图像的大小为:');   % 显示文字
  49. whos('ca2')                       % 显示图像属性
复制代码


算法QQ  3283892722
群智能算法链接http://halcom.cn/forum.php?mod=forumdisplay&fid=73
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Python|Opencv|MATLAB|Halcom.cn ( 蜀ICP备16027072号 )

GMT+8, 2024-5-19 10:56 , Processed in 0.214411 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表