![]() |
[求助]分段编码原理及算法
由于图像相邻像素点的灰度级具有连续和集中的特点,
可以对灰度级进行分段编码。图像像素的灰度级有256 级, 每像素点的灰度级用8 比特表示。将256 级分为16 段,每一 段包括16 级,用高4 位表示段数,低4 位表示段内级数。当连 续相邻像素点的灰度级落在同一段中时,只需用一个4 比特 表示它们共同的段数,在此称作段码,然后每个像素只需用4 比特来表示各自在段内的级数。只有当相邻像素的灰度级跨 段的时候,才需要使用另一个4 比特表示改变了的段数。解 码时,将表示共同段数的段码作为高4 位,每个段内级数作为 低4 位,还原成原始图像对应像素点的8 比特灰度级。这样, 就能利用图像相邻像素点的灰度级具有连续和集中的特点以 达到压缩图像的目的。 接下来讨论在图像解压过程中,怎样识别灰度级跨段的 情况。由于灰度级的段数和级数都是用4 比特表示的,无法 区分哪个4 比特是表示段数,哪个4 比特是表示级数,所以必 须使用特殊码字来区分。在此采用1111 来区分,即编码时,遇 到灰度级跨段便在段码前插入1111,而当段内级数为1111 时, 将其减1,用1110 表示;解码时,遇到1111 便将其去掉,并将紧 随其后的4 比特作为段码,然后在遇到下一个1111 之前,将每 个4 比特作为段内级数分别与段码一起作为对应像素点的灰 度级。如果连续有两个1111,则第2 个1111 应作为实际的数 据(即段码)。 [SIZE="4"] 我想根据这个思想编MATLAB程序,希望高手可以指点一下![/SIZE] |
所有时间均为北京时间。现在的时间是 05:09。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.