多媒体技术讲义_第1页
多媒体技术讲义_第2页
多媒体技术讲义_第3页
多媒体技术讲义_第4页
多媒体技术讲义_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一、彩色数字图像基础一、实验目的1、熟练掌握matlab中常用的各种简单命令;2、了解常用的图像文件格式及bmp文件的结构;3、用matlab读取图像文件并显示出来二、基本原理讲解1、matlab简介MATLAB是一门计算机编程语言,取名来源于Matrix Laboratory,本意是专门以矩阵的方式来处理计算机数据,它把数值计算和可视化环境集成到一起,非常直观,而且提供了大量的函数,使其越来越受到人们的喜爱,工具箱越来越多,应用范围也越来越广泛。2、常用bmp文件结构bmp文件大体上分成四个部分,如图1.1所示。位图文件头BITMAPFILEHEADER位图信息头BITMAPINFOHE

2、ADER调色板Palette实际的位图数据ImageDate图1.1 Windows位图文件结构示意图第一部分为位图文件头BITMAPFILEHEADER,是一个结构,其定义如下:typedef struct tagBITMAPFILEHEADER WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; BITMAPFILEHEADER; 这个结构的长度是固定的,为14个字节(WORD为无符号16位整数,DWORD为无符号32位整数),各个域的说明如下:bfType指定文件类型,必须是0x4

3、24D,即字符串“BM”,也就是说所有.bmp文件的头两个字节都是“BM”。bfSize指定文件大小,包括这14个字节。bfReserved1,bfReserved2 为保留字,不用考虑bfOffBits为从文件头到实际的位图数据的偏移字节数,即图1.3中前三个部分的长度之和。第二部分为位图信息头BITMAPINFOHEADER,也是一个结构,其定义如下:typedef struct tagBITMAPINFOHEADERDWORD biSize; LONG biWidth; LONG biHeight; WORD biPlanes; WORD biBitCount DWORD biCompr

4、ession; DWORD biSizeImage; LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; BITMAPINFOHEADER; 这个结构的长度是固定的,为40个字节(LONG为32位整数),各个域的说明如下:biSize指定这个结构的长度,为40。biWidth指定图像的宽度,单位是象素。biHeight指定图像的高度,单位是象素。biPlanes必须是1,不用考虑。biBitCount 指定表示颜色时要用到的位数,常用的值为1(黑白二色图), 4(16色图), 8(

5、256色), 24(真彩色图)(新的.bmp格式支持32位色,这里就不做讨论了)。biCompression指定位图是否压缩,有效的值为BI_RGB,BI_RLE8,BI_RLE4,BI_BITFIELDS(都是一些Windows定义好的常量)。要说明的是,Windows位图可以采用RLE4,和RLE8的压缩格式,但用的不多。我们今后所讨论的只有第一种不压缩的情况,即biCompression为BI_RGB的情况。biSizeImage指定实际的位图数据占用的字节数,其实也可以从以下的公式中计算出来:biSizeImage=biWidth biHeight要注意的是:上述公式中的biWidth

6、必须是4的整倍数(所以不是biWidth,而是biWidth,表示大于或等于biWidth的,最接近4的整倍数。举个例子,如果biWidth=240,则biWidth=240;如果biWidth=241,biWidth=244)。如果biCompression为BI_RGB,则该项可能为零biXPelsPerMeter指定目标设备的水平分辨率,单位是每米的象素个数。biYPelsPerMeter指定目标设备的垂直分辨率,单位同上。biClrUsed指定本图像实际用到的颜色数,如果该值为零,则用到的颜色数为2biBitCount。biClrImportant指定本图像中重要的颜色数,如果该值为零

7、,则认为所有的颜色都是重要的。第三部分为调色板Palette,当然,这里是对那些需要调色板的位图文件而言的。有些位图,如真彩色图,前面已经讲过,是不需要调色板的,BITMAPINFOHEADER后直接是位图数据。调色板实际上是一个数组,共有biClrUsed个元素(如果该值为零,则有2biBitCount个元素)。数组中每个元素的类型是一个RGBQUAD结构,占4个字节,其定义如下:typedef struct tagRGBQUAD BYTE rgbBlue; /该颜色的蓝色分量BYTE rgbGreen; /该颜色的绿色分量BYTE rgbRed; /该颜色的红色分量BYTE rgbRese

