多媒體實驗報告模板
篇一:多媒體實驗報告
本科實驗報告
課程名稱:
實驗地點:
專業(yè)班級: 學(xué)號:
學(xué)生姓名:
指導(dǎo)教師:
20xx年12月6日
太原理工大學(xué)學(xué)生實驗報告
太原理工大學(xué)學(xué)生實驗報告
篇二:《多媒體:概念與方法》實驗報告模板-實驗5
天津理工大學(xué)實驗報告
學(xué)院(系)名稱:計算機與通信工程學(xué)院
三、系統(tǒng)設(shè)計與開發(fā)步驟
1、多媒體應(yīng)用系統(tǒng)主題:[比如,世界杯足球比賽]
2、知識結(jié)構(gòu):[主要介紹所選主題展示的內(nèi)容,可用圖表說明] 3、主要界面的設(shè)計:[用Visio繪制主要界面的設(shè)計簡圖] 4、開發(fā)工具:[素材處理工具、多媒體創(chuàng)作工具]
5、主要開發(fā)步驟:[如前面的4個實驗一樣,寫出主要的操作步驟] (1)素材采集與處理
(2)多媒體應(yīng)用系統(tǒng)開發(fā) (重點寫此內(nèi)容) 知識結(jié)構(gòu)
設(shè)計界面
? 素材
? 建立空白文
檔
? 菜單欄中選擇Modify—File—Properties,設(shè)置窗口屬性及作品名稱
? 加入背景
? 制作交互按鈕 ,
? 利用畫圖 定做 按鈕
? 按鈕制作
(1)雙擊按鈕,點Cursor改變響應(yīng)的鼠標(biāo)按鈕。
篇三:多媒體技術(shù)實驗報告一
多媒體技術(shù)實驗報告一
一、 實驗題目和目的
攝像頭捕捉視頻和靜止圖像
實驗?zāi)康模菏煜ず驼莆帐褂肳indows API 進(jìn)行編程的基本原理和方法。熟悉各種不同的視頻文件格式。
二、 實驗要求
基本要求:利用windows api實現(xiàn)簡單的視頻捕捉功能 Bonus:連續(xù)捕捉靜止圖像
提示:使用winxp版本可以考慮采用vfw(video for windows)來實現(xiàn),使用win7版本可以考慮采用directshow來實現(xiàn),使用win8版本可以考慮采用Media Foundation或directshow來實現(xiàn)。
三、 實驗內(nèi)容
設(shè)計一個程序,有界面,可以調(diào)用攝像頭進(jìn)行視頻捕捉并保存成文件?梢赃M(jìn)行開始暫停?梢赃M(jìn)行捕捉每一幀的畫面并通過畫圖文件保存。
1、創(chuàng)建一個基于對話框的工程,如VideoPlay。
2、在對話框上添加相應(yīng)的按鈕,實現(xiàn)如動態(tài)捕捉、播放、連續(xù)捕捉等項功能。可考慮添加滑動條(slider 控件)用來反映目前的播放位置,等等。
3、為各個按鈕添加相應(yīng)的函數(shù)。
4、調(diào)試,運行。
四、 實驗平臺
實驗硬件:個人PC機,攝像頭
實驗軟件:VS2013,攝像頭驅(qū)動程序,VFW開發(fā)包 實驗平臺:windows
五、 實驗原理
Video for Windows 是WIN32 SDK 中多媒體編程SDK 的視頻開發(fā)工具。在微軟的Visual C++中提供了Video for Windows 的頭文件vfw.h 和庫文件vfw32.lib。
六、 實驗過程
1、用Visual C ++的AppWizard 生成一個基于對話框的應(yīng)用程序,并在StdAfx.h 中加入以下內(nèi)容:
。nclude < vfw.h >
。ragma comment(lib,"vfw32.lib")
2、修改對話框資源,添加靜態(tài)控制IDC_VIDEO 和按鈕“捕捉”、“停止”、“設(shè)置格式”、“設(shè)置圖像源”、“設(shè)置壓縮”、“單幀捕獲”、“定幀”、“退出”。(其實最重要的是“設(shè)置格式”、“設(shè)置圖像源”、“設(shè)置壓
縮”、“單幀捕獲”、“退出”,其它可以將其設(shè)置成
不可見,同時也可將其保留,以便將來擴展其功能時可用。)
3、在對話框的頭文件中加入以下說明。
HWND m_hCapWnd;// 預(yù)示窗口
BOOL m_bInit;// 捕捉器初始化
CAPDRIVERCAPS m_CapDrvCap;// CAPDRIVERCAPS 結(jié)構(gòu),定義驅(qū)動器性能 CAPSTATUS m_CapStatus;// CAPSTATUS 結(jié)構(gòu),定義捕捉窗口當(dāng)前狀態(tài) CAPTUREPARMS m_Parms;// CAPTURE PARMS 結(jié)構(gòu),定義捕捉參數(shù) CString m_CapFileName;// 捕捉文件名稱
4、在對話框類的OnInitDialog() 函數(shù)中加入捕捉器初始化以及連接驅(qū)動器。
m_bInit=FALSE;
CWnd *pWnd=AfxGetMainWnd() ->GetDlgItem(IDC_VIDEO); // 得到預(yù)示窗口指針
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); // 設(shè)置預(yù)示窗口
ASSERT(m_hCapWnd);
if(capDriverConnect(m_hCapWnd,0)){// 連接第0 號驅(qū)動器
m_bInit=TRUE;
// 得到驅(qū)動器的性能
capDriverGetCaps(m_hCapWnd,sizeof(CAPDRIVERCAPS), &
m_CapDrvCap);
if(m_CapDrvCap.fCaptureInitialized){
// 如果初始化成功
capGetStatus(m_hCapWnd, &m_CapStatus,sizeof(m_CapStatus)); // 得到驅(qū)動器狀態(tài)
capPreviewRate(m_hCapWnd,30); // 設(shè)置預(yù)示幀頻
capPreview(m_hCapWnd,TRUE); // 設(shè)置預(yù)示方式
}
else{// 初始化未成功
AfxMessageBox("視頻捕捉卡初始化失敗!");
AfxGetMainWnd() ->PostMessage (WM_CLOSE);
}
}
else{// 未能連接到驅(qū)動器
AfxMessageBox("與視頻捕捉卡連接失敗!");
AfxGetMainWnd() ->PostMessage(WM_CLOSE);
}
m_CapFileName="c:Capture.avi";// 設(shè)置捕獲文件
capFileSetCaptureFile(m_hCapWnd,m_CapFileName.GetBuffer(255));
5、在對話框類中加入響應(yīng)“設(shè)置格式”消息的函數(shù)OnFormat()。 capDlgVideoFormat(m_hCapWnd);// 設(shè)置格式對話框
6、在對話框類中加入響應(yīng)“設(shè)置圖像源”消息的函數(shù)OnSource()。 capDlgVideoSource(m_hCapWnd);// 設(shè)置圖像源對話框
7、在對話框類中加入響應(yīng)“設(shè)置壓縮”消息的函數(shù)OnCompress()。 capDlgVideoCompression(m_hCapWnd);// 設(shè)置壓縮對話框
8、在對話框類中加入響應(yīng)“捕捉”消息的函數(shù)OnCapture()。
capCaptureGetSetup(m_hCapWnd, &m_Parms,sizeof(m_Parms));// 得到設(shè)置參數(shù)
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、在對話框類中加入響應(yīng)“定幀”消息的函數(shù)OnFreezed()。 capPreview(m_hCapWnd,FALSE);// 定幀
10、在對話框類中加入響應(yīng)“單幀捕獲”消息的函數(shù)OnImage()。 capGrabFrameNoStop(m_hCapWnd);// 截獲當(dāng)前圖像
capEditCopy(m_hCapWnd);// 將圖像拷貝到剪貼板
11、在對話框類中加入響應(yīng)“停止”消息的函數(shù)OnStop()。
capCaptureStop(m_hCapWnd);// 停止捕捉
12、在對話框類中加入響應(yīng)“退出”消息的函數(shù)OnExit()退出前斷開捕捉器與驅(qū)動器的連接,并關(guān)閉窗
口。
capDriverDisconnect(m_hCapWnd);
CDialog::OnCancel();
附加說明:以上添加的按鈕用于捕捉圖像(button);
另外添加(Static Text)用于創(chuàng)建并設(shè)置捕獲窗口;
保存圖像的方法:點擊“單幀捕獲”——>打開附近里的“畫
圖”——>“編輯”中的“粘貼”——>即可保存
捕捉的位圖。
以上方法主要是采用了VFW 的函數(shù)和宏,也可以嘗試用消息的方法,同樣也可以實現(xiàn)。
如:SendMessage (hWndC, WM_CAP_DRIVER_CONNECT, 0, 0L);//用于連接設(shè)備
要做的就是根據(jù)相關(guān)的功能改變相應(yīng)的參數(shù)就可以了
七、 實驗結(jié)果
八、 實驗總結(jié)
【多媒體實驗報告】相關(guān)文章:
多媒體情景下的法學(xué)診所教育的實驗報告匯報07-03
關(guān)于實驗報告01-27
化學(xué)實驗報告01-28
電路實驗報告11-09
生物實驗報告08-13
科技實驗報告05-26
化學(xué)實驗報告07-03
實驗報告總結(jié)02-14