多媒体实验二图片的压缩处理Word下载.docx

上传人:b****2 文档编号:14053427 上传时间:2022-10-17 格式:DOCX 页数:12 大小:662.42KB
下载 相关 举报
多媒体实验二图片的压缩处理Word下载.docx_第1页
第1页 / 共12页
多媒体实验二图片的压缩处理Word下载.docx_第2页
第2页 / 共12页
多媒体实验二图片的压缩处理Word下载.docx_第3页
第3页 / 共12页
多媒体实验二图片的压缩处理Word下载.docx_第4页
第4页 / 共12页
多媒体实验二图片的压缩处理Word下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

多媒体实验二图片的压缩处理Word下载.docx

《多媒体实验二图片的压缩处理Word下载.docx》由会员分享,可在线阅读,更多相关《多媒体实验二图片的压缩处理Word下载.docx(12页珍藏版)》请在冰豆网上搜索。

多媒体实验二图片的压缩处理Word下载.docx

4.利用MATLAB程序进行图像压缩;

(二)实验环境

1.高档微机:

MPC

2.课前准备:

标准实验纸张若干张

3.操作系统:

Windows2000或WindowsXP中文版

4.编程工具:

Matlab7.0

(三)实验过程及结果

实验原理:

1.图像压缩原理

图像压缩主要目的是为了节省存储空间,增加传输速度。

图像压缩的理想标准是信息丢失最少,压缩比例最大。

不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;

损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。

压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。

信息的冗余量有许多种,如空间冗余,时间冗余,结构冗余,知识冗余,视觉冗余等,数据压缩实质上是减少这些冗余量。

高效编码的主要方法是尽可能去除图像中的冗余成分,从而以最小的码元包含最大的图像信息。

编码压缩方法有许多种,从不同的角度出发有不同的分类方法,从信息论角度出发可分为两大类。

(1).冗余度压缩方法,也称无损压缩、信息保持编码或嫡编码。

具体说就是解码图像和压缩编码前的图像严格相同,没有失真,从数学上讲是一种可逆运算。

(2)信息量压缩方法,也称有损压缩、失真度编码或烟压缩编码。

也就是说解码图像和原始图像是有差别的,允许有一定的失真。

应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类:

(1)无损压缩编码种类

哈夫曼(Huffman)编码,算术编码,行程(RLE)编码,Lempelzev编码。

(2)有损压缩编码种类

预测编码,DPCM,运动补偿;

频率域方法:

正交变换编码(如DCT),子带编码;

空间域方法:

统计分块编码;

模型方法:

分形编码,模型基编码;

基于重要性:

滤波,子采样,比特分配,向量量化;

(3)混合编码。

有JBIG,H261,JPEG,MPEG等技术标准。

本实验主要利用MATLAB程序进行离散余弦变换(DCT)压缩和行程编码(RunLengthEncoding,RLE)。

2.图像压缩的方法:

1.有损压缩:

(离散余弦变换(DCT)图像压缩原理)

压缩原理介绍:

离散余弦变换DCT在图像压缩中具有广泛的应用。

和相同图像质量的其他常用文件格式(如GIF(可交换的图像文件格式),TIFF(标签图像文件格式),PCX(图形文件格式))相比,JPEG是目前静态图像中压缩比最高的。

JPEG比其他几种压缩比要高得多,而图像质量都差不多(JPEG处理的图像只有真彩图和灰度图)。

正是由于其高压缩比,使得JPEG被广泛地应用于多媒体和网络程序中。

JPEG有几种模式,其中最常用的是基于DCT变换的顺序型模式,又称为基本系统(Baseline)。

用DCT压缩图像的过程为:

(1)首先将输入图像分解为8×

8或16×

16的块,然后对每个子块进行二维DCT

变换。

(2)将变换后得到的量化的DCT系数进行编码和传送,形成压缩后的图像格

式。

用DCT解压的过程为:

(1)对每个8×

16块进行二维DCT反变换。

(2)将反变换的矩阵的块合成一个单一的图像。

余弦变换具有把高度相关数据能量集中的趋势,DCT变换后矩阵的能量集中在矩阵的左上角,右下的大多数的DCT系数值非常接近于0。

对于通常的图像来说,舍弃这些接近于0的DCT的系数值,并不会对重构图像的画面质量带来显著的下降。

所以,利用DCT变换进行图像压缩可以节约大量的存储空间。

压缩应该在最合理地近似原图像的情况下使用最少的系数。

使用系数的多少也决定了压缩比的大小。

在压缩过程的第2步中,可以合理地舍弃一些系数,从而得到压缩的目的。

在压缩过程的第2步,还可以采用RLE和Huffman编码来进一步压缩。

离散余弦(DCT)压缩代码:

1)利用DCT变换进行图像压缩的MATLAB程序:

RGB=imread('

1.JPG'

);

I=rgb2gray(RGB);

J=dct2(I);