8、rved; /保留值 RGBQUAD; 第四部分就是实际的图像数据了。对于用到调色板的位图,图像数据就是该象素颜在调色板中的索引值。对于真彩色图,图像数据就是实际的R、G、B值。下面针对2色、16色、256色位图和真彩色位图分别介绍。对于2色位图,用1位就可以表示该象素的颜色(一般0表示黑,1表示白),所以一个字节可以表示8个象素。对于16色位图,用4位可以表示一个象素的颜色,所以一个字节可以表示2个象素。对于256色位图,一个字节刚好可以表示1个象素。对于真彩色图,三个字节才能表示1个象素,哇,好费空间呀!没办法,谁叫你想让图的颜色显得更亮丽呢,有得必有失嘛。要注意两点:(1) 每一行的字节

9、数必须是4的整倍数,如果不是,则需要补齐。这在前面介绍biSizeImage时已经提到了。(2) 一般来说,.bMP文件的数据从下到上,从左到右的。也就是说,从文件中最先读到的是图像最下面一行的左边第一个象素,然后是左边第二个象素接下来是倒数第二行左边第一个象素,左边第二个象素依次类推 ,最后得到的是最上面一行的最右一个象素。以上是bmp文件的存储结构,在matlab中我们只需要用imread()函数就可以读取图像文件,操作十分方便,调用该函数可以把图像数据读到矩阵中。三、实验题目1. 调用imread()函数读取图像并显示出来;2. 调用rgb2gray()把图像转化成灰度图像并显示;3.

10、不调用matlab函数,用另外一种方法把图像转化为灰度图像并显示4. 调用imfinfo()可以查看jpg文件头信息。四、实验要求1. 列出本实验用到的matlab函数的调用方式及其功能;2. 详细给出每个实验题目对应的matlab代码;3. 如果有结果图,将程序运行的结果图粘贴到程序之后;4. 简要回答实验的思考题五、思考题1. 程序中读取的是jpg图像,当读取的是bmp图像时Infor显示的什么?2. 如果读取的不是24位彩色图而是灰度图时,又会有什么效果?实验二、图像处理中常用技术一、实验目的了解图像处理中的常用技术如旋转,傅立叶变换(二维),滤波,去噪等概念。二、实验原理应用傅立叶变换

11、进行图像处理:傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。1傅立叶(Fourier)变换的定义对于二维信号,二维Fourier变换定义为:逆变换:二维离散傅立叶变换为:逆变换为:图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。三、实验题目

12、1. 调用imrotate()使图像旋转5度,30度,90度,分别显示旋转后剪切和不剪切的图像。并比较旋转时,不同插值算法对旋转后图像的影响。2. 调用imresize()命令改变图像的大小,(1)变为原图的60%,(2)高和宽分别减少30%和20%3. 利用imnoise()给图像加入噪声,然后调用wiener2()命令进行维纳滤波4. 利用MATLAB软件实现数字图像傅立叶变换四、实验要求1. 列出本实验用到的matlab函数的调用方式及其功能;2. 详细给出每个实验题目对应的matlab代码;3. 如果有结果图,将程序运行的结果图粘贴到程序之后;4. 简要回答实验的思考题五、思考题1傅里

13、叶变换有哪些重要的性质?2图像的二维频谱在显示和处理时应注意什么?3旋转图像时第三个参数是什么含义?4二维滤波与一维滤波有什么不同实验三、图像处理中的小波与小波变换一、实验目的熟悉小波变换的概念和原理,熟悉matlab小波工具箱主要函数的使用。利用二维小波分析对一幅图像作2层小波分解,并在此基础上提取各层的低频信息实现图像的压缩。二、实验原理小波分析是目前数学中一个迅速发展的新领网域,它同时具有理论深刻和应用十分广泛的双重意义。 小波变换的概念是由法国从事石油信号处理的工程师J.Morlet在1974年首先提出的,通过物理的直观和信号处理的实际需要经验的建立了反演公式,当时未能得到数学家的认可

