动态规划之图形的压缩

目录

  1. 图形的压缩简介
  2. 详细说明
  3. 最优子结构性质
  4. 举例
  5. 代码块
  6. 测试结果

图形的压缩简介

在计算机中常用像素点灰度值序列{p1,p2,….,pn}表示图像。其中,整数pi(1<=i<=n)表示像素点i的灰度值。
灰度值的范围是0~255。因此需要用8位表示一个像素。

压缩的原理就是吧序列{p1,p2,……pn}进行设断点,将其分割成一段一段的。分段的过程就是要找出断点,让一段里面的像素的最大灰度值比较小,那么这一段像素(本来需要8位)就可以用较少的位(比如7位)来表示,从而减少存储空间。


举例及其详细说明

设置三个数组 b[],l[],s[],b代表bits,l代表length,s代表sum。b[]代表每段一个像素点所需要的最小存储空间。
l[]代表每段有几个像素点。s[]代表从0压缩到i的所有像素点占的最小空间。

如果限制l[i]<=255,则需要8位来表示[i]。而b[i]<=8,需要3位表示b[i],所以每段所需的存储空间位l[i]*b[i]+11位。假设将原图分成m段,那么需要
这里写图片描述位的存储空间

图像压缩问题就是要确定像素序列{p1,p1,……pn}的最优分段,使得依此分段所需的存储空间最小。


最优子结构性质

设l[i],b[i],1<=i<=m是{p1,p2…..,pn}的最优分段。显而易见,l[1],b[1]是{p1,….,pl[1]}的最优分段,且l[i],b[i],2<=i<=m是{pl[i]+1,…pn}的最优分段。即图像压缩问题满足最优子结构性质.又因为断点可以在最有分段之间随意选择最后来选择最小的一个压缩空间,所以要求最优分段的min。即:
设s[i],1<=i<=n是像素序列{p1,p1,……pi}的最优分段所需的存储位数,则s[i]为前i-k个的存储位数加上后k个的存储空间。由最优子结构性质可得:
这里写图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值