《多媒体技术》作业汇总.docx

上传人:b****3 文档编号:4312109 上传时间:2022-11-29 格式:DOCX 页数:17 大小:403.19KB
下载 相关 举报
《多媒体技术》作业汇总.docx_第1页
第1页 / 共17页
《多媒体技术》作业汇总.docx_第2页
第2页 / 共17页
《多媒体技术》作业汇总.docx_第3页
第3页 / 共17页
《多媒体技术》作业汇总.docx_第4页
第4页 / 共17页
《多媒体技术》作业汇总.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

《多媒体技术》作业汇总.docx

《《多媒体技术》作业汇总.docx》由会员分享,可在线阅读,更多相关《《多媒体技术》作业汇总.docx(17页珍藏版)》请在冰豆网上搜索。

《多媒体技术》作业汇总.docx

《多媒体技术》作业汇总

部分《多媒体技术》软件实验

共同的基本实验条件:

多媒体PC机、Windows操作系统、VisualC++(MFC)

1.(必做平时作业)Wave

(1)实验名称:

波形音频文件的读显和播放。

(2)实验背景:

音频是一类重要的媒体,WAV文件是PC机的常用波形(Wave)音频格式,是Windows的多媒体文件格式RIFF中的一种,WAV文件中的音频数据一般未压缩,可(不需解码)直接由声卡和音频芯片播放。

(3)实验目的:

掌握波形音频信号的数字化结果和参数,熟悉WAV文件格式,掌握数据预处理和曲线绘制方法,了解波形曲线和声音的关系,学习多媒体编程准备(包含多媒体头文件并添加多媒体库文件)和波形文件的播放方法。

(4)实验内容:

播放WAV文件,读入WAV文件中的参数和音频数据,在程序窗口的客户区绘制波形音频数据曲线。

(5)实验步骤:

创建一个名为Wave的单文档MFC应用程序,利用“文件”菜单中的“打开”菜单项弹出的“打开”对话框获取用户选择的WAV文件的完整路径名串,在文档类的序列化函数中利用PlaySound函数播放该波形文件(需包含多媒体头文件mmsystem.h并为项目添加多媒体库文件winmm.lib)、读入此WAV文件中的参数和音频数据,在视图类的OnDraw函数中利用保存在文档类的公共变量中的音频参数和(单/双声道)波形数据绘制(一/两条)音频波形曲线,参见下图:

单声道波形音频数据的Wave程序

双声道波形音频数据的Wave程序

建议:

●对不同位数的整数样本值,可以先在文档类中归一化到[-1,1]区间的浮点数后,再在视图类中统一显示。

●对大波形文件,当样本个数大于客户区宽度的4倍时(经验值,你也可以取3倍、5倍、或6倍等等),可以改为逐像素点画垂直的直线段,该线段两端点的y值等于该像素所对应的样本值序列的最大/小值。

(6)其他实验条件:

WAV文件的基本格式、若干WAV文件。

2.(选做平时作业)Pallette

(1)实验名称:

实现调色板对话框。

(2)实验背景:

图形绘制和图像处理都需要选择颜色,屏幕显示颜色一般用RGB模型,而人类则一般习惯使用HSL模型,需要进行相互转换。

(3)实验目的:

熟悉颜色的特性和常用模型,掌握RGB和HSL模型间的相互转换算法,学习对话框中的鼠标和键盘消息响应、在控件上绘图、文本编辑框的改变消息和焦点消息的响应。

(4)实验内容:

编程实现交互式调色板对话框,包含色调-饱和度块、亮度条和选中色块,HSL和RGB编辑框,可用鼠标选择颜色、在各编辑框中修改颜色分量值、并进行HSL和RGB间的实时动态模型转换,参见下图:

调色板程序

(5)实验步骤:

创建一个基于对话框的MFC应用程序,添加三个图片控件、六个编辑控件和若干静态文本控件。

在对话框初始化时逐像素绘制色调-饱和度块、逐线绘制亮度条、绘制选中色块矩形、(利用异或方法)绘制表示当前颜色值位置的十字线和直线段。