14、。正如1807年法国的热学工程师J.B.J.Fourier提出任一函数都能展开成三角函数的无穷级数的创新概念未能得到名数学家J.L.Lagrange,P.S.Laplace以及A.M.Legendre的认可一样。幸运的是,早在七十年代,A.Calderon表示定理的发现、Hardy空间的原子分解和无条件基的深入研究为小波变换的诞生做了理论上的准备,而且J.O.Stromberg还构造了历史上非常类似於现在的小波基;1986年知名数学家Y.Meyer偶然构造出一个真正的小波基,并与S.Mallat合作建立了构造小波基的同意方法多尺度分析之后,小波分析才开始蓬勃发展起来,其中比利时女数学家I.Da

15、ubechies撰写的小波十讲(Ten Lectures on Wavelets)对小波的普及起了重要的推动作用。它与Fourier变换、视窗Fourier变换(Gabor变换)相比,这是一个时间和频率的局网域变换,因而能有效的从信号中提取资讯,通过伸缩和平移等运算功能对函数或信号进行多尺度细化分析(Multiscale Analysis),解决了Fourier变换不能解决的许多困难问题,从而小波变化被誉为“数学显微镜”,它是调和分析发展史上里程碑式的进展。 小波分析的应用是与小波分析的理论研究紧密地结合在一起地。现在,它已经在科技资讯产业领网域取得了令人瞩目的成就。 电子资讯技术是六大高新技

16、术中重要的一个领网域,它的重要方面是影像和信号处理。现今,信号处理已经成为当代科学技术工作的重要部分,信号处理的目的就是:准确的分析、诊断、编码压缩和量化、快速传递或存储、精确地重构(或恢复)。从数学地角度来看,信号与影像处理可以统一看作是信号处理(影像可以看作是二维信号),在小波分析地许多分析的许多应用中,都可以归结为信号处理问题。现在,对於其性质随实践是稳定不变的信号,处理的理想工具仍然是傅立叶分析。但是在实际应用中的绝大多数信号是非稳定的,而特别适用於非稳定信号的工具就是小波分析。 事实上小波分析的应用领域十分广泛,它包括:数学领网域的许多学科;信号分析、影像处理;量子力学、理论物理;军

17、事电子对抗与武器的智能化;电脑分类与识别;音乐与语言的人工合成;医学成像与诊断;地震勘探数据处理;大型机械的故障诊断等方面;例如,在数学方面,它已用於数值分析、构造快速数值方法、曲线曲面构造、微分方程求解、控制论等。在信号分析方面的滤波、去噪声、压缩、传递等。在影像处理方面的影像压缩、分类、识别与诊断,去污等。在医学成像方面的减少B超、CT、核磁共振成像的时间,提高解析度等。 (1)小波分析用於信号与影像压缩是小波分析应用的一个重要方面。它的特点是压缩比高,压缩速度快,压缩后能保持信号与影像的特征不变,且在传递中可以抗干扰。基於小波分析的压缩方法很多,比较成功的有小波包最好基方法,小波网域纹理

18、模型方法,小波变换零树压缩,小波变换向量压缩等。 (2)小波在信号分析中的应用也十分广泛。它可以用於边界的处理与滤波、时频分析、信噪分离与提取弱信号、求分形指数、信号的识别与诊断以及多尺度边缘侦测等。 (3)在工程技术等方面的应用。包括电脑视觉、电脑图形学、曲线设计、湍流、远端宇宙的研究与生物医学方面。Matlab的小波分析工具箱如下图所示:图1.3 小波分析工具箱三、实验题目编程完成对数字图像的小波分解,分解级数和选用的小波基自定。四、实验要求1. 列出本实验用到的matlab函数的调用方式及其功能;2. 详细给出每个实验题目对应的matlab代码;3. 如果有结果图,将程序运行的结果图粘贴

