多媒體實驗報告模板
篇一:多媒體實驗報告
本科實驗報告
課程名稱:
實驗地點:
專業班級: 學號:
學生姓名:
指導教師:
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來實現。
三、 實驗內容
設計一個程序,有界面,可以調用攝像頭進行視頻捕捉并保存成文件?梢赃M行開始暫停?梢赃M行捕捉每一幀的畫面并通過畫圖文件保存。
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 中加入以下內容:
。nclude < vfw.h >
。ragma 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