响应色调-饱和度块和亮度条上的鼠标单击和拖动消息,重新绘制亮度条及表示当前颜色值位置的十字线和直线段,修改编辑框中的HSL值,进行HSL到RGB的转换,根据此转换的结果修改编辑框中RGB的值,利用新的RGB值重新绘制选中色块。

响应有输入焦点的文本编辑框的改变消息,根据HSL或RGB编辑框中的新值,进行HSL到RGB或RGB到HSL的转换,利用转换结果修改RGB或HSL编辑框中的值。

用新的HSL值,重新绘制亮度条及表示当前颜色值位置的十字线和直线段,用新的RGB值重新绘制选中色块。

(6)其他实验条件:

无。

3.(必做平时作业)BMP

(1)实验名称:

读取和解码BMP文件,逐点显示并灰度转换。

(2)实验背景:

BMP(Bitmap,位图)是Windows平台的基本图像格式,支持各种颜色位数的图像,一般不压缩,可以直接用于显卡或GPU的显示。

对4位和8位颜色BMP文件,可以还采用RLE(游程编码)进行压缩。

有时需要将彩色图像转换为灰度图。

(3)实验目的:

熟悉BMP文件格式,了解基本图像参数,掌握RLE压缩算法和彩色转灰度算法,复习像素绘制函数。

(4)实验内容:

直接读取(各种颜色位数的)BMP文件中的图像参数和二进制数据,必要时进行RLE解码,逐像素绘制图像数据。

并利用公式:

Y=0.299R+0.587G+0.114B,将8位彩图和真彩图转换为灰度图,然后逐像素显示。

(5)实验步骤:

创建一个单文档MFC应用程序,利用“文件”菜单中的“打开”菜单项弹出的“打开”对话框获取用户选择的BMP文件的完整路径名串,在文档类的序列化函数中读入此BMP文件中的图像参数和数据,如果含RLE压缩编码则进行解码,利用读入的调色板参数获取图像的RGB数据。

在视图类的OnDraw函数中利用保存在文档类的公共变量中的图像参数和数据,使用CDC类的SetPixl函数逐像素绘制图像。

在用户选择灰度转换时,利用公式:

Y=0.299R+0.587G+0.114B,将8位彩图和真彩图转换为灰度图,然后再逐像素显示它。

(6)其他实验条件:

BMP文件格式,若干BMP文件。

4.(选做平时作业)GIF

(1)实验名称:

读显GIF文件。

(2)实验背景:

GIF(可交换图形格式)是最常用的图像文件格式之一,采用了无损的LZW字典编码压缩算法。

(3)实验目的:

熟悉GIF文件格式,掌握LZW压缩算法。

(4)实验内容:

读入(含单个图片的)GIF文件,实现LZW解码,在程序窗口的客户区显示图片。

(5)实验步骤:

创建一个单文档MFC应用程序,利用“文件”菜单中的“打开”菜单项弹出的“打开”对话框获取用户选择的GIF文件的完整路径名串,在文档类的序列化函数中读入此GIF文件中的图像参数和数据,实现LZW解码算法,利用读入的调色板参数获取图像的RGB数据。

在视图类的OnDraw函数中利用保存在文档类的公共变量中的图像参数和数据,使用CDC类的SetPixl函数逐像素绘制图像。

(6)其他实验条件:

GIF文件格式,若干GIF文件。

5.(大作业选题)PNG

(1)实验名称:

读显PNG文件。

(2)实验背景:

PNG(可移植网络图形)是W3C(万维网协会)于1996年10月制定的一种采用无损压缩的图像文件格式,在万维网上的使用越来越广泛。

PNG格式支持多达16位的灰度图和48位的真彩图,并且还可支持多达16位的α通道数据。

PNG既突破了GIF的8位颜色的限制,又规避了LZW算法的专利收费。

(3)实验目的:

熟悉PNG文件格式,掌握DEFLATE压缩算法。

(4)实验内容:

读入PNG文件,实现DEFLATE解码,在程序窗口的客户区显示图片。