19、到程序之后;4. 简要回答实验的思考题五、思考题1小波变换与傅立叶变换的相同点和不同点?2叙述小波变换在图像处理中的作用。 实验四、图像压缩一、实验目的1 理解有损压缩和无损压缩的概念;2 理解图像压缩的主要原则和目的;3 了解几种常用的图像压缩编码方式。4 利用MATLAB程序进行图像压缩。二、实验原理1.图像压缩原理图像压缩主要目的是为了节省存储空间,增加传输速度。图像压缩的理想标准是信息丢失最少,压缩比例最大。不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。压缩的实现方法是对图像重新进行编码,希望用更少

20、的数据表示图像。信息的冗余量有许多种,如空间冗余,时间冗余,结构冗余,知识冗余,视觉冗余等,数据压缩实质上是减少这些冗余量。高效编码的主要方法是尽可能去除图像中的冗余成分,从而以最小的码元包含最大的图像信息。编码压缩方法有许多种,从不同的角度出发有不同的分类方法,从信息论角度出发可分为两大类。(1)冗余度压缩方法,也称无损压缩、信息保持编码或嫡编码。具体说就是解码图像和压缩编码前的图像严格相同,没有失真,从数学上讲是一种可逆运算。(2)信息量压缩方法,也称有损压缩、失真度编码或烟压缩编码。也就是说解码图像和原始图像是有差别的,允许有一定的失真。应用在多媒体中的图像压缩编码方法,从压缩编码算法原

21、理上可以分为以下3类:(1)无损压缩编码种类哈夫曼(Huffman)编码,算术编码,行程(RLE)编码,Lempel zev编码。(2)有损压缩编码种类预测编码,DPCM,运动补偿;频率域方法:正交变换编码(如DCT),子带编码;空间域方法:统计分块编码;模型方法:分形编码,模型基编码;基于重要性:滤波,子采样,比特分配,向量量化;(3)混合编码。有JBIG,H261,JPEG,MPEG等技术标准。本实验主要利用MATLAB程序进行离散余弦变换(DCT)压缩和行程编码(Run Length Encoding, RLE)。1) 离散余弦变换(DCT)图像压缩原理离散余弦变换DCT在图像压缩中具有

22、广泛的应用,它是JPEG、MPEG等数据压缩标准的重要数学基础。 和相同图像质量的其他常用文件格式(如GIF(可交换的图像文件格式),TIFF(标签图像文件格式),PCX(图形文件格式)相比,JPEG是目前静态图像中压缩比最高的。JPEG比其他几种压缩比要高得多,而图像质量都差不多(JPEG处理的图像只有真彩图和灰度图)。正是由于其高压缩比,使得JPEG被广泛地应用于多媒体和网络程序中。JPEG有几种模式,其中最常用的是基于DCT变换的顺序型模式,又称为基本系统(Baseline)。 用DCT压缩图像的过程为: (1)首先将输入图像分解为88或1616的块,然后对每个子块进行二维DCT变换。

23、(2)将变换后得到的量化的DCT系数进行编码和传送,形成压缩后的图像格式。用DCT解压的过程为: (1)对每个88或1616块进行二维DCT反变换。 (2)将反变换的矩阵的块合成一个单一的图像。 余弦变换具有把高度相关数据能量集中的趋势,DCT变换后矩阵的能量集中在矩阵的左上角,右下的大多数的DCT系数值非常接近于0。对于通常的图像来说,舍弃这些接近于0的DCT的系数值,并不会对重构图像的画面质量带来显著的下降。所以,利用DCT变换进行图像压缩可以节约大量的存储空间。压缩应该在最合理地近似原图像的情况下使用最少的系数。使用系数的多少也决定了压缩比的大小。在压缩过程的第2步中,可以合理地舍弃一些

24、系数,从而得到压缩的目的。在压缩过程的第2步,还可以采用RLE和Huffman编码来进一步压缩。2)行程编码(RLE)原理:例如如下这幅 的二值图像,如果采用行程编码可以按如下格式保存其中10和8表示图像的宽和高。在这个小例子中行程编码并没有起到压缩图像的作用。这是由于这个图的尺寸过小,当图像尺寸较大时行程编码还是不错的无损压缩方法。对于灰度图像和二值图像,用行程编码般都有很高的压缩率。行程编码方法实现起来很容易,对于具有长重复值的串的压缩编码很有效,例如:对于有大面积的阴影或颜色相同的图像,使用这种方法压缩效果很好。很多位图文件格式都采用行程编码,如TIFF,PCX,GEM,BMP等。三、实