imshow(log(abs(J),[]),colormap(jet(64)),colorbar

J(abs(J)<

10)=0;

K=idct2(J);

figure,imshow(I);

figure,imshow(K,[0,255]);

2)利用离散余弦变换进行JPEG图像压缩:

2)

I=imread('

I=rgb2gray(I);

I=im2double(I);

T=dctmtx(8);

B=blkproc(I,[88],'

P1*x*P2'

T,T'

mask=[11110000

11100000

11000000

10000000

00000000

00000000];

B2=blkproc(B,[88],'

P1.*x'

mask);

I2=blkproc(B2,[88],'

T'

T);

Subplot(1,2,1);

Imshow(I);

title('

原图像'

Subplot(1,2,2);

Imshow(I2);

压缩图像'

截图:

原图像与压缩图像

2.无损压缩:

(利用行程编码(RLE)进行图像压缩原理)

RLE(Run-LengthEncoding行程长度编码)算法是Windows系统中使用的一种图像文件压缩方法,其基本思想是:

将一扫描行中颜色值相同的相邻像素用两个字节来表示,第一个字节是一个计数值,用于指定像素重复的次数;

第二个字节是具体像素的值[2]。

主要通过压缩除掉数据中的冗余字节或字节中的冗余位,从而达到减少文件所占空间的目的。

例如,有一表示颜色像素值的字符串RRRRRGGBBBBBB,用RLE压缩方法压缩后可用5R2G6B来代替,显然后者的串长度比前者的串长度小得多。

译码时按照与编码时采用的相同规则进行,还原后得到的数据与压缩前的数据完全相同。

因此,RLE是无损压缩技术。

对于拥有大面积,相同颜色区域的图像,用RLE压缩方法非常有效。

 例如如下这幅的二值图像,

  

  如果采用行程编码可以按如下格式保存

  其中10和8表示图像的宽和高。

在这个小例子中行程编码并没有起到压缩图像的作用。

这是由于这个图的尺寸过小,当图像尺寸较大时行程编码还是不错的无损压缩方法。

对于灰度图像和二值图像,用行程编码—般都有很高的压缩率。

行程编码方法实现起来很容易,对于具有长重复值的串的压缩编码很有效,例如:

对于有大面积的阴影或颜色相同的图像,使用这种方法压缩效果很好。

很多位图文件格式都采用行程编码,如TIFF,PCX,GEM,BMP等。

行程编码压缩代码:

girl.bmp'

[mnl]=size(I);

fid=fopen('

yc.txt'

'

w'

sum=0;

fork=1:

l

fori=1:

m

num=0;

J=[];

value=I(i,1,k);

forj=2:

n

ifI(i,j,k)==value

num=num+1;

%统计相邻像素灰度级相等的个数

ifj==n

J=[J,num,value];

end

elseJ=[J,num,value];

%J的形式是先是灰度的个数及该灰度的值

value=I(i,j,k);

num=1;

col(i,k)=size(J,2);

%记录Y中每行行程行程编码数

 sum=sum+col(i,k);

Y(i,1:

col(i,k),k)=J;

%将I中每一行的行程编码J存入Y的相应行中

end

[m1,n1,l1]=size(Y);

disp('

原图像大小:

'

whos('

I'

NameSizeBytesClassAttributes

I512x512x3786432uint8

压缩图像大小:

Y'

Y512x974x31496064uint8

图像的压缩比:

disp(m*n*l/sum);

0.5476

subplot(1,2,1),imshow(I),title('

subplot(1,2,2),imshow(Y),title('

行程编码解码后的图像'

save('

)%存储,以便解码用

col'

fclose(fid);

load('

col.mat'

原图像与压缩图像:

图像的数据:

行程编码表:

图像的大小和压缩比例:

>

0.5476

四.实验过程分析和建议

1图像的就是图像重新进行编码,希望用更少的数据表示图像,以及减少信息的冗余量,其中就包含有损压缩和无损压缩,主要目的是为了节省存储空间,增加传输速度。

2.其中两种方法都有自己的优点和缺点,其中有损压缩可以达到很高的压缩比,但是图像的质量有所下降,会部分失真,而无损压缩可以保持原图像的真度,行程编码的压缩方法对于自然图片来说是不太可行的,因为自然图片像素点错综复杂,同色像素连续性差,如果硬要用行程编码方法来编码就适得其反,图像体积不但没减少,反而加倍。

鉴于计算机桌面图,图像的色块大,同色像素点连续较多,所以行程编码对于计算机桌面图像来说是一种较好的编码方法。

五.实验心得体会

实验过程中练习MATLAB的使用对图片进行编写代码处理,包括有损压缩和无损压缩两种方法的比较,以及对图像压缩比的认识,从而学到了不少新的知识,对多媒体技术处理图像压缩有了更加全面,更深度的了解。

六.思考题

1.图像中哪些信息是主要的,哪些信息是次要的?

2.简述离散余弦变换(DCT)和行程编码(RLE)的原理。

答:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 临床医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1