(5)实验步骤:

创建一个单文档MFC应用程序,利用“文件”菜单中的“打开”菜单项弹出的“打开”对话框获取用户选择的PNG文件的完整路径名串,在文档类的序列化函数中读入此PNG文件中的图像参数和数据,实现DEFLATE解码算法。

在视图类的OnDraw函数中利用保存在文档类的公共变量中的图像参数和数据,使用CDC类的SetPixl函数逐像素绘制图像。

(6)其他实验条件:

PNG文件格式,若干PNG文件。

6.(必做平时作业)DCT

(1)实验名称:

实现JPEG中的DCT变换和量化算法。

(2)实验背景:

JPEG是最常用的有损图像压缩算法,而8×8的二维DCT(离散余弦变换)变换和量化又是该算法中的核心步骤。

(3)实验目的:

掌握8×8数据块的正反二维DCT变换、量化和逆量化的具体算法。

(4)实验内容:

逐个读入8×8(十六进制文本串格式的)亮度数据块,依次进行二维DCT变换、量化(采用标准亮度量化表)、逆量化和逆二维DCT变换。

输出原始数据、变换后的数据、量化表、量化后的数据、逆量化的数据和反变换的数据(格式参见下图)。

DCT和量化算法举例

(5)实验步骤:

创建一个VisualC++的Win32控制台应用程序,读入标准亮度量化表,逐个读入8×8亮度数据块,编码实现二维DCT变换、量化、逆量化和逆二维DCT变换。

输出8×8的原始数据块、变换后的数据块、量化表、量化后的数据块、逆量化的数据块和反变换的数据块。

(6)其他实验条件:

4个8×8的十六进制亮度值整数串块和标准亮度量化表:

989C96999CA1A1A6B2C9EAE4C9B8D3E2

9495959698A0A1A7B3CBE2EAD3CDE6E2

959491949DA3A9A6A7A9B7BCD4D8C0B2

8D928F948F8F8C87848392919DA29890

7F7C7B747273726F6F6B7A7F8B855D4E

5A616A5D58544D49515F6D7277675C54

6A72747374746F7072727F898D948B7E

777F8589879AA2A6AEAFBEC9CCC7A289

767A7C8791A3B3C3C3C0C5CFD5C79989

7F837F7E89969AA2A7A39C9EA6A28991

7A7F817F7F8C909099969290908C8C96

7F7B77777A818487908887817F8B989A

847E7C7674707274747074788CA29D94

85818788837C787C80858D99A0A1948D

88899296969A9D9D9C9EA1A1A19D8D94

94949CA1A5ABB2AEA6A5A5A6A1999695

4个8×8的亮度值块

1718244799999999

1821266699999999

2426569999999999

4766999999999999

9999999999999999

9999999999999999

9999999999999999

9999999999999999

标准亮度量化值

7.(大作业选题)JPEG

(1)实验名称:

读显JPEG文件。

(2)实验背景:

JPEG(联合图象专家组)是使用最广泛的有损图像压缩算法,是ISO/IEC和ITU于1992年推出的国际标准,支持8位灰度图和真彩图。

JFIF是JPEG文件格式(*.JPG)的事实标准。

(3)实验目的:

熟悉JFIF文件格式,掌握JPEG算法。

(4)实验内容:

读入JPG文件,实现JPEG解码,在程序窗口的客户区显示图片。

(5)实验步骤:

创建一个单文档MFC应用程序,利用“文件”菜单中的“打开”菜单项弹出的“打开”对话框获取用户选择的JPEG文件的完整路径名串,在文档类的序列化函数中读入此JPEG文件中的图像参数和数据,实现JPEG解码算法——熵解码(Huffman/LRE算法)、逆量化、IDCT、重构图像数据。

在视图类的OnDraw函数中利用保存在文档类的公共变量中的图像参数和数据,使用CDC类的SetPixl函数逐像素绘制图像。

(6)其他实验条件:

标准量化表、标准Huffman表、JFIF文件格式,若干JPG文件。

8.(大作业选题)ImgConvt

