多媒体实验报告模板
篇一:多媒体实验报告
本科实验报告
课程名称:
实验地点:
专业班级: 学号:
学生姓名:
指导教师:
20xx年12月6日
太原理工大学学生实验报告
太原理工大学学生实验报告
篇二:《多媒体:概念与方法》实验报告模板-实验5
天津理工大学实验报告
学院(系)名称:计算机与通信工程学院
三、系统设计与开发步骤
1、多媒体应用系统主题:[比如,世界杯足球比赛]
2、知识结构:[主要介绍所选主题展示的内容,可用图表说明] 3、主要界面的设计:[用Visio绘制主要界面的设计简图] 4、开发工具:[素材处理工具、多媒体创作工具]
5、主要开发步骤:[如前面的4个实验一样,写出主要的操作步骤] (1)素材采集与处理
(2)多媒体应用系统开发 (重点写此内容) 知识结构
设计界面
? 素材
? 建立空白文
档
? 菜单栏中选择Modify—File—Properties,设置窗口属性及作品名称
? 加入背景
? 制作交互按钮 ,
? 利用画图 定做 按钮
? 按钮制作
(1)双击按钮,点Cursor改变响应的鼠标按钮。
篇三:多媒体技术实验报告一
多媒体技术实验报告一
一、 实验题目和目的
摄像头捕捉视频和静止图像
实验目的:熟悉和掌握使用Windows API 进行编程的基本原理和方法。熟悉各种不同的视频文件格式。
二、 实验要求
基本要求:利用windows api实现简单的视频捕捉功能 Bonus:连续捕捉静止图像
提示:使用winxp版本可以考虑采用vfw(video for windows)来实现,使用win7版本可以考虑采用directshow来实现,使用win8版本可以考虑采用Media Foundation或directshow来实现。
三、 实验内容
设计一个程序,有界面,可以调用摄像头进行视频捕捉并保存成文件。可以进行开始暂停。可以进行捕捉每一帧的画面并通过画图文件保存。
1、创建一个基于对话框的工程,如VideoPlay。
2、在对话框上添加相应的按钮,实现如动态捕捉、播放、连续捕捉等项功能。可考虑添加滑动条(slider 控件)用来反映目前的播放位置,等等。
3、为各个按钮添加相应的函数。
4、调试,运行。
四、 实验平台
实验硬件:个人PC机,摄像头
实验软件:VS2013,摄像头驱动程序,VFW开发包 实验平台:windows
五、 实验原理
Video for Windows 是WIN32 SDK 中多媒体编程SDK 的视频开发工具。在微软的Visual C++中提供了Video for Windows 的头文件vfw.h 和库文件vfw32.lib。
六、 实验过程
1、用Visual C ++的AppWizard 生成一个基于对话框的应用程序,并在StdAfx.h 中加入以下内容:
#include < vfw.h >
#pragma comment(lib,"vfw32.lib")
2、修改对话框资源,添加静态控制IDC_VIDEO 和按钮“捕捉”、“停止”、“设置格式”、“设置图像源”、“设置压缩”、“单帧捕获”、“定帧”、“退出”。(其实最重要的是“设置格式”、“设置图像源”、“设置压
缩”、“单帧捕获”、“退出”,其它可以将其设置成
不可见,同时也可将其保留,以便将来扩展其功能时可用。)
3、在对话框的头文件中加入以下说明。
HWND m_hCapWnd;// 预示窗口
BOOL m_bInit;// 捕捉器初始化
CAPDRIVERCAPS m_CapDrvCap;// CAPDRIVERCAPS 结构,定义驱动器性能 CAPSTATUS m_CapStatus;// CAPSTATUS 结构,定义捕捉窗口当前状态 CAPTUREPARMS m_Parms;// CAPTURE PARMS 结构,定义捕捉参数 CString m_CapFileName;// 捕捉文件名称
4、在对话框类的OnInitDialog() 函数中加入捕捉器初始化以及连接驱动器。
m_bInit=FALSE;
CWnd *pWnd=AfxGetMainWnd() ->GetDlgItem(IDC_VIDEO); // 得到预示窗口指针
CRect rect;
pWnd ->GetWindowRect( &rect); // 得到窗口大小
m_hCapWnd=capCreateCaptureWindow((LPTSTR)TEXT(" 视频捕捉测试程序 "),WS_CHILD|WS_VISIBLE|WS_EX_CLIENTEDGE|WS_EX_DLGMODALFRAME,0,0,rect.Width(),rect.Wid
th(),pWnd ->GetSafeHwnd(),0); // 设置预示窗口
ASSERT(m_hCapWnd);
if(capDriverConnect(m_hCapWnd,0)){// 连接第0 号驱动器
m_bInit=TRUE;
// 得到驱动器的性能
capDriverGetCaps(m_hCapWnd,sizeof(CAPDRIVERCAPS), &
m_CapDrvCap);
if(m_CapDrvCap.fCaptureInitialized){
// 如果初始化成功
capGetStatus(m_hCapWnd, &m_CapStatus,sizeof(m_CapStatus)); // 得到驱动器状态
capPreviewRate(m_hCapWnd,30); // 设置预示帧频
capPreview(m_hCapWnd,TRUE); // 设置预示方式
}
else{// 初始化未成功
AfxMessageBox("视频捕捉卡初始化失败!");
AfxGetMainWnd() ->PostMessage (WM_CLOSE);
}
}
else{// 未能连接到驱动器
AfxMessageBox("与视频捕捉卡连接失败!");
AfxGetMainWnd() ->PostMessage(WM_CLOSE);
}
m_CapFileName="c:Capture.avi";// 设置捕获文件
capFileSetCaptureFile(m_hCapWnd,m_CapFileName.GetBuffer(255));
5、在对话框类中加入响应“设置格式”消息的函数OnFormat()。 capDlgVideoFormat(m_hCapWnd);// 设置格式对话框
6、在对话框类中加入响应“设置图像源”消息的函数OnSource()。 capDlgVideoSource(m_hCapWnd);// 设置图像源对话框
7、在对话框类中加入响应“设置压缩”消息的函数OnCompress()。 capDlgVideoCompression(m_hCapWnd);// 设置压缩对话框
8、在对话框类中加入响应“捕捉”消息的函数OnCapture()。
capCaptureGetSetup(m_hCapWnd, &m_Parms,sizeof(m_Parms));// 得到设置参数
if(capCaptureSetSetup(m_hCapWnd,
&m_Parms,sizeof(m_Parms))==TRUE){
BOOL suc=TRUE;
suc=capCaptureSequence(m_hCapWnd); // 捕捉到文件
return suc};
else
return FALSE;
注意点:在VideoCaptureDlg.h 中把afx_msg void OnCapture();改为afx_msg BOOL OnCapture();
在VideoCaptureDlg.cpp 修改为BOOL CVideoCaptureDlg::OnCapture() //捕捉
9、在对话框类中加入响应“定帧”消息的函数OnFreezed()。 capPreview(m_hCapWnd,FALSE);// 定帧
10、在对话框类中加入响应“单帧捕获”消息的函数OnImage()。 capGrabFrameNoStop(m_hCapWnd);// 截获当前图像
capEditCopy(m_hCapWnd);// 将图像拷贝到剪贴板
11、在对话框类中加入响应“停止”消息的函数OnStop()。
capCaptureStop(m_hCapWnd);// 停止捕捉
12、在对话框类中加入响应“退出”消息的函数OnExit()退出前断开捕捉器与驱动器的连接,并关闭窗
口。
capDriverDisconnect(m_hCapWnd);
CDialog::OnCancel();
附加说明:以上添加的按钮用于捕捉图像(button);
另外添加(Static Text)用于创建并设置捕获窗口;
保存图像的方法:点击“单帧捕获”——>打开附近里的“画
图”——>“编辑”中的“粘贴”——>即可保存
捕捉的位图。
以上方法主要是采用了VFW 的函数和宏,也可以尝试用消息的方法,同样也可以实现。
如:SendMessage (hWndC, WM_CAP_DRIVER_CONNECT, 0, 0L);//用于连接设备
要做的就是根据相关的功能改变相应的参数就可以了
七、 实验结果
八、 实验总结
【多媒体实验报告】相关文章:
多媒体情景下的法学诊所教育的实验报告07-01
“多媒体情景下的法学诊所教育”实验报告07-11
多媒体情景下的法学诊所教育的实验报告汇报07-03
关于实验报告01-27
化学实验报告01-28
电路实验报告11-09
生物实验报告08-13
科技实验报告05-26
化学实验报告07-03
实验报告总结02-14