《用matlab仿真huffman编码在jpg图像压缩中的应用崔微微》由会员分享,可在线阅读,更多相关《用matlab仿真huffman编码在jpg图像压缩中的应用崔微微(3页珍藏版)》请在人人文库网上搜索。

1、用matlab仿真huffman编码在jpg图像压缩中的应用1.jpg图像的定义:JPEG是Joint Photographic Experts Group(联合图像专家组)的缩写,文件后辍名为jpg或jpeg,是最常用的图像文件格式,是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。尤其是使用过高的压缩比例,将使最终解压缩后恢复的图像质量明显降低,如果追求高品质图像,不宜采用过高压缩比例。但是JPEG压缩技术十分先进,它用有损压缩方式去除冗余的图像数据,在获得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的。

2、磁盘空间得到较好的图像品质。而且 JPEG是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比例对文件进行压缩,支持多种压缩级别,压缩比率通常在10:1到40:1之间,压缩比越大,品质就越低;相反地,压缩比越小,品质就越好。比如可以把137Mb的BMP位图文件压缩至203KB。当然也可以在图像质量和文件尺寸之间找到平衡点。JPEG格式压缩的主要是高频信息,对色彩的信息保留较好,适合应用于互联网,可减少图像的传输时间,可以支持24bit真彩色,也普遍应用于需要连续色调的图像。2.huffman编码huffman编码是一种高效的无失真信源编码方法,所得到的码字具有最短的平均码长。3.用m。

3、atlab仿真用huffman编码对一图像进行压缩的例子(1)编码思路:先将一个模拟图形进行抽样量化,像素量化成九个灰度级。然后进行huffman编码,最后进行压缩率的计算。(2)编码程序如下:% 图像的huffman编码过程%将模拟图形进行抽样量化clear all;close all;clc;Dimens = 256; % 矩阵维数,假设矩阵为方阵即256*256src_size = Dimens2; % 矩阵元素的个数gray_level = 9; % 灰度级src = randn(Dimens); %产生模拟图像矩阵,满足正态分布,零均值,方差为1 src_one = reshape(。

4、src,1,src_size);src_max = max(src_one);src_min = min(src_one);quan = linspace(src_min,src_max,gray_level); % 产生均匀量化区间src_d = ; % 数字矩阵for row = 1:Dimens % 逐点量化for vol = 1:Dimensdiff = abs(src(row,vol)-quan);min_diff,min_index = min(diff);quan_gray = min_index -1;src_d(row,vol) = quan_gray;endend% pro。