实现JPEG算法的编解码,读写并显示*.JPG文件及*.BMP和*.GIF文件,实现这几种文件格式的相互转换。

(1)实验名称:

常用图像文件的格式转换。

(2)实验背景:

在不同的系统平台和应用环境中,有时需要在不同的图像文件格式(如Windows中的BMP、万维网中的PNG、通用的JPEG和GIF等)之间进行相互转换。

(3)实验目的:

熟悉BMP、GIF、PNG和JPEG的文件格式,掌握RLE、LZW、DEFLATE和JPEG压缩算法的编解码。

(4)实验内容:

读入BMP、GIF、PNG或JPEG文件,解码并显示图像。

按用户要求转换(编码)成另一种图像格式保存。

(5)实验步骤:

创建一个多文档MFC应用程序,利用“文件”菜单中的“打开”菜单项弹出的“打开”对话框获取用户选择的图像文件的完整路径名串,在文档类的序列化函数中读入此文件中的图像参数和数据,实现对应的解码算法。

在视图类的OnDraw函数中利用保存在文档类的公共变量中的图像参数和数据,显示该图像。

响应用户的“文件”菜单中的“另存为”命令,进行对应格式的编码(转换),在文档类的序列化函数中将图像参数和数据写入指定文件。

(6)其他实验条件:

BMP、GIF、PNG和JFIF文件格式,若干BMP、GIF、PNG和JPG文件。

9.(必做平时作业)DukeAni

(1)实验名称:

实现公爵位图动画。

(2)实验背景:

动画(包括电影和电视)是一系列相关图片等时间间隔的连续显示,利用的是人类的“视觉滞留”原理和“心理认可”现象。

位图动画是动画的基础,公爵动画是Java的Logo。

(3)实验目的:

了解“视觉滞留”原理和“心理认可”现象,掌握位图组显示和计时器的设置与响应方法。

(4)实验内容:

按照用户设置的速度,循环播放公爵位图动画。

参见下图:

公爵位图动画程序

(5)实验步骤:

创建一个名为Duke的基于对话框的MFC应用程序,添加一个图片控件、一个静态文本控件和一个编辑控件、一个“播放/停止”按钮。

将公爵(Duke)动画所对应的10个256色(8位)BMP文件T1.BMP~T10.BMP(参见下图)添加到项目资源中。

T1.BMPT2.BMPT3.BMPT4.BMPT5.BMP

T6.BMPT7.BMPT8.BMPT9.BMPT10.BMP

公爵位图资源系列图片

将T1.BMP设置为图片控件的初始图片(参见下图)。

在对话框初始化时,创建CImageList对象,加入公爵系列位图。

在用户按“播放”按钮时,读取编辑控件中的整数,利用计算的参数和SetTimer函数,启动计时器,修改按钮标题串为“停止”。

在计时器响应函数OnTimer中,利用CImageList的Draw函数显示当前图片,当前图片的序号加1并余10(循环)。

在用户按“停止”按钮时,利用KillTimer函数停止计时器,修改按钮标题串为“播放”。

公爵位图动画对话框资源

(6)其他实验条件:

公爵动画的10个BMP文件。

10.(必做平时作业)OpenGL

(1)实验名称:

OpenGL图形动画基础。

(2)实验背景:

OpenGL是二/三维图形动画API的国际标准,支持各种系统平台,在大型专业级的设计、动画和游戏等软件中使用广泛。

Direct3D和Java3D都源自OpenGL。

(3)实验目的:

了解OpenGL的特点、工作原理和过程,掌握OpenGL的形体构造和图形绘制方法。

通过动态修改观察点的位置,实现旋转物体和调整物体大小的(动画)目的。

(4)实验内容:

绘制自定义正方形并进行矩阵变换,绘制自定义球面和辅助库中的各种曲面(如网面茶壶),动态改变观察位置。

(5)实验步骤:

创建一个单文档MFC应用程序,为项目添加OpenGL库文件(opengl32.lib、glu32.lib、glaux.lib),在视图类中包含OpenGL的头文件(gl/gl.h、gl/glu.h、gl/glaux.h),在窗口创建函数进行必要的初始化,在OnDraw函数中绘制各种OpenGL图形。

