matlab香农编码

本文介绍了如何在MATLAB中实现香农编码,包括读入图像、统计灰度值概率、计算信源熵以及详细步骤:概率降序排列、累加概率计算、码长和平均码长求解、码字生成。
摘要由CSDN通过智能技术生成

在这里插入图片描述
1、读入图像
使用imread()函数读入图像,由于m文件和图像放在同一目录下,故采用相对路径。

img = imread('1.png');

2、统计灰度值
使用imhist()函数,对图像的灰度值在[0,255]上做统计,统计每个灰度值出现的概率size()函数用来计算图像的大小。

num = imhist(img);
[m,n] = size(img);
px = num / (m*n)

3、计算图像的信源熵

I = -log2(px);
HX = I .* px;
HX(isnan(HX)) = 0;
entropy = sum(result)
fprintf('图像的信源熵=%f\n',entropy);

4、对图像进行香农编码,实验代码见附录
(1)对每个

  • 2
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值