图像压缩编码
1、必要性
信息时代,数据量大增,因此无论传输或存储都需要对数据进行有效的压缩。图像的数据量非常大, 为了有效地传输或存储图像,有必要压缩图像的数据量,而且随着现代通信技术的发展,要求传输的图像信息的种类和数据量越拉越大,若不对其进行数据压缩,使难以推广应用。图像压缩就是对图像数据按照一定的规则进行变换和组合,用尽可能少的数据量来表示影像。在遥感探测、多媒体录放、视频通信、互联网络等领域进行图像压缩是十分必要的 。
2、可行性
从压缩的客体—“数字图像”来看,原始图像数据是高度相关的,存在很大的冗余。数据冗余造成比特数浪费,消除这些冗余可以节约码字,也就是到了数据压缩的目的。图像越有规则,其自相关系数越大,图像的空间冗余就越大。
从人体的视觉系统和大脑来看,有些图像信息相对来说不那么重要,除去这些信息并不会明显降低人言所感受的图像质量。
3、分类
图像压缩编码从不同的角度出发,有不同的分类方法。根据压缩过程有无信息损失,可以分为有损编码和无损文档。
4、评价指标
压缩比和失真性是衡量图像压缩的重要指标。
压缩比:图像压缩前后的信息量之比。
失真性:对有损编码而言,是指图像经过有损压缩,然后其解码的图像与原图像之间的误差。
例6.2.1
%读入图像并进行灰度转换
I=imread(‘pears.png’);
imshow(I)
IGRAY=rgb2gray(I);
[m n]=size(IGRAY);
%建立数组RLEcode,其中元素排列形式为[行程起始行坐标、行程列坐标、灰度值]
c=I(1,1);RLEcode(1,1:3)=[1 1 c];
t=2;
% 进行行程编码
for k=1: m
for j=1: n
if(not(and(k==1,j==1)))
if(not(I(k,j)==c))
RLEcode(t,1:3)=[k j I(k,j)];
c=I(k,j);
t=t+1;
end
end
end
end
例6.2.2
%读入图像并转换成二值图像
I=imread(‘pears.png’);
imshow(I)
IBM=im2bw(I);
[m n]=size(IBW);
%建立数组RLEcode,其中元素排列形式为[行程起始行坐标、行程列坐标、灰度值]
c=I(1,1);RLEcode(1,1:3)=[1 1 c];
t=2;
%进行行程编码
for k=1:m
for j=1:n
if(not(and(k==1,j==1)))
if(not(IBW(k,j)==c))
RLEcode(t,1:3)=[k j IBW(k,j)];
c=IBW(k,j);
t=t+1;
end
end
end
end