添加键盘与鼠标响应,动态修改观察点的位置,实现旋转物体和改变大小的动画。

(6)其他实验条件:

对有些VisualStudio版本,须要自己下载和安装辅助库及其头文件(glaux.lib和glaux.h)。

11.(必做平时作业)Direct3D

(1)实验名称:

用Direct3D实现旋转圆筒。

(2)实验背景:

Direct3D是DirectX的主体部分,是Windows平台上游戏和动画的主要开发接口与工具。

(3)实验目的:

了解Direct3D的图形流水线和设备,掌握Direct3D的基本编程过程及光照材质与纹理的基本使用方法。

(4)实验内容:

初始化Direct3D、创建Direct3D对象和设备、构造圆柱面几何对象,在计时器响应中进行动态旋转变换,设置光照材质或纹理,绘制圆筒,实现旋转圆筒动画。

(5)实验步骤:

下载和安装DirectXSDK,创建一个单文档MFC应用程序,在视图类中包含多媒体和Direct3D头文件(mmsystem.h和d3dx9.h)。

在视图类的初始化更新函数中初始化Direct3D、创建Direct3D对象和设备、构造圆柱面几何对象、启动计时器。

在计时器响应函数中设置光照、材质与纹理,进行世界、观察和投影矩阵变换,包括动态旋转变换,渲染和显示场景,从而实现旋转圆筒动画。

(6)其他实验条件:

DirectXSDK9.0c以上版本。

12.(必做平时作业)MCI-AudioPlayer

(1)实验名称:

MCI音频播放器。

(2)实验背景:

MCI(媒体控制接口)是Windows控制多媒体设备的高层命令的传统接口,CD、WAV和MIDI是基本的音频类型。

(3)实验目的:

掌握MCI的命令串和命令消息方式,熟悉CD、WAV和MIDI设备的相关命令参数。

(4)实验内容:

使用MCI的命令串或命令消息方式,打开和播放CD、WAV和MIDI设备和文件,显示相关参数信息,交互控制各种音频媒体的播放。

(5)实验步骤:

创建一个基于对话框的MFC应用程序,添加若干按钮、单选钮、编辑控件和静态文本控件。

使用MCI的命令串或命令消息方式,打开指定的设备类型,显示相关参数息信。

响应用户操作,控制设备(媒体文件)的播放。

参加下图:

CD-DA播放器

(6)其他实验条件:

若干CD-DA光盘、WAV文件和MIDI文件。

13.(必做平时作业)MIDI-VirtualEleOrgan

(1)实验名称:

虚拟电子琴。

(2)实验背景:

MIDI(乐器数字接口)是电子乐器和计算机之间交换音乐信息所使用的一种标准协议,使用非常广泛。

PC机的音频芯片和声卡中含有支持MIDI的声音合成器,可用来模拟电子琴。

(3)实验目的:

掌握MMAPI(多媒体API)中的基本MIDI函数midiOutShortMsg,熟悉常用的MIDI消息参数——音符开(发出乐音)、音符关(停止乐音)和程序改变(选择音色/乐器种类),了解GM旋律乐器音色编号。

(4)实验内容:

利用PC机的键盘(鼠标)和音频芯片,编写利用MIDI接口来模拟电子琴的简单程序。

(5)实验步骤:

创建一个基于对话框的MFC应用程序,在项目属性中添加对多媒体库winmm.lib链接,在视图类中包含多媒体头文件mmsystem.h。

添加若干控件,用一排按钮表示电子琴的键盘、用列表框来选择乐器种类。

用主键盘上的数字键1~7表示中音1~7、在按1~7键的同时按住Shift键时播放高音

、在按1~7键的同时按住Ctrl键时播放低音

、在按1~7键的同时按住CapsLock键时播放超高音

、在按1~7键的同时按住左窗口键时播放超低音

在用户按下键盘上的数字键或用鼠标按下对应的对话框中按钮时,播放对应的乐音;在用户松开按键或按钮后停止乐音。

