行程编码的基本原理是:用一个符号值或串长代替具有相同值的连续符号(连续符号构成了一段连续的“行程”。行程编码因此而得名),使符号长度少于原始数据的长度。只在各行或者各列数据的代码发生变化时,一次记录该代码及相同代码重复的个数,从而实现数据的压缩。
常见的游程编码格式包括TGA,Packbits,PCX以及ILBM。
行程编码是连续精确的编码,在传输过程中,如果其中一位符号发生错误,即可影响整个编码序列,使行程编码无法还原回原始数据。
游程长度在栅格加密时,数据量没有明显增加,压缩效率较高,且易于检索、叠加合并等 *** 作,运算简单,适用于机器存储容量小,数据需大量压缩,而又要避免复杂的编码和解码运算,增加处理和 *** 作时间的情况。
I=checkerboard(10,2)[m,n]=size(I)
J=[]
for i=1:m
value=I(i,1)
num=1
for j=2:n
if I(i,j)==value
num=num+1
else J=[J num value]
num=1
value=I(i,j)
end
end
J=[J num value 0 0]
end
disp('原图像大小:')
whos('I')
disp('压缩图像大小:')
whos('J')
disp('图像压缩比:')
disp(m*n/length(J))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)