25、验题目1) 利用DCT变换对图像进行dct变换,对比原始图像和dct反变换后图像的差异2)利用离散余弦变换进行JPEG图像压缩3)利用行程编码(RLE)对checkerboard 图像进行图像压缩四、1. 列出本实验用到的matlab函数的调用方式及其功能;2. 详细给出每个实验题目对应的matlab代码;3. 如果有结果图,将程序运行的结果图粘贴到程序之后;4. 简要回答实验的思考题五、思考题1图像中哪些信息是主要的,哪些信息是次要的?2简述离散余弦变换(DCT)和行程编码(RLE)的原理。 实验五、话音编码一、实验目的了解常用话音编码的方法如PCM,DPCM,ADPCM的原理,会用matl

26、ab中的simulink模块进行系统仿真。二、实验原理差分脉冲编码调制DPCM(differential pulse code modulation)是利用样本与样本之间存在的信息冗余度来进行编码的一种数据压缩技术。差分脉冲编码调制的思想是,根据过去的样本去估算(estimate)下一个样本信号的幅度大小,这个值称为预测值,然后对实际信号值与预测值之差进行量化编码,从而就减少了表示每个样本信号的位数。它与脉冲编码调制(PCM)不同的是,PCM是直接对采样信号进行量化编码,而DPCM是对实际信号值与预测值之差进行量化编码,存储或者传送的是差值而不是幅度绝对值,这就降低了传送或存储的数据量。此外,

27、它还能适应大范围变化的输入信号。差分脉冲编码调制的概念示于图1.4。图中,差分信号d(k)是离散输入信号s(k)和预测器输出的估算值se(k-1)之差。注意,se(k-1)是对s(k)的预测值,而不是过去样本的实际值。DPCM系统实际上就是对这个差值d(k)进行量化编码,用来补偿过去编码中产生的量化误差。DPCM系统是一个负反馈系统,采用这种结构可以避免量化误差的积累。重构信号sr(k)是由逆量化器产生的量化差分信号dq(k),与对过去样本信号的估算值se(k-1)求和得到。它们的和,即sr(k)作为预测器确定下一个信号估算值的输入信号。由于在发送端和接收se(k-1)端都使用相同的逆量化器和

28、预测器,所以接收端的重构信号sr(k)可从传送信号I(k)获得。 图1.4 DPCM方块图 自适应差分脉冲编码调制(ADPCM) ADPCM(adaptive difference pulse code modulation)综合了APCM的自适应特性和DPCM系统的差分特性,是一种性能比较好的波形编码。它的核心想法是:利用自适应的思想改变量化阶的大小,即使用小的量化阶(step-size)去编码小的差值,使用大的量化阶去编码大的差值,使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小。它的编码简化框图如图1.5所示。接收端的译码器使用与发送端相同的算法,利用传送来的信号来确定量化器和逆量化器中的量化阶大小,并且用它来预测下一个接收信号的预测值。 图1.5 ADPCM方块图 ADPCM编译码器 ADPCM是利用样本与样本之间的高度相关性和量化阶自适应来压缩数据的一种波形编码技术,CCITT为此制定了G.721推荐标准,这个标准叫做32 kb/s自适应差分脉冲编码调制32 kb/s Adaptive Differential Pulse Code Modulation7。在此基础上还制定了G.721的扩充推荐标准,即G.723 Extension of Recommendation G.721

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论