(6)其他实验条件:

GM旋律乐器音色编号表。

14.(必做平时作业)DirectSound-War

(1)实验名称:

战争音效。

(2)实验背景:

DirectSound是DirectX中的传统音频模块,是一种主要针对波形音频的高效底层接口。

(3)实验目的:

掌握DirectSound编程的具体步骤和方法,了解利用MMIO(多媒体文件IO)读取WAV文件和资源中的数据内容与参数信息的方法。

(4)实验内容:

用DirectSound控制和播放多种战争音效的波形文件,采用随机声道混音和立体音效,来模仿战场上枪林弹雨和爆炸声的音响效果。

在程序窗口的客户区输出字符串"闭上你的眼睛,聆听战争..."。

(5)实验步骤:

下载和安装DirectXSDK,创建一个单文档MFC应用程序,添加13个战争音效的WAV文件资源,包含多媒体头文件MMSystem.h和DirectSound的头文件DSound.h。

在窗口的创建函数中,初始化声音对象,其中用若干MMIO函数来获得波形音频的结构和波形数据的大小、将WAV文件或资源中的波形数据填入辅声音缓冲区。

在计时器消息响应函数中,随机播放各种战争音效的WAV资源。

并调节左右声道的相对音量,以产生声音移动的立体声效果。

对直升飞机的声音,采用循环播放,并不断调节左右声道的相对音量,还依据其离中心平衡点的远近,来设置主音量的大小,使越远声音越小。

在OnDraw函数中,设置42磅黑体字和红色文本颜色,输出字符串"闭上你的眼睛,聆听战争..."。

(6)其他实验条件:

DirectXSDK9.0c以上版本,13个基本战争音响波形文件——1种直升飞机声音、2种飞弹声、5种枪声、4种爆炸声、1种警报声。

15.(选做平时作业)AVI

(1)实验题目:

播放AVI文件。

(2)实验目标:

熟悉AVI(音视频交错)文件的基本格式,读取音视频参数和数据,同步播放音视频数据。

(3)实验要求:

编写MFC应用程序,实现无压缩AVI文件的手工解码和播放。

16.(大作业选题)MPEG-1

(1)实验题目:

播放MPEG-1和VCD文件。

(2)实验目标:

掌握MPEG(运动图象专家组)-1的音视频解码方法,了解常用的MPEG-1和VCD文件格式。

(3)实验要求:

编写MFC应用程序,实现MPEG-1或VCD的音视频解码和同步播放。

可以参考若干自由源代码。

17.(大作业选题)MP3

(1)实验题目:

播放MP3文件。

(2)实验目标:

掌握MP3(MPEG-1AudioLayerⅢ)音视频解码方法,了解MP3文件格式。

(3)实验要求:

编写MFC应用程序,实现MP3解码算法和音频播放。

可以参考若干自由源代码。

18.(大作业选题)MPEG-2

(1)实验题目:

播放MPEG-2和DVD文件。

(2)实验目标:

掌握MPEG-2的基本音视频解码方法,了解常用的MPEG-2和DVD文件格式。

(3)实验要求:

编写MFC应用程序,实现MPEG-2和DVD的音视频解码和同步播放。

可以参考若干自由源代码。

19.(大作业选题)H.264/AVC

(1)实验题目:

播放采用H.264/AVC编码的视频文件。

(2)实验目标:

掌握H.264/AVC(先进频编码)的基本视频解码方法,了解常用的H.264/AVC文件格式。

(3)实验要求:

编写MFC应用程序,实现H.264/AVC解码算法,播放视频数据。

可以参考若干自由源代码。

20.(大作业选题)AVS-P2

(1)实验题目:

播放采用AVS-P2编码的视频文件。

(2)实验目标:

掌握AVS-P2(音视频编码标准-第2部分)的基本视频解码方法,了解常用的AVS-P2文件格式。

(3)实验要求:

编写MFC应用程序,实现AVS-P2解码算法,播放视频

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

当前位置:首页 > 经管营销 > 经济市场

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

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