图像处理--行程编码

   最近做一个远程协助的系统,涉及了图像处理,本文讲讲图像编码--行程编码。图像编码方法有很多,而且比行程编码好的也不少,但由于水平有限,我主要是选用了无失真的行程编码。
一、图像编码必要性
  虽然现在已经把真彩图像转化为256色图片,体积已经减少到1/3,但就一个1024×768桌面的来说也有768.8kB的体积,所以要进一步把图像压缩,编码。为了能达到更快的计算速度,降低图像发送端的负担,所以采用算法简单、运算速度快的行程编码方法编码。
二、行程编码介绍
  行程编码的基本思想:将一行中颜色值相同的相邻象素用一个计数值和该颜色值来代替。例如aaabccccccddeee可以表示为3a1b6c2d3e。如果一幅图象是由很多块颜色相同的大面积区域组成,那么采用行程编码的压缩效率是惊人的。然而,该算法也导致了一个致命弱点,如果图象中每两个相邻点的颜色都不同,用这种算法不但不能压缩,反而数据量增加一倍。
  行程编码的可行性讨论:行程编码的压缩方法对于自然图片来说是不太可行的,因为自然图片像素点错综复杂,同色像素连续性差,如果硬要用行程编码方法来编码就适得其反,图像体积不但没减少,反而加倍。鉴于计算机桌面图,图像的色块大,同色像素点连续较多,所以行程编码对于计算机桌面图像来说是一种较好的编码方法。行程编码算法特点:有算法简单、无损压缩、运行速度快、消耗资源少等优点。
三、行程编码的实现
(1)、实现描述
  我们要编码的是256色位图,而256色位图的调色板里的数据连续性很差,所以我们对调色板后面的图像数据进行编码,调色板数据不纳入编码内容。另外设最大行程为255,一个字节。

即编码前文件与编码后文件结构对比:


实现代码:

#include "windows.h"
#include <stdlib.h>

/******************************

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值