5、b数组保存图像中各灰度出现的概率prob = ; for src_value=0:(gray_level-1)index = find(src_d=src_value);i = src_value + 1;prob(i) = length(index)/src_size;end% huffman编码p = prob;n=length(p); q=p; m=zeros(n-1,n); for i=1:n-1 q,l=sort(q); m(i,:)=l(1:n-i+1),zeros(1,i-1); q=q(1)+q(2),q(3:n),1; end bre=zeros(n-1,n);bre(n-1。

6、,1)=0+j; %虚部表示当前的二进制数的位数,以下类似bre(n-1,2)=1+j;for time=1:n-2loc_1 = find(real(m(n-time,:)=1);prebit = bre(n-time,loc_1);bre(n-time-1,1) = (real(prebit)*2 + 0) + j*(imag(prebit)+1);bre(n-time-1,2) = (real(prebit)*2 + 1) + j*(imag(prebit)+1);loc_not1 = find(real(m(n-time,:)1);bre(n-time-1,3:3+time-1) = 。

7、bre(n-time,loc_not1);endm1,index = sort(m(1,:);code = bre(1,index);code_data = real(code);code_bits = imag(code);disp(gray level, , huffman code);for i = 1:length(code)disp(num2str(i-1), ,num2str(dec2bin(code_data(i);endcode_binary = dec2bin(code_data);%逐点编码out = ;for row = 1:Dimens for vol = 1:Dime。

8、nsnow_gray = src_d(row,vol);now_code = code_binary(now_gray+1,:);now_bits = code_bits(now_gray+1);now_code = now_code(end-now_bits+1:end);out = out, now_code;endend%计算压缩比real_bitnum = length(out);bitnum_no_huffman = src_size*nextpow2(gray_level);comp_ratio =bitnum_no_huffman/real_bitnum;Hshannon = (-1)*prob*(log2(prob);disp(comp_ratio = ,num2str(comp_ratio);disp(Hshannon = ,num2str(Hshannon);(3)matlab运行结果如下:gray level huffman code0 1 2 110013 1114 05 106 11017 8 comp_ratio = 1.9087Hshannon = 2.0186。

matlab霍夫曼图像压缩,用matlab仿真huffman编码在jpg图像压缩中的应用崔微微相关推荐

  1. Python实现霍夫曼树

    Python实现霍夫曼树 霍夫曼树是一种特殊的二叉树,是一种带权路径长度最短的二叉树,又称为最优二叉树. 给定 N 个权值作为二叉树的 N 个叶节点的权值,构造一棵二叉树,若该二叉树的带权路径长度达到 ...

  2. 霍夫曼算法_霍夫曼编码算法

    霍夫曼算法 In this tutorial, we'll be discussing and implementing the Huffman Coding Algorithm in Java. 在 ...

  3. labview霍夫曼编码_为什么霍夫曼编码好?

    7 个答案: 答案 0 :(得分:3) 如果为最常用使用的符号指定较少的数字或位或较短的代码字词,则可以节省大量存储空间. 假设您要为英文字母分配26个唯一代码,并希望根据这些代码存储英文小说(仅限字 ...

  4. 直线检测——对比M-LSD直线检测(基于深度学习)与霍夫曼直线检测

    前言 1.直线检测在好多实现应用中能用到到,比如文档扫描,辅助驾驶中的车道线检测,传统的算法用的最多应该属于霍夫曼直线检测,但传统算法都有一个痛苦的调参过程和只能对优化过的使用场景有较好的结果,换个场 ...

  5. 基于霍夫曼(Huffman)图像编码的图像压缩和重建-含Matlab代码

    目录 一.引言 二.霍夫曼Huffman编码 2.1 霍夫曼编码流程 2.2 输入数据的编码 三.霍夫曼解码 四.实验结果 五.参考文献 六.Matlab代码(GUI界面)获取 一.引言 随着通信与信 ...

  6. 【第 13 章 基于霍夫曼图像压缩重建--Matlab深度学习实战图像处理应用】

    基于霍夫曼图像压缩重建 部分参考来源: https://blog.csdn.net/qq_59747472/article/details/121890265 为了节省空间,在对数据进行编码时,可以对 ...

  7. 霍夫曼编码代码matlab,matlab 实现霍夫曼编码

    编码内容包括:用matlab实现霍夫曼编码,并且求出相应的信源熵,平均码长,和编码效率. 以下是代码: %霍夫曼编码 %huffman_code %编码思路:根据位置矩阵的变化过程反推生成霍夫曼编码 ...

  8. matlab完成信源编码译码,matlab哈夫曼译码

    Huffman 编码的 matlab 实现 一.信源编码介绍 为了...经典的方法还是仙农编码 法.费诺编码法和霍夫曼...信源编码和译码,而是事先规定一个 译码差错率的...... 2013 Vol ...

  9. jpg图片与jpeg图片格式的区别(没有区别,.jpg只是扩展名.jpeg的缩写)JPEG图像压缩(YUV4:2:0 缩减采样、缩减取样)(离散余弦变换 DCT算法)(量化)(熵编码)(霍夫曼哈夫曼)

    文章目录 20191026 20220414 更新,更系统去了解里面的编码压缩流程 科普:关于图像格式JPG和JPEG你知多少? 一.前言 二.JPEG和JPG的关系 三.色彩空间转换 缩减取样 离散 ...

最新文章

  1. python 工业自动化 人工智能_浅谈人工智能神经网络与工业自动化
  2. 【Vegas原创】网站计数器(asp)
  3. 【2013年总结】 向着IT前进
  4. 代码创建 WPF 旋转动画
  5. CF1303F - Number of Components(并查集)
  6. java用hashmap_Java集合之HashMap的用法
  7. IE浏览器通过代码控制文档对象模式
  8. hdu1426 Sudoku Killer
  9. 2022年java学习路线指南
  10. 数据库设计——手机售卖系统(带源码)
  11. 解决执行HiveSQL时,报could not be cleaned up的错误
  12. 关于insert和periodic的问题
  13. Matlab如何调用外部函数/工具包,如何将新函数加到默认函数库中
  14. php实现星座查询,php-十二星座查询系统(原创)
  15. JavaScript中的计时器与定时器
  16. 备赛笔记:Opencv学习:颜色识别
  17. ET篇:做好准备工作并运行master分支的Demo
  18. ActionFormer: Localizing Moments of Actions with Transformers论文总结
  19. Unity台北場優化分享 达哥 讲 Unity优化
  20. Android GMS Checklist【Android gms认证自检表】

热门文章

  1. 蓝桥杯练习之用Python解手算题
  2. 软件公司,销售管理门道(七)销售协同
  3. antd 实现 sidebar 左侧菜单·记
  4. 分享爬虫的简单知识。附带爬虫案例。
  5. RT-Thread:U盘有时无法识别BUG修复
  6. ABAP 计量单位转换
  7. 《游戏机图鉴》:一份献给游戏玩家的回忆录
  8. 「编程猫」融资13亿破记录 编程是如何风靡到小学生课程的?
  9. 相信吗?你的电脑也能和外星文明实现接触
  10. 电商千万用户 mysql设计_Mysql电商设计